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. %{disttag} is the target distribution and evaluates to rh80,
rh90, 1, 2, and so on. %{X} is what you increase with each package
revision. Example:
foo-1.0-0.fdr.4.rh80
%X = 4
%disttag = rh80
It also does not seem to cover conventions on
* Replacement packages
Do you mean upgrades of what is included within Fedora Core?
Obviously, %release must be higher than the current %release of
the package in Fedora Core, but preferably lower than the next
security Update.
* 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.
That part I didn't understand. What is a "replacement 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.
Then review and approve Ville's package.
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?
Choose a %release lower than the current package in the queue and lower
than the package in FC2:
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 to indicate that this is temporary
package only.
* 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. 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.