El 26/01/14 21:59, Andrew Edwards ha escrit:
> 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.

Andrew, the current deb/rpm building script version scheme is:

^[0-9]"."[0-9][0-9][0-9]$
or
^[0-9]"."[0-9][0-9][0-9]"."[0-9]+$


I'm waiting to know the final new dmd versioning scheme. As soon as it is 
stablished, I'll modify these scripts to allow them.

Of course if the new scheme contains "*-b?" or "*-rc?", "-" will be replaced by 
"~", for a correct package upgrade on Debian.

I don't know if this happens on rpm systems too. I'll investigate.

Regards,
-- 
Jordi Sayol

Reply via email to