void-packages/srcpkgs/xbps/patches/0001-xbps-checkvers-fixed-a...

76 lines
2.3 KiB
Diff

From 0d5385ad2b7873746b91526e4b19c783584359c2 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@voidlinux.eu>
Date: Mon, 27 Jul 2015 09:44:25 +0200
Subject: [PATCH] xbps-checkvers: fixed an endless loop with "reverts"
containing extra alphanumeric chars.
---
NEWS | 4 ++++
bin/xbps-checkvers/main.c | 2 +-
tests/xbps/xbps-checkvers/checkvers.sh | 31 +++++++++++++++++++++++++++++++
3 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/bin/xbps-checkvers/main.c b/bin/xbps-checkvers/main.c
index d74a157..896053c 100644
--- bin/xbps-checkvers/main.c
+++ bin/xbps-checkvers/main.c
@@ -533,7 +533,7 @@ check_reverts(const char *repover, const map_item_t reverts)
* Check if it's the first character or the previous character is a
* whitespace.
*/
- if (p > sreverts && !isspace(p[-1]))
+ if (p > sreverts && !isalpha(p[-1]) && !isspace(p[-1]))
continue;
p += strlen(repover);
/*
diff --git a/tests/xbps/xbps-checkvers/checkvers.sh b/tests/xbps/xbps-checkvers/checkvers.sh
index 4b834e3..b6d3be2 100755
--- tests/xbps/xbps-checkvers/checkvers.sh
+++ tests/xbps/xbps-checkvers/checkvers.sh
@@ -301,6 +301,36 @@ EOF
atf_check_equal "$out" "pkgname: A repover: 1.1_1 srcpkgver: 1.0_1"
}
+atf_test_case reverts_alpha
+
+reverts_alpha_head() {
+ atf_set "descr" "xbps-checkvers(8): test with reverts containing an alphanumeric character"
+}
+
+reverts_alpha_body() {
+ mkdir -p some_repo pkg_A void-packages/srcpkgs/fs-utils
+ touch pkg_A/file00
+ cat > void-packages/srcpkgs/fs-utils/template <<EOF
+pkgname=fs-utils
+reverts=v1.10_1
+version=1.10
+revision=1
+do_install() {
+ :
+}
+EOF
+ cd some_repo
+ xbps-create -A noarch -n fs-utils-1.10_1 -s "A pkg" ../pkg_A
+ atf_check_equal $? 0
+ xbps-rindex -d -a $PWD/*.xbps
+ atf_check_equal $? 0
+ cd ..
+ xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages
+ out=`xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages`
+ atf_check_equal $? 0
+ atf_check_equal "$out" "pkgname: fs-utils repover: 1.10_1 srcpkgver: 1.10_1"
+}
+
atf_init_test_cases() {
atf_add_test_case srcpkg_newer
atf_add_test_case srcpkg_newer_with_refs
@@ -313,4 +343,5 @@ atf_init_test_cases() {
atf_add_test_case srcpkg_missing_pkgver
atf_add_test_case srcpkg_missing_pkgverrev
atf_add_test_case reverts
+ atf_add_test_case reverts_alpha
}
--
2.4.6