[aur-general] Revise VCS packages versioning
ido at kernel.org
Thu Oct 31 01:32:03 EDT 2013
> > I do not propose to remove pkgver(). What I say is that vcs version
> > generator becomes non-trivial and many people use different and
> > inconsistent VCS versions. It indicates that there should be some
> > standard way to generate version. If you don't want to use the
> > standard generator you can use your own command to generate the
> > version.
> > But at least the standard generator will show how version should look
> > like (e.g. "r" prefix or not, what delimiter should be used, etc)
> If you want the "r", add it. If not, don't. I don't see the problem.
> >> To be very blunt, if you can't figure out basic scripting enough to
> write a coherent pkgver function, you don't really have any> business
> maintaining PKGBUILDs.
> > Please more respect, this is a public discussion.
> I'm well aware that it's a public discussion, but I'm not going to sugar
> coat things to protect other's feelings. Bash can be complex, but basic
> scripting isn't difficult. If you're going to be maintain PKGBUILDs without
> a grasp of the basics, you're being set up to fail from the get go.
My reading of Anatol's post does not convey any lack of understanding of
the basics of shell scriptings. I think you are misreading his original
post, and responding ad hominem as a result of that misunderstanding.
I read Anatol's original post as "please consider adding an optional
convenience function that will handle the git describe / bzr revno / etc.
for the packager and provide a sane default, while still allowing people to
not use that function if they don't want to use it or if the git tag format
doesn't play nicely with it." This seems like a reasonable suggestion: 99%
of VCS packages have a simple pattern: strip the preceding letters up to
the first number of some git describe or bzr branch name/revno string, then
add the # of commits in this branch, then add the hash. Why not provide a
convenience function to cover that?
I agree with Doug that it's not a good idea, and here is the reasoning:
(1) It's a write-once convenience function. If some developer changes the
function upstream, it has the potential to break MANY VCS packages all at
once, which would be very bad, so it is better for each VCS PKGBUILD to
write its pkgver() specific to its own repository's organization/versioning
(strong argument). (2) It's just extra baggage to carry for what is, for
the most part, a one-liner in VCS packages right now (weak argument). (3)
It encourages lazy VCS packagers (weak argument). Anatol, even though I
disagree with you, it was a worthwhile suggestion.
More information about the aur-general