On Thu, Oct 31, 2013 at 09:17:41PM +0100, Uwe Koloska wrote:
Hello,
Am 31.10.2013 16:09, schrieb Jerome Leclanche:
The main issue with -git versioning is the inconsistency.
I don't think so. I think the main issue with git versioning (regarding package versions) is its non monotonic trait.
Thing is, there are really only two types of -git versioning: * Those with tags * Those without Each increases (or should, if the developer has any sense) as time goes forward, the only real difference is between the two, which can be easily solved by using epochs. And saying they're ugly is no damn excuse.
I'm not suggesting we drop the pkgver function (nobody is). I'm saying we need a standardized pkgver script that outputs consistent, compatible results between tagged and non-tagged git repos, and recommend that as the proto.
IMHO what's really missing, are requirements, that describe what the version number has to be like *and* for what purpose! With this requirements the developer is able to craft a pkgver function that is suited for the used repository. And sure, every developer will be happy about some useful patterns like "if the repository has no tags, use '0' instead of a tag part".
Package versions only need to be comparable to those of the package, not to other packages. Epochs can be used when version styles change. It's what they were intended to be used for.
AFAIS there are the following requirements for version numbering: * the version number must be monotone with respect to ** newer commits ** newer package number * the version shall be "short"
If there are other requirements (like "must follow semantic versioning scheme" or "must combine package and upstream version (how?)"), they should be stated clearly and with a reason.
The pkgver should not contain any arch-specific information. If you look at the manual page, the pkgver is soleley for the upstream version, the pkgrel is for Arch releases, rebuilds or changes.
Just my 2 cents.
Thank you for listening Uwe
Thanks, -- William Giokas | KaiSforza | http://kaictl.net/ GnuPG Key: 0x73CD09CF Fingerprint: F73F 50EF BBE2 9846 8306 E6B8 6902 06D8 73CD 09CF