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

Ralf Corsepius rc040203 at freenet.de
Wed May 12 13:44:53 UTC 2004


This answer has become lengthy. The essential part is at the end of this mail
:-)

On Wed, 2004-05-12 at 11:31, Axel Thimm wrote:
> On Tue, May 11, 2004 at 10:11:42PM -1000, Warren Togami wrote:
> > Ralf Corsepius wrote:
> > >I am planing to release a couple of rpms which are supposed to be add-on
> > >packages to Fedora Core and/or Fedora Extras.
> > >
> > >What is the current convention on choosing rpm release tags for such
> > >packages to provide co-existence for such kind of packages?
> > >
> > >AFAIS, from freshrpms, livna, atrpms none there doesn't seem to exist
> > >such kind of convention.
> 
> We tried to discuss this here, but there wasn't much interest from Red
> Hat's side, as Red Hat is always focusing on the latest release and
> resolves concurrent builds for different distros (whenever they
> happen) on an as needed basis (so each time the solution is different,
> sometimes without a tag, sometimes with a tag like "FC1" and so on).
Though not having participated, I recall these discussions and wish they
would have come to a satisfactory conclusion ;)

> The main idea is to have a scheme that does not apply to the scope of
> this one distribution and this current time window. It should apply on
> FC, RHL, RHEL and why not Mandrake/SuSE, whatever.
In an ideal world, yes. 

But I have given in hope vendors can agree on a common naming scheme and
am focusing on Fedora Core and Fedora US/Extras.

> 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

AFAICT, this approach considers upgrades between distros, but it does
not consider replacing RH supplied Core packages or nor replacing
Fedora.US supplied packages nor does it consider replacing "local
packages" with Fedora.US supplied packages.


> A solution used by currently most free repos is to have "rh" for RHL
> and "rhfc" for FC.
Hmm? Fedora uses 0.fdr.<...>.1 , freshrpms used fr and now seems to have
switched to using 'fc1.fr', you seem to be using rhfc, packman (No FC1
rpms there yet, but I am involved there) uses '<vendor-release>.pm', ...
finally there are Ximian and JPackage ... and ...

>  It works very well, but some (Warren ;) disliked
> the association with rh in FC rpms and decided to find another
> solution.
Well, I want somebody being in charge (be it RH or Fedora.US) to give an
official recommendation ;)

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: 
0.fdr.%{disttag}.%{X}

It also does not seem to cover conventions on
* Replacement packages
* 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, while third party
packages are supposed to use a custom %{disttag}, while leaving the rest
of the Fedora.US release-tag intact.

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.

As I want to release my "pkg" for FC1 *now*, I'd have to release a
perl-XML-LibXML-Common legacy package for FC1 *now*. However, I actually
do not want to maintain a perl-XML-LibXML-Common myself and want the
Fedora.US/FC1-Extras package to replace mine, once it will/should be
released.

How to choose the "release-tag" for my "temporary legacy package", that
an upgrade from FC1->FC2 will replace my perl-XML-LibXML-Common rpm with
that shipped with FC2 and that a potential release of
perl-XML-LibXML-Common by Fedora.US will replace my package?

* 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"?

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

Ralf





More information about the devel mailing list