[Fedora-packaging] make URL tag mandatory

Till Maas opensource at till.name
Wed Aug 14 07:46:30 UTC 2013


On Wed, Aug 14, 2013 at 08:06:44AM +0200, Ralf Corsepius wrote:
> On 08/14/2013 07:40 AM, Till Maas wrote:
> >On Wed, Aug 14, 2013 at 05:42:29AM +0200, Ralf Corsepius wrote:
> >>On 08/13/2013 09:27 PM, Till Maas wrote:
> >>
> >>>My suggestion would be:
> >>>
> >>>- Packages must have a URL tag
> >>>- If possible, the URL should be valid
> >>>- If the package is completely created by Fedora, use
> >>>https://fedoraproject.org
> >>>- If there is no upstream web page, use the Source URL, or, if the web
> >>>   server allows directory listings, specify the directory of the Source
> >>>   URL
> >>>- If the original URL does not work, try an archive.org one and add a
> >>>   comment to the SPEC explaining when it was noticed that the URL does
> >>>   not work
> >>>- If archive.org does not work, use the last known URL and add a comment
> >>>
> >>>An additional hack would be to add an achor tag to URLs that are known
> >>>to not work anymore, such as the following:
> >>>
> >>>"http://example.com/#Fedora:+does+not+work,+no+new+URL+known"
> >>
> >>-1
> >>
> >>I don't see how the effect would be different from not having an URL
> >>tag, except that your proposal causes more bureaucracy.
> >
> >If I do "rpm -qi foo" on a package which this kind of URL it is directly
> >clear where the package came from and that it is not necessary to file a
> >bug about a bad URL. If the URL is missing, one would need to checkout
> >the SPEC and see which Sources are used and maybe file a bug report or
> >if the URL is there but broken, one might file an unnecessary bug
> >report. Therefore not having a URL tag leads to more work than just
> >adjusting the URL tag.
> 
> The effect of whether a package carries no URL:-tag or a
> "http:NoURL"-tag is equivalent.
> => Forcing packagers to use a "http:NoURL" to me qualifies as silly
> bureaucracy.

It is not the same. Say for example I want to find out what the upstream
for the locally installed package vte3 is. An easy way to do this would
be
rpm -qi vte3 | grep URL

but this does not give me any results. So what does this mean? Is the
upstream URL for vte3 dead? Is it an packager error? This cannot be
answered with the info from "rpm -qi". So now it becomes annoying and I
need to check out the sources.

$ dir=$(mktemp -d)
$ cd $dir
$ fedpkg clone -a vte3
$ cd vte3
$ grep Source vte3.spec
Source: http://download.gnome.org/sources/vte/0.34/vte-%{version}.tar.xz

Since gnome still exists and so does https://developer.gnome.org/vte/, I
see it is a packaging bug, but I still need to clean up:

$ cd 
$ rm -rf $dir

So there are at least six unnecessary steps required to find out whether
the missing URL tag is intentional or whether there is a packaging bug.
Therefore it is easier to just consider it always a packaging bug and
mark in the Tag if there is a URL known not to be working, because then
one might check whether the URL now works or at least knows that there
is no need to check for the sources and see if it is a packaging bug.

> Whether a package should carry a URL: pointing to fedoraproject.org
> or net is a completely independent question.
> Letting packages point to http://fedoraproject.org to me also is of
> very little practial use. If you want this to be of practical use,
> there should be a per-package URL, but ... this also means
> bureaucracy.

Pointing to Fedora makes it explicit that it is a package created by
Fedora and that all sources are only to be found in the packaging GIT.
However, also a wiki page explaining this can be used, but what
different content would you put in the per-package URL? If there is
something to write for each package, then it should be there of course.
But for my intentions to find out where a package comes from with "rpm
-qi", it is enough to know that it is created by Fedora and that the
packaging GIT is the source for it.

Regards
Till


More information about the packaging mailing list