On disttags (was: Choosing rpm-release for fc1 and fdr add-on rpms)

Ralf Corsepius rc040203 at freenet.de
Wed May 12 16:09:03 UTC 2004


On Wed, 2004-05-12 at 16:10, Michael Schwendt wrote:
> On Wed, 12 May 2004 15:44:53 +0200, Ralf Corsepius wrote:
> 
> > All I read on the "old Fedora Project" home page
> > (http://www.fedora.us/wiki/PackageNamingGuidelines) is:
> > ...
> > C-4. Dist tag
> > ...
> >   0.fdr.%{X}.%{disttag}
> > ...
> > 
> > AFAIS, this doesn't match with what Fedora.US currently ships: 
> 
> It does. 

Sorry, apparently I misread it.

> > It also does not seem to cover conventions on
> > * Replacement packages
> 
> Do you mean upgrades of what is included within Fedora Core?
Yes.

> Obviously, %release must be higher than the current %release of
> the package in Fedora Core,
Not necessarily - E.g. I might want to apply patches or configure a
package with different options etc.

> > * 3rd party add-on packages
> > both wrt. FedoraCore/RedHat and FedoraCore/RedHat+Fedora.US.
> > 
> > In my understanding, for replacement packages the "leading 0" must match
> > the FC/RH version the package is supposed to replace,
Yes.

> > while third party
> > packages are supposed to use a custom %{disttag}, while leaving the rest
> > of the Fedora.US release-tag intact.
Yes.

> That part I didn't understand. What is a "replacement package"?
Cf. above. I meant replacing a FC/RH or Fedora.US package with a 3rd
party or local package.

> > Let's try to apply the GuideLines to an example:
> > A package of mine requires perl-XML-LibXML-Common.
> > 
> > Neither Fedora Core 1 nor Fedora.US ship perl-XML-LibXML-Common, but
> > Fedora Core 2 has it. There is a package proposal pending for months in
> > Fedora.US's QA to add perl-XML-LibXML-Common to Fedora.US/FC1, but ATM
> > it is not available for FC1.

> Choose a %release lower than the current package in the queue and lower
> than the package in FC2:

That's not necessary:

# rpmver 0:0.13-0.fdr.5.ralf.1.1 0:0.13-5
0:0.13-5 is newer

=> FC1->FC2 upgrade will work.

# rpmver 0:0.13-0.fdr.5.ralf.1.1 0:0.13-0.fdr.5.1
0:0.13-0.fdr.5.1 is newer

=> An upgrade to a Fedora.US package will work.
 

>   perl-XML-LibXML-Common-0.13-0.fdr.4.ralf.1.1.rpm
> 
> Or choose the lowest %epoch:%version-%release possible. If you have doubts
> that 0.13-0 is enough, as a last resort you could even decrease %version
> to 0 and move the actual software version into the %release tag, e.g.
> perl-XML-LibXML-Common-0-0.13.1.ralf
This would contradict to the PackageGuideLines :)

> > * FC2 ships perl-XML-LibXML-Common-0.13-5.i386.rpm
> > * Thereofore I'd expect a potential FC1-Extras/Legacy package to be
> > named perl-XML-LibXML-Common-0.13-0.fdr.5.1.i386.rpm.
> > 
> > Now, which release-tag to use for my "temporary legacy package"?
> 
> Dist-tags are evil. Attempts at defining inter-repository release-tags
> fail miserably as soon as multiple versions/releases of a package
> exist and contain different %release tags.

This is only one side of the medal. On the other side dist-tags provide
a clean separation for 3rd party supplied packages and prevents users
from mixing up incompatible packages.

>  Even if you put "ralf"
> at the very right, it would be included in EVR comparison and win
> over tags like "fdr" or "lvn", but also over numerical ones.
>  
> > As it seems to me, the only functional solution for my purposes is:
> > perl-XML-LibXML-Commmon-0.13-0.fdr.5.<char><*>.1.rpm
> > 
> > For example:
> > perl-XML-LibXML-Common-0.13.0-0.fdr.5.ralf.1.1.rpm
> 
> Yes, just with 4, not 5.
Cf. above.

Ralf






More information about the fedora-devel-list mailing list