dmd 2.065 beta 1 #2

Dejan Lekic dejan.lekic at gmail.com
Mon Feb 17 17:22:37 PST 2014


Andrew Edwards wrote:

> On 1/26/14, 11:19 AM, Jordi Sayol wrote:
>> El 26/01/14 16:23, Dejan Lekic ha escrit:
>>> 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.
>>>
>>
>>
>> This scheme was already proposed by Leandro Lucarella, and I like it.
>> 
http://forum.dlang.org/thread/lbmru9$290b$1@digitalmars.com#post-20140122001903.GE23332:40llucax.com.ar
>> It only differs by leading zero on minor number, which can be cleanly
>> removed.
>>
>> Anyway, tilde is still mandatory on Debian packages due to upgrade
>> reasons, so we can apply the Leandro's solution too: s/-/~/
>>
>> Regards,
>>
> 
> Jordi, I need you to explain this. You wrote the scripts for the pkg
> installers right? What happens when you pass a version number containing
> a "-" to dmd_rpm.sh? I'll tell you:
> 
> Building for target platforms: i386
> Building for target i386
> error: line 2: Illegal character '-' in: Version: 2.065.0-b2
> 
> I initially changed the naming convention because of errors like these
> cropping up all over your scripts. Change it to '~' and it craps out on
> another one of your scrips for a different package. Multiple other
> 
> My question is, what is the proper version scheme that fits all the
> systems that you are trying to make these packages for? This one
> obviously does not work for at lease one of them.

This naming scheme would not be accepted by Fedora/openSuSE/Mageia people. 
That is one of the reasons why I talked about the major.minor.micro-
qualifier scheme... No tildas there are in use.

-- 
http://dejan.lekic.org


More information about the Digitalmars-d-announce mailing list