xbps{,-static}: patch from git to fix an endless loop in xbps-checkvers(1).

This commit is contained in:
Juan RP 2015-07-27 09:49:58 +02:00
parent 94981d3597
commit 7cec799c5a
4 changed files with 82 additions and 6 deletions

1
srcpkgs/xbps-static/patches Symbolic link
View file

@ -0,0 +1 @@
../xbps/patches

View file

@ -3,12 +3,14 @@
# NOTE: keep this package synchronized with "srcpkgs/xbps".
pkgname=xbps-static
version=0.47
revision=1
revision=2
build_style=configure
short_desc="The XBPS package system utilities - static binaries"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.voidlinux.eu/xbps"
license="2-clause-BSD"
distfiles="https://github.com/voidlinux/xbps/archive/$version.tar.gz"
checksum=34d8b69c006330426fcd00240f7d53425c5581d0635e18f7dfef55e1f7a917d2
wrksrc="xbps-${version}"
hostmakedepends="pkg-config"
@ -16,8 +18,6 @@ makedepends="zlib-devel libressl-devel libarchive-devel"
depends="xbps-triggers"
only_for_archs="i686-musl x86_64-musl mips-musl mipsel-musl armv6l-musl armv7l-musl aarch64-musl"
distfiles="https://github.com/voidlinux/xbps/archive/$version.tar.gz"
checksum=34d8b69c006330426fcd00240f7d53425c5581d0635e18f7dfef55e1f7a917d2
do_configure() {
HAVE_VASPRINTF=1 ./configure --prefix=/usr --sysconfdir=/etc --enable-static --enable-debug

View file

@ -0,0 +1,75 @@
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

View file

@ -1,13 +1,15 @@
# Template file for 'xbps'
pkgname=xbps
version=0.47
revision=1
revision=2
bootstrap=yes
build_style=configure
short_desc="The XBPS package system utilities"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="https://github.com/voidlinux/xbps"
license="2-clause-BSD"
distfiles="https://github.com/voidlinux/xbps/archive/$version.tar.gz"
checksum=34d8b69c006330426fcd00240f7d53425c5581d0635e18f7dfef55e1f7a917d2
hostmakedepends="pkg-config"
makedepends="zlib-devel libressl-devel libarchive-devel"
@ -23,8 +25,6 @@ if [ "$CHROOT_READY" ]; then
}
fi
distfiles="https://github.com/voidlinux/xbps/archive/$version.tar.gz"
checksum=34d8b69c006330426fcd00240f7d53425c5581d0635e18f7dfef55e1f7a917d2
do_configure() {
CFLAGS+=" -Wno-error=redundant-decls"