Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: git tagging/versioning convention #555

Open
kloczek opened this issue Jul 3, 2021 · 11 comments
Open

RFE: git tagging/versioning convention #555

kloczek opened this issue Jul 3, 2021 · 11 comments

Comments

@kloczek
Copy link

kloczek commented Jul 3, 2021

Please consider change tagging/versioning convention and replace use - by . because none of the packaging software allows use - in version string.

@squeek502
Copy link
Member

squeek502 commented Jul 3, 2021

Just to add some context, the tagging/versioning convention is that of Luarocks rockspecs: https://github.com/luarocks/luarocks/wiki/Rockspec-format

We're slightly abusing it, though, for sure, since we just inherit the Libuv version and then use the rockspec revision in order to release patches to Luv for a given Libuv version. I believe it's been discussed before to maybe move to some sort of Libuv-version-indepedent versioning, but nothing was ever decided.

Is there something specific you're trying to do, just to better understand what the possible solutions are?

@kloczek
Copy link
Author

kloczek commented Jul 3, 2021

ust to add some context, the tagging/versioning convention is that of Luarocks rockspecs: https://github.com/luarocks/luarocks/wiki/Rockspec-format

Yep that document as well ignores basic versioning rules used by all packaging software.
Good that almost all the lua modules/extensions does not follow that convention.

@squeek502
Copy link
Member

Could you be more specific about what problem you're running into? Linux package managers seem to either include the - or swap it for a . (which works, that's basically how we use it in practice):

https://pkgs.org/download/lua-luv

(note: all Lua modules published to Luarocks use the rockspec versioning, but not necessarily for their git tags. We tag with the rockspec version because of how we slightly abuse the rockspec version as mentioned previously)

@kloczek
Copy link
Author

kloczek commented Jul 3, 2021

I'm trying to tell that at the moment it is not possoible to use git tag as version on packaging.

@squeek502
Copy link
Member

squeek502 commented Jul 3, 2021

Which packaging? Is it not possible to specify the git tag and the package version separately?

@kloczek
Copy link
Author

kloczek commented Jul 4, 2021

Which packaging? Is it not possible to specify the git tag and the package version separately?

Again: none of the packaging software allows use - in version string. That includes dpkg, rpm, IPS and many more.

@squeek502
Copy link
Member

squeek502 commented Jul 4, 2021

Forgive my ignorance here as I'm unfamiliar with the packaging process, but I'm not sure how to square that with the existing lua-luv packages for e.g. Debian that seem to include - in the version string:

https://packages.debian.org/bullseye/lua-luv

Here's what the Debian docs have to say:

The version number of a package. The format is: [epoch:]upstream_version[-debian_revision].

upstream_version

This is the main part of the version number. It is usually the version number of the original (“upstream”) package from which the .deb file has been made, if this is applicable. Usually this will be in the same format as that specified by the upstream author(s); however, it may need to be reformatted to fit into the package management system’s format and comparison scheme.

[...]

The upstream_version may contain only alphanumerics 6 and the characters . + - ~ (full stop, plus, hyphen, tilde) and should start with a digit. If there is no debian_revision then hyphens are not allowed.

And here's an rpm package that swapped the - for a . (again, totally acceptable in terms of how version comparisons would work for luv):

https://centos.pkgs.org/8/epel-aarch64/lua-luv-1.36.0.0-1.el8.aarch64.rpm.html

EDIT: Here's the Fedora .spec for its rpm of lua-luv:

https://src.fedoraproject.org/rpms/lua-luv/blob/rawhide/f/lua-luv.spec


Does replacing the - with a . when packaging not work for your use case?

@kloczek
Copy link
Author

kloczek commented Jul 4, 2021

-debian_revision is not part of the version string. This package revision bit.

EDIT: Here's the Fedora .spec for its rpm of lua-luv:

https://src.fedoraproject.org/rpms/lua-luv/blob/rawhide/f/lua-luv.spec

And as you see it is necessary to perform extra steps to replace that - by ..

@squeek502
Copy link
Member

-debian_revision is not part of the version string. This package revision bit.

The text I quoted is about upstream_version only.

EDIT: Here's the Fedora .spec for its rpm of lua-luv:
https://src.fedoraproject.org/rpms/lua-luv/blob/rawhide/f/lua-luv.spec

And as you see it is necessary to perform extra steps to replace that - by ..

This doesn't seem like too large a burden? I feel like I'm missing something.

@kloczek
Copy link
Author

kloczek commented Oct 28, 2021

-debian_revision is not part of the version string. This package revision bit.

The text I quoted is about upstream_version only.

Looks like even for Fedora maintainers this is not clear.
https://src.fedoraproject.org/rpms/lua-luv/c/1824d139e48f664c815f9c03f0384f1f453b5e3e?branch=rawhide
Really please start tagging debian as `debian/-' like it is done in many other source trees and add clear tag without dashes.

@jamessan
Copy link
Contributor

Again: none of the packaging software allows use - in version string. That includes dpkg, rpm, IPS and many more.

This has already been dis-proven for dpkg, and there are workarounds for package systems which don't allow use of - in the version string. Seems like this should be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants