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/[email protected]#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.