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

Ralf Corsepius rc040203 at freenet.de
Thu May 13 09:10:31 UTC 2004


On Thu, 2004-05-13 at 01:01, Alexandre Oliva wrote:
> On May 12, 2004, Axel Thimm <Axel.Thimm at ATrpms.net> wrote:
> 
> > So the general stance is to have a suffux to the release tag
> > containing an rpm-sortable disttag and an optional repotag, like
> 
> > foo-1.2.3-4.rh9.ralf.src.rpm
> 
> > So the release tag looks like
> 
> >    <buildid><distid><distversion><repotag_opt>
> 
> > where buildid shound end with digits (for example a simple integer
> > like "3", or something conatining cvs info like "0.cvs20040512.16"),
> > distid should be invariant for the family of distributions and
> > distversion should be rpm-sortable (7.3, 8.0, 9 for instance). Repotag
> > is placed at the least significant place wrt to rpm comparison and is
> > optional.
> 
> > Nobody objected this scheme above
> 
> I thought there was some minor opposition.  <buildid> should *always*
> start with `0.', such that, whenever the distro contains the same
> version of the package, starting with 1 or above, the version in the
> distro is used.  If you build multiple times, use 0.1, 0.2, etc.
> 
> My actual preference would be to instead use:
> 
>      0.<distid><distversion><repotag_opt><buildid>
> 
> >> >Conversely, all seem to be designed "to take over the system".
> 
> > Even though this is our secret obsession, what do you man by that? 
> 
> Dunno what he meant,

I meant external repositories having chosen their release tags in such
way, that they can not be upgraded to original RH or Fedora.US packages.

For example: Consider a package now being shipped by livna for legal
issues: xxx-0.lvn.1.1.i386.rpm

Now suppose, the legal situation changes and the package shall be moved
to Fedora.US: xxx-0.fdr.2.i386.rpm

# rpmver 0.fdr.2.1 0.lvn.1.1
0.lvn.1.1 is newer

=> Can't get rid of this lvn rpm by using Fedora.US PackageGuideLine
conforming release tags, once you have installed it.


The same applies to other 3rd parties.

Another example: Axel ships perl-XML-Writer-0.4.6-7.rhfc1.at for FC1.

Now suppose, RH had chosen to ship perl-XML-Writer-0.4.6-1 with FC2
# rpmver 0.4.6-7.rhfc1.at 0.4.6-1
0.4.6-7.rhfc1.at is newer

=> An apt or yum based upgrade from FC1->FC2 will fail to pickup this
FC2 package without Axel having any possibility to do anything about it.

Now consider my situation: In general, I want have a clean Fedora Core +
Fedora Extras installation, but want to install packages which
_currently_ are not part of Fedora Core1 nor Fedora Extra.
Some of them (like the perl-XML-LibXML-Common rpm I had mentioned) are
known to be part of FC2, others are likely to be part of future FC/FE
release, others will probably be shipped by 3rd parties.

ATM, however I have to resort to locally built or non-FC/FE rpms, but do
want to keep the possibility of FC and FE packages to replace my local
packages during updates/upgrades.

>  but IMHO external repositories should be split
> into Extras and Alternatives, where Extras contain packages that add
> to the system without replacing any of its core components, leaving
> replacing/upgrading to Alternatives.

I am still missing an official RH or Fedora.US guide line.

What I see from experimenting with release tags yesterday, there
implicitly exists such a convention:

<fc-release>.fdr.<fdr-release>.<local-vendor-id>.<local-release>.<disttag>

with:
<fc-release> .. RH/FC package release number this package is supposed to
be replace. 0 for Extras, equal to the RH/FC release number for
Alternatives.
<fdr-release> ... Fedora.US release number this package is supposed to
replace. 0 if neither FC nor FE has this package. equal to FE's release
number if FE has the packages.
<local-vendor-id> ... an arbitrary string starting with a non-numeric
character.
<local-release> ... "Local Vendor's" actual build-number
<disttag>  ... Fedora US's disttag.

Some of the dots might be optional but didn't look into them (I like them :-) )

Ralf






More information about the fedora-devel-list mailing list