[Fedora-packaging] using the tilde in tarball versions

Daniel Pocock daniel at pocock.com.au
Wed May 1 18:37:44 UTC 2013


On 01/05/13 19:39, Toshio Kuratomi wrote:
> On Wed, May 01, 2013 at 05:32:12PM +0200, Daniel Pocock wrote:
>> On 01/05/13 16:56, Ralf Corsepius wrote:
>>> On 05/01/2013 12:59 PM, Daniel Pocock wrote:
>>>>
>>>> Hi,
>>>>
>>>> I've had a look at
>>>> https://bugzilla.redhat.com/show_bug.cgi?id=734802
>>>>
>>>> and I understand that tildes are supported by new versions of RPM, but
>>>> not by Fedora infrastructure
>>>>
>>>> I'm currently trying to prepare an upstream project to build tarballs
>>>> and I would like to use tildes in the version number of the test
>>>> tarballs and distribute them through the upstream web site.
> 
> In answer to the original question, upstreams can do what they like
> irregardless of rpm.  If an official fedora package were to be built using
> your tarball we'd manually "normalize" the tilde to something else (probably
> a dash).  Fedora policy is not to use tildes; it doesn't haveto do with what
> the underlying technologies support.
> 
>>> Can you explain why do want to do so?
>>>
>>> To me personally, there is not any single reason for using ~ in
>>> version numbers, except of lack of experience of upstreams, who do not
>>> understand that ~ and other special characters ($€?!) cause a lot of
>>> confusion.
>>>
>> There are various factors in this particular project that will lead to
>> confusion, the existence of 3 forks each releasing with the same name
>> probably makes the question of tildes look rather tame
>>
>> For my purposes, these are not official releases and will not be tagged
>> in the upstream repository, so they can't have names like
>> project-3.3.0.tar.gz
>>
>> The goal is to release project-3.3.0.tar.gz in a few weeks.
>>
>> I am working on trunk which has 3.3 in AC_INIT.  There is a 3.2 branch
>> and that is unrelated to this work.
>>
>> Therefore, using names like project-3.3.0~test1.tar.gz makes it clear that:
>>
>> project-3.2*.tar.gz  < project-3.3.0~test1.tar.gz < project-3.3.0.tar.gz
>>
>> Using a name like project-3.2.999.nextrelease.1.tar.gz would also ensure
>> proper sequencing but I feel that is more confusing.
>>
> project-3.3.0-test1.tar.gz would also seem to work just as well and
> additionally won't run into specialcases where people are using regexes to
> parse version strings and they don't anticipate a tilde being used.

That seems problematic for various reasons:

- when I build a test rpm (which is one reason for the test tarball), it
would end up with a name like project-3.3.0-test1-1.tar.gz

- looking at this doc, it is not clear if it will take `3.3.0-test1' as
the version, or if it will be `3.3.0' and release will be `test1':

http://fedoraproject.org/wiki/Archive:Tools/RPM/VersionComparison

and in any case, 3.3.0-test1 > 3.3.0, while 3.3.0 = 3.3.0, so in no case
can I see how to make a version that is < 3.3.0


> The tilde doesn't designate that general sorting algorithms will place the
> filename before the base version in the general tools case.  It is only
> special tools that recognize that usage.

Will the tools rpm and maybe yum behave the same way as dpkg does with
tildes, at least on a very recent install such as F18 or F19?

http://www.debian.org/doc/debian-policy/footnotes.html#f37

One of my aims with these tarballs is to verify that the final release
will work smoothly with a wide range of packaging tools.



More information about the packaging mailing list