You are not logged in.

#1 2017-01-12 12:47:36

proycon
Member
Registered: 2014-12-19
Posts: 5

git tags for AUR repositories

I would like to mark specific versions of my packages, to allow people to downgrade to a package for a very specific version, I know this is a bit odd for a rolling release philosophy, but need it to ensure scientific reproducibility. I figured since AUR uses git this was gonna be easy by just git tagging my version, but unfortunately pushing tags to server is not allowed:

$ git push --tags
Total 0 (delta 0), reused 0 (delta 0)
remote: error: pushing to a branch other than master is restricted
remote: error: hook declined to update refs/tags/v0.9.5
To ssh://aur4.archlinux.org/ucto.git
 ! [remote rejected] v0.9.5 -> v0.9.5 (hook declined)
error: failed to push some refs to 'ssh://aur@aur4.archlinux.org/ucto.git'

I was surprised to see that this was blocked. My question is if there is a good reason for this and if it can't just be allowed?
Alternatively, a server-side system that automatically tags based on $pkgver-$pkgrel would be great too.

Offline

#2 2017-01-12 12:49:25

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,530
Website

Re: git tags for AUR repositories

Why on earth would you need tags in the AUR repo for this.  The tags would be in the source repo.  You can put tags in the source array to get a specific source tag.

EDIT: I see you're actually using a versioned tarball as a source.  Assuming you have tarballs for other version, just make the version number a variable (as most packages do).  Then to build a different version, the AUR user just changes the pkgver variable.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2017-01-12 13:02:49

proycon
Member
Registered: 2014-12-19
Posts: 5

Re: git tags for AUR repositories

It's the actual PKGBUILD that changes between versions too, most notably the depends line; newer versions rely on newer dependencies, older versions might not even work with newer dependencies sometimes if there are backward-incompatible API  changes. That's why I want to tag the AUR. I'd also like all versions of the package to be nicely listable/enumerable (which tags will do). It may be a bit of a niche-use but I don't see why this common and useful feature of git is blocked for AUR.

EDIT: not unimportant, the md5 sum of the package changes as well, per version, of course

Last edited by proycon (2017-01-12 13:09:33)

Offline

#4 2017-01-12 14:00:57

mis
Member
Registered: 2016-03-16
Posts: 234

Re: git tags for AUR repositories

Are the commit hashes not enough? If you use commit messages like  Update to v0.2.1  or similar then you could do

$ git log --oneline
...
123abcd Update to v0.2.1'
... 
...

$ git checkout 123abcd

Last edited by mis (2017-01-12 14:10:59)

Offline

#5 2017-01-12 15:28:47

proycon
Member
Registered: 2014-12-19
Posts: 5

Re: git tags for AUR repositories

That would work as a workaround, but is of course a poor substitute for proper git tags.

Offline

#6 2017-01-12 20:23:45

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: git tags for AUR repositories

Why is this necessary? tags are essentially used to provide aliases for commits, but there isn't usually a good reason for the AUR to have anything but one commit per version, and whenever there are multiple commits per version you won't want the first of those commits (with obsolete build instructions/deps/etc) so the optimistically-tagged-first commit will be wrong and cannot be updated.

Just grep the git log for the latest instance of "pkgver = $pkgver" in .SRCINFO, since .SRCINFO exists to provide a sane interface to the package information.


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#7 2017-01-13 12:13:25

proycon
Member
Registered: 2014-12-19
Posts: 5

Re: git tags for AUR repositories

I'll resort to that workaround for the time being then, grepping the history of the .SRCINFO sounds acceptable; but I still don't really see the argument for not allowing git tags.

Offline

#8 2017-01-13 22:12:52

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: git tags for AUR repositories

They didn't want branches, so they whitelisted "master".

And you haven't really given a sufficient reason to whitelist refs/tags/* either.

e.g If you tag the commit dealing with a specific upstream version, then update to fix a mistake you made, you won't be able to update the tag to point to a new commit. So tags don't help so much, unless you tag every single commit...


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#9 2017-01-13 22:48:51

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,530
Website

Re: git tags for AUR repositories

To build even further on the above - I get that you want to make it easy for people to get older versions.   But tags would only help those who are both capable enough with git and well informed enough about your specific AUR package to know how to and to know to checkout a specific tag to get a specific version.  Anyone in such a category could quite readily also be given a commit number to check out - this already can be done without tags.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

Board footer

Powered by FluxBB