[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: version numbers in ELPA
From: |
Michael Albinus |
Subject: |
Re: version numbers in ELPA |
Date: |
Thu, 18 Feb 2021 10:41:25 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Yes, version numbers are defined in ELPA (notice: not "GNU ELPA" but
> "ELPA") as sequences of numbers. Since 1 and 01 are one and the same
> number, then ... 2.01 is the same as 2.1.
>
>> Are there some implicit rules to follow as to how we should number
>> versions going to ELPA? Are there some explicit rules I just skimmed
>> over and didn't take note of?
>
> Yes, the version numbers need to obey `version-to-list` and the actual
> string used to represent the version number in the name of the tarball
> need to be "canonicalized" by passing them to `version-to-list` and then
> recreating a corresponding string out of it with `package-version-join`
> (defined in `package.el`). This need is because the `archive-contents`
> file (which lists the tarballs available in a given ELPA server) give
> the versions in the form of a list of numbers rather than a string, and
> then `package.el` needs to "guess" the name of the corresponding tarball
> by creating a string out of it.
Perhaps we can recommend semantic versioning <https://semver.org/>? This
speaks also about the syntax, leading zeroes are forbidden ("MUST NOT").
`version-to-list' seems to be close to this, but I haven't checked for
differences.
> Stefan
Best regards, Michael.