dmd 2.065 beta 1 #2

Dejan Lekic dejan.lekic at gmail.com
Sun Jan 26 07:23:07 PST 2014


On Wednesday, 22 January 2014 at 08:25:05 UTC, Jordi Sayol wrote:
> El 22/01/14 02:06, Andrew Edwards ha escrit:
>> On 1/21/14, 6:02 PM, Jordi Sayol wrote:
>>> El 21/01/14 23:29, Brad Anderson ha escrit:
>>>>      #.###.~b#  ==> 2.065.b1  // beta
>>>>      #.###.~rc# ==> 2.065.rc1 // release candidate
>>>>      #.###.0   ==> 2.065.0   // initial release
>>>>      #.###.#   ==> 2.065.1   // hotfix
>>>
>>> On Debian, "2.065.rc1" is bigger than "2.065.0", so if 
>>> "dmd_2.065.rc1-0_amd64.deb" is installed and you try to 
>>> upgrade to "dmd_2.065.0-0_amd64.deb", system will answer 
>>> something like "You have installed a newer version".
>>>
>>> No problem if these deb packages are for internal use and 
>>> test, but not for a public download.
>>>
>>> $ dpkg --compare-versions "2.065.0" gt "2.065.rc1" && echo 
>>> "Bigger" || echo "Not bigger"
>>>
>> 
>> Apparently the same problem exists on FreeBSD. The first 
>> solution that comes to mind is to prefix the qualifiers for 
>> betas and release candidates with a tilde. As such:
>> 
>>     2.065~b1
>>     2.065~rc1
>> 
>> or:
>> 
>>     2.065.~b1
>>     2.065.~rc1
>> 
>> This solution works on both Ubuntu and FreeBSD but I'm not 
>> sure it is the right one. Suggestions are welcomed.
>
> I prefer:
>
> 2.65~b1
> 2.65~rc1
>
> because "2.65.0" and "2.65" are bigger than "2.65~rc1", 
> regardless if "qualifier" number is present or not in final 
> release version.
>
> I think that, as much as possible, we should use exactly the 
> same version string for all installers, zip, deb, rpm, dmg, etc.
> So if there is no problem on OSX, Windows, etc. I propose this 
> versioning scheme:
>
> #.#~b#  ==> 2.65~b1  // beta
> #.#~rc# ==> 2.65~rc1 // release candidate
> #.#.#   ==> 2.65.0   // initial release
> #.#.#   ==> 2.65.1   // hotfix

I do not like the tilda scheme above. Because it does not conform 
to the major.minor.micro-qualifier scheme.

Before I propose another scheme, let me list some assumptions:

1) We will never have more than 3 release candidates.
2) Same goes for betas. You rarely see more than two beta 
releases for certain upcoming release of a product.

Therefore I propose the following (if it is "compatible" with 
FreeBSD and Debian) simple solution. We simply move beta and rc 
into the "qualifier".

So, we have:
2.065.0 (release)
2.065.0-rc2 (release candidate)
2.065.0-b1 (beta one)

This makes more sense IMHO.

Kind regards


More information about the Digitalmars-d-announce mailing list