summaryrefslogtreecommitdiff
path: root/libre/pacman/0001-makepkg-treat-pkgrel-more-similarly-to-pkgver.patch
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2016-04-14 17:09:42 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-04-14 17:25:22 -0400
commit0de46debb2578effc55fb44d33f98bd889be9290 (patch)
treea007b47300f2fb79ab37cdd27f679cf7f5ba7b1a /libre/pacman/0001-makepkg-treat-pkgrel-more-similarly-to-pkgver.patch
parent429a56d2612164ff9515c5fc7b6abbbc164db0dd (diff)
libre/pacman: fix check()
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.patch99
1 files changed, 99 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..7378896ba
--- /dev/null
+++ b/libre/pacman/0001-makepkg-treat-pkgrel-more-similarly-to-pkgver.patch
@@ -0,0 +1,99 @@
+From 0c2242fa1569a3516c59e3d84d28a2d8603aa774 Mon Sep 17 00:00:00 2001
+From: Luke Shumaker <lukeshu@sbcglobal.net>
+Date: Thu, 14 Apr 2016 17:06:07 -0400
+Subject: [PATCH 1/1] 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 a decimal. In that light,
+enforcing /[0-9]+(\.([0-9]+)?/ on a version spec seems silly.
+---
+ doc/PKGBUILD.5.txt | 4 ++--
+ scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in | 4 ++--
+ test/util/vercmptest.sh | 23 ++++++++++++++++++++++-
+ 3 files changed, 26 insertions(+), 5 deletions(-)
+
+diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
+index e410481..86df1e8 100644
+--- a/doc/PKGBUILD.5.txt
++++ b/doc/PKGBUILD.5.txt
+@@ -48,7 +48,7 @@ similar to `$_basekernver`.
+
+ *pkgver*::
+ The version of the software as released from the author (e.g., '2.7.1').
+- The variable is not allowed to contain colons or hyphens.
++ The variable is not allowed to contain colons, hyphens or whitespace.
+ +
+ The `pkgver` variable can be automatically updated by providing a `pkgver()`
+ function in the PKGBUILD that outputs the new package version.
+@@ -62,7 +62,7 @@ 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 not allowed to contain hyphens.
++ variable is not allowed to contain colons, 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 95cb808..ca618f8 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, hyphens or whitespace.")" "pkgrel" "$pkgrel"
+ return 1
+ fi
+ }
+diff --git a/test/util/vercmptest.sh b/test/util/vercmptest.sh
+index 5542f59..4f9b1f3 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,6 +113,27 @@ 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
+
+ # vim: set noet:
+--
+2.8.0
+