diff options
Diffstat (limited to 'libre/pacman/0001-makepkg-Treat-pkgrel-more-similarly-to-pkgver.patch')
-rw-r--r-- | libre/pacman/0001-makepkg-Treat-pkgrel-more-similarly-to-pkgver.patch | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/libre/pacman/0001-makepkg-Treat-pkgrel-more-similarly-to-pkgver.patch b/libre/pacman/0001-makepkg-Treat-pkgrel-more-similarly-to-pkgver.patch new file mode 100644 index 000000000..e2d19122f --- /dev/null +++ b/libre/pacman/0001-makepkg-Treat-pkgrel-more-similarly-to-pkgver.patch @@ -0,0 +1,91 @@ +From 612fb2a528924fef206ba0e49122167eb553e139 Mon Sep 17 00:00:00 2001 +From: Luke Shumaker <lukeshu@parabola.nu> +Date: Thu, 14 Apr 2016 17:06:07 -0400 +Subject: [PATCH] makepkg: Treat pkgrel more similarly to pkgver + +This is perfectly fine with libalpm; it was only makepkg that was more +strict with pkgrel than pkgver. + +Further, the former error message about invalid pkgrel formats claimed that +pkgrel was a "decimal", which would mean that `1.1 == 1.10`. This is not +the case; alpm parses pkgrel as a version, not as a decimal. In that +light, enforcing /[0-9]+(\.([0-9]+)?/ on a version spec seems silly. +--- + doc/PKGBUILD.5.asciidoc | 5 ++-- + scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in | 4 ++-- + test/util/vercmptest.sh | 23 ++++++++++++++++++- + 3 files changed, 26 insertions(+), 6 deletions(-) + +diff --git a/doc/PKGBUILD.5.asciidoc b/doc/PKGBUILD.5.asciidoc +index f12effde..1ad8de37 100644 +--- a/doc/PKGBUILD.5.asciidoc ++++ b/doc/PKGBUILD.5.asciidoc +@@ -60,9 +60,8 @@ systems (see below). + allows package maintainers to make updates to the package's configure + flags, for example. This is typically set to '1' for each new upstream + software release and incremented for intermediate PKGBUILD updates. The +- variable is a postive integer, with an optional subrelease level +- specified by adding another postive integer separated by a period +- (i.e. in the form x.y). ++ variable is not allowed to contain colons, forward slashes, hyphens or ++ whitespace. + + *epoch*:: + Used to force the package to be seen as newer than any previous versions +diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in +index f294a3bf..07292613 100644 +--- a/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in ++++ b/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in +@@ -35,8 +35,8 @@ lint_pkgrel() { + return 1 + fi + +- if [[ $pkgrel != +([0-9])?(.+([0-9])) ]]; then +- error "$(gettext "%s must be a decimal, not %s.")" "pkgrel" "$pkgrel" ++ if [[ $pkgrel = *[[:space:]/:-]* ]]; then ++ error "$(gettext "%s is not allowed to contain colons, forward slashes, hyphens or whitespace.")" "pkgrel" "$pkgrel" + return 1 + fi + } +diff --git a/test/util/vercmptest.sh b/test/util/vercmptest.sh +index 1541e7ae..f41a0d1e 100755 +--- a/test/util/vercmptest.sh ++++ b/test/util/vercmptest.sh +@@ -39,7 +39,7 @@ tap_runtest() { + tap_is_str "$($bin "$ver2" "$ver1")" "$exp" "$ver2 $ver1" + } + +-tap_plan 92 ++tap_plan 124 + + # all similar length, no pkgrel + tap_runtest 1.5.0 1.5.0 0 +@@ -113,4 +113,25 @@ tap_runtest 1:1.0 1.0 1 + tap_runtest 1:1.0 1.1 1 + tap_runtest 1:1.1 1.1 1 + ++# complex pkgrel values ++tap_runtest 1-1.5.0 1-1.5.0 0 ++tap_runtest 1-1.5.1 1-1.5.0 1 ++tap_runtest 1-1.5.1 1-1.5 1 ++tap_runtest 1-1.5b 1-1.5 -1 ++tap_runtest 1-1.5b 1-1.5.1 -1 ++# based on "from the manpage" ++tap_runtest 1-1.0a 1-1.0alpha -1 ++tap_runtest 1-1.0alpha 1-1.0b -1 ++tap_runtest 1-1.0b 1-1.0beta -1 ++tap_runtest 1-1.0beta 1-1.0rc -1 ++tap_runtest 1-1.0rc 1-1.0 -1 ++# based on "going crazy? alpha-dotted versions" ++tap_runtest 1-1.5.a 1-1.5 1 ++tap_runtest 1-1.5.b 1-1.5.a 1 ++tap_runtest 1-1.5.1 1-1.5.b 1 ++# based on Parabola usage ++tap_runtest 1-1 1-2.par1 -1 ++tap_runtest 1-2 1-2.par1 -1 ++tap_runtest 1-3 1-2.par1 1 ++ + tap_finish +-- +2.18.0 + |