On 10/02/11 02:46, Christopher Aillon wrote:
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Non-Numeric_Vers...
So, this has been a problem for a while for me, but I'm just now getting
to bring it up...
Basically, packages need to be able to require "xulrunner 2.0 beta 11"
but that's impossible with the current guidelines...
Essentially, the number that gets incremented is _before_ the
pre-release, and unfortunately there's no time machine available to
determine how many increments will occur before the next tarball update,
so packages can't do
Require: xulrunner> 2.0-0.19.beta11.fc15
Require: xulrunner< 2.0-0.22.beta12.fc15
since we might just go straight to 2.0-0.20.beta12.fc15 or we might need
20 rebuilds of beta 11. And depending on the specific NVR is suboptimal
too.
What I want to do for the XULRunner case specifically is change it to:
xulrunner-2.0-0.0.beta11_1.fc15 // first instance of beta 11
xulrunner-2.0-0.0.beta11_2.fc15 // rebuild of beta 11
xulrunner-2.0-0.0.beta11_3.fc15 // another rebuild
xulrunner-2.0-0.0.beta12_1.fc15 // first instance of beta 12
xulrunner-2.0-0.0.scm20110209_1.fc15 // scm snap from Feb 9 2011
xulrunner-2.0-0.1.beta13_1.fc15 // first instance of beta 13
So, the first 0 would signify a pre-release, the second 0 would be used
as sort of a "prerelease epoch" if needed as shown above, and it would
be followed by the pre-name, and then a release. Normally, a hyphen
would precede the rpm release of a tarball, but we can't have that here
due to the fact that we're putting some of the version information in
the release, so I think underscore works just as well here, and is
better than a dot.
This would allow packages to do things like
Require: xulrunner>= 2.0-0.0.beta11
Require: xulrunner<= 2.0-0.0.beta12
Thoughts?
Another possibility, since you're looking only for equality comparisons
and not greater or less than comparisons, might be to keep the rpm
versioning as-is and use a virtual provide for your own purposes, e.g.
Provides: xulrunner(version) = 2.0beta11
and in the dependent package(s):
Requires: xulrunner(version) = 2.0beta11
Paul.