February 04, 2014 Re: dmd 2.065 beta 1 #2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jordi Sayol | On 01/27/2014 03:10 AM, Jordi Sayol wrote: > [...] > error: line 2: Illegal char '-' in: Version: 2.065.0-b2 > ----- > > rpm packages do not allows "-" on version. > > I've pull-requested deb/rpm scripts to fix new dmd versioning scheme. Dash "-" is replaced by tilde "~" on deb/rpm packages version, and so on packages name. > https://github.com/D-Programming-Language/installer/pull/47 > Tilde doesn't work for rpm (I'm stuck with a slightly older rpmbuild 4.8.1). https://github.com/D-Programming-Language/installer/commit/c74853d8b6ea243ee8889f9790f7c3d5099abe5d#commitcomment-5264134 The Fedora manual has a detailed description on how to handle this. https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Version_Tag |
February 05, 2014 Re: dmd 2.065 beta 1 #2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jordi Sayol | On 01/27/2014 03:10 AM, Jordi Sayol wrote: > [...] > error: line 2: Illegal char '-' in: Version: 2.065.0-b2 > ----- > > rpm packages do not allows "-" on version. > > I've pull-requested deb/rpm scripts to fix new dmd versioning scheme. Dash "-" is replaced by tilde "~" on deb/rpm packages version, and so on packages name. > https://github.com/D-Programming-Language/installer/pull/47 > I get: rpm packages do not allows "~" on version. As I wrote earlier we're stuck with RPM 4.8.1 which doesn't allow the use of tilde. In fact Fedoras package guidelines explicitly discourage using "~" https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Pre-Release_packages and suggests to use the 'Release' field. Currently we always set this to 0 (https://github.com/D-Programming-Language/installer/blob/4df7d4339062a348739c5c8e884bdf09bdad4778/linux/dmd_rpm.sh#L287), but we're supposed to enumerate the prerelease versions with 0.1.b1, 0.2.b2, 0.3.b3, 0.4.rc1, 0.5.rc2. For a final version this will become 1 andOnce a final build it will start with 1 and potential rebuilds get a 2, 3. The i386 fedora rpm names would looks this. dmd.2.065.0-0.1.b1.fedora.i386.rpm //<- Beta1 dmd.2.065.0-0.2.b2.fedora.i386.rpm //<- Beta2 dmd.2.065.0-0.3.b3.fedora.i386.rpm //<- Beta3 dmd.2.065.0-0.4.rc1.fedora.i386.rpm //<- RC1 dmd.2.065.0-0.5.rc2.fedora.i386.rpm //<- RC2 dmd.2.065.0-1.fedora.i386.rpm //<- final release dmd.2.065.0-2.fedora.i386.rpm //<- fixup of the "final" release The important part is, that the beta stuff stay out of the version number. Only the 'Release' field is allowed to have letters. I'm a bit unsure how that would continue with 2.065.1. dmd.2.065.1-0.1.b1.fedora.i386.rpm dmd.2.065.1-0.2.rc1.fedora.i386.rpm dmd.2.065.1-1.fedora.i386.rpm Would that work for OpenSuse and .deb too? -Martin |
February 18, 2014 Re: dmd 2.065 beta 1 #2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrew Edwards | 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 |
Copyright © 1999-2021 by the D Language Foundation