Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] xbps: update to 0.58
@ 2020-01-30 16:59 voidlinux-github
  2020-01-30 17:07 ` [PR PATCH] [Merged]: " voidlinux-github
  0 siblings, 1 reply; 2+ messages in thread
From: voidlinux-github @ 2020-01-30 16:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 318 bytes --]

There is a new pull request by xtraeme against master on the void-packages repository

https://github.com/xtraeme/void-packages xbps-0.58
https://github.com/void-linux/void-packages/pull/18665

xbps: update to 0.58
yours truly

A patch file from https://github.com/void-linux/void-packages/pull/18665.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-xbps-0.58-18665.patch --]
[-- Type: text/x-diff, Size: 30261 bytes --]

From 1c6621f68d4f031054b16520dfef7b521d8ae968 Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Thu, 30 Jan 2020 17:57:43 +0100
Subject: [PATCH 1/2] xbps: update to 0.58.

---
 srcpkgs/xbps/patches/10075c2.patch            |  33 --
 srcpkgs/xbps/patches/85b8b3b.patch            | 355 ------------------
 .../99-cc-alternative-workaround.patch        |  14 -
 srcpkgs/xbps/patches/CVE-2020-7450.patch      |  36 --
 srcpkgs/xbps/patches/pkg-config-cross.patch   |  70 ----
 srcpkgs/xbps/patches/reverts-strict-rev.patch | 144 -------
 .../patches/xbps-checkvers-subpkgs-fix.patch  |  82 ----
 srcpkgs/xbps/template                         |   6 +-
 8 files changed, 3 insertions(+), 737 deletions(-)
 delete mode 100644 srcpkgs/xbps/patches/10075c2.patch
 delete mode 100644 srcpkgs/xbps/patches/85b8b3b.patch
 delete mode 100644 srcpkgs/xbps/patches/99-cc-alternative-workaround.patch
 delete mode 100644 srcpkgs/xbps/patches/CVE-2020-7450.patch
 delete mode 100644 srcpkgs/xbps/patches/pkg-config-cross.patch
 delete mode 100644 srcpkgs/xbps/patches/reverts-strict-rev.patch
 delete mode 100644 srcpkgs/xbps/patches/xbps-checkvers-subpkgs-fix.patch

diff --git a/srcpkgs/xbps/patches/10075c2.patch b/srcpkgs/xbps/patches/10075c2.patch
deleted file mode 100644
index 818c53cd719..00000000000
--- a/srcpkgs/xbps/patches/10075c2.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-commit 10075c28e5065e948cac707285681f6541759873
-Author: Juan RP <xtraeme@gmail.com>
-Date:   Sat Jan 4 13:01:28 2020 +0100
-
-    libxbps: ignore indirect broken revdeps while updating xbps.
-    
-    This fixes the long standing issue that has been a plague for
-    a long time.
-    
-    See the test case for more information.
-
-diff --git a/lib/transaction_ops.c b/lib/transaction_ops.c
-index 3d3fc36a..03725ee3 100644
---- lib/transaction_ops.c
-+++ lib/transaction_ops.c
-@@ -271,6 +271,17 @@ xbps_autoupdate(struct xbps_handle *xhp)
- 			if (rv && rv != ENOENT && rv != EEXIST && rv != ENODEV)
- 				return -1;
- 		}
-+		/*
-+		 * Set XBPS_FLAG_FORCE_REMOVE_REVDEPS to ignore broken
-+		 * reverse dependencies in xbps_transaction_prepare().
-+		 *
-+		 * This won't skip revdeps of the xbps pkg, rather other
-+		 * packages in rootdir that could be broken indirectly.
-+		 *
-+		 * A sysup transaction after updating xbps should fix them
-+		 * again.
-+		 */
-+		xhp->flags |= XBPS_FLAG_FORCE_REMOVE_REVDEPS;
- 		return 1;
- 	} else if (rv == ENOENT || rv == EEXIST || rv == ENODEV) {
- 		/* no update */
diff --git a/srcpkgs/xbps/patches/85b8b3b.patch b/srcpkgs/xbps/patches/85b8b3b.patch
deleted file mode 100644
index 9dc84257c14..00000000000
--- a/srcpkgs/xbps/patches/85b8b3b.patch
+++ /dev/null
@@ -1,355 +0,0 @@
-From 85b8b3bbb72ab6de6f4d72c9a2ca3f2be053eeb1 Mon Sep 17 00:00:00 2001
-From: q66 <daniel@octaforge.org>
-Date: Thu, 14 Nov 2019 17:40:54 +0100
-Subject: [PATCH] lib/package_alternatives.c: prune obsolete alternatives
- groups
-
-In the edge case when an updated package has different (or no)
-alternatives groups, make sure to prune those that are in pkgdb
-but not in the newly installed package.
-
-A potentially common case of this is when a package that formerly
-had alternatives gets removed and a transitional metapackage
-takes its place (which has no alternatives).
-
-When the new package has no dependencies, oldest next possible
-alternatives group will be used. This is because that indicates
-a removed package. When there are dependencies, the newest one
-will be used; as this indicates a transitional package.
----
- lib/package_alternatives.c                | 155 +++++++++++++++++-----
- tests/xbps/xbps-alternatives/main_test.sh |  93 +++++++++++++
- 2 files changed, 218 insertions(+), 30 deletions(-)
-
-diff --git a/lib/package_alternatives.c b/lib/package_alternatives.c
-index 5e4f2b36..ecdc40ae 100644
---- lib/package_alternatives.c
-+++ lib/package_alternatives.c
-@@ -309,6 +309,22 @@ xbps_alternatives_set(struct xbps_handle *xhp, const char *pkgname,
- 	return rv;
- }
- 
-+static int
-+switch_alt_group(struct xbps_handle *xhp, const char *grpn, const char *pkgn,
-+		xbps_dictionary_t *pkg_alternatives)
-+{
-+	xbps_dictionary_t curpkgd, pkgalts;
-+
-+	curpkgd = xbps_pkgdb_get_pkg(xhp, pkgn);
-+	assert(curpkgd);
-+
-+	xbps_set_cb_state(xhp, XBPS_STATE_ALTGROUP_SWITCHED, 0, NULL,
-+		"Switched '%s' alternatives group to '%s'", grpn, pkgn);
-+	pkgalts = xbps_dictionary_get(curpkgd, "alternatives");
-+	if (pkg_alternatives) *pkg_alternatives = pkgalts;
-+	return create_symlinks(xhp, xbps_dictionary_get(pkgalts, grpn), grpn);
-+}
-+
- int
- xbps_alternatives_unregister(struct xbps_handle *xhp, xbps_dictionary_t pkgd)
- {
-@@ -339,7 +355,6 @@ xbps_alternatives_unregister(struct xbps_handle *xhp, xbps_dictionary_t pkgd)
- 	for (unsigned int i = 0; i < xbps_array_count(allkeys); i++) {
- 		xbps_array_t array;
- 		xbps_object_t keysym;
--		xbps_dictionary_t curpkgd = pkgd;
- 		bool current = false;
- 		const char *first = NULL, *keyname;
- 
-@@ -377,15 +392,7 @@ xbps_alternatives_unregister(struct xbps_handle *xhp, xbps_dictionary_t pkgd)
- 			continue;
- 
- 		/* get the new alternative group package */
--		curpkgd = xbps_pkgdb_get_pkg(xhp, first);
--		assert(curpkgd);
--		xbps_set_cb_state(xhp, XBPS_STATE_ALTGROUP_SWITCHED, 0, NULL,
--		    "Switched '%s' alternatives group to '%s'", keyname, first);
--		pkg_alternatives = xbps_dictionary_get(curpkgd, "alternatives");
--		rv = create_symlinks(xhp,
--			xbps_dictionary_get(pkg_alternatives, keyname),
--			keyname);
--		if (rv != 0)
-+		if (switch_alt_group(xhp, keyname, first, &pkg_alternatives) != 0)
- 			break;
- 	}
- 	xbps_object_release(allkeys);
-@@ -394,25 +401,119 @@ xbps_alternatives_unregister(struct xbps_handle *xhp, xbps_dictionary_t pkgd)
- 	return rv;
- }
- 
-+/*
-+ * Prune the alternatives group from the db. This will first unregister
-+ * it for the package and if there's no other package left providing the
-+ * same, also ditch the whole group. When this is called, it is guranteed
-+ * that what is happening is an upgrade, because it's only invoked when
-+ * the repo and installed alternatives sets differ for a specific package.
-+ */
-+static void
-+prune_altgroup(struct xbps_handle *xhp, xbps_dictionary_t repod,
-+		char *pkgname, const char *pkgver, const char *keyname) {
-+	const char *newpkg, *curpkg;
-+	xbps_array_t array;
-+	xbps_dictionary_t alternatives;
-+	xbps_string_t kstr;
-+	unsigned int grp_count;
-+	bool current = false;
-+
-+	xbps_set_cb_state(xhp, XBPS_STATE_ALTGROUP_REMOVED, 0, NULL,
-+		"%s: unregistered '%s' alternatives group", pkgver, keyname);
-+
-+	alternatives = xbps_dictionary_get(xhp->pkgdb, "_XBPS_ALTERNATIVES_");
-+	assert(alternatives);
-+	array = xbps_dictionary_get(alternatives, keyname);
-+
-+	/* if using alt group from another package, we won't switch anything */
-+	xbps_array_get_cstring_nocopy(array, 0, &curpkg);
-+	current = (strcmp(pkgname, curpkg) == 0);
-+
-+	/* actually prune the alt group for the current package */
-+	xbps_remove_string_from_array(array, pkgname);
-+	grp_count = xbps_array_count(array);
-+	if (grp_count == 0) {
-+		/* it was the last one, ditch the whole thing */
-+		xbps_dictionary_remove(alternatives, keyname);
-+		return;
-+	}
-+	if (!current) {
-+		/* not the last one, and ours wasn't the one being used */
-+		return;
-+	}
-+
-+	if (xbps_array_count(xbps_dictionary_get(repod, "run_depends")) == 0 &&
-+	    xbps_array_count(xbps_dictionary_get(repod, "shlib-requires")) == 0) {
-+		/*
-+		 * Empty dependencies indicate a removed package (pure meta),
-+		 * use the first available group after ours has been pruned
-+		 */
-+		xbps_array_get_cstring_nocopy(array, 0, &newpkg);
-+		switch_alt_group(xhp, keyname, newpkg, NULL);
-+		return;
-+	}
-+
-+	/*
-+	 * Use the last group, as this indicates that a transitional metapackage
-+	 * is replacing the original and therefore a new package has registered
-+	 * a replacement group, which should be last in the array (most recent).
-+	 */
-+	xbps_array_get_cstring_nocopy(array, grp_count - 1, &newpkg);
-+
-+	/* put the new package as head */
-+	kstr = xbps_string_create_cstring(newpkg);
-+	xbps_remove_string_from_array(array, newpkg);
-+	xbps_array_add_first(array, kstr);
-+	xbps_array_get_cstring_nocopy(array, 0, &newpkg);
-+	xbps_object_release(kstr);
-+
-+	switch_alt_group(xhp, keyname, newpkg, NULL);
-+}
-+
-+
- static void
--remove_obsoletes(struct xbps_handle *xhp, xbps_dictionary_t pkgd, xbps_dictionary_t repod)
-+remove_obsoletes(struct xbps_handle *xhp, char *pkgname, const char *pkgver,
-+		xbps_dictionary_t repod)
- {
- 	xbps_array_t allkeys;
-+	xbps_dictionary_t pkgd, pkgd_alts, repod_alts;
- 
--	allkeys = xbps_dictionary_all_keys(pkgd);
-+	pkgd = xbps_pkgdb_get_pkg(xhp, pkgname);
-+	if (xbps_object_type(pkgd) != XBPS_TYPE_DICTIONARY) {
-+		return;
-+	}
-+
-+	pkgd_alts = xbps_dictionary_get(pkgd, "alternatives");
-+	repod_alts = xbps_dictionary_get(repod, "alternatives");
-+
-+	if (xbps_object_type(pkgd_alts) != XBPS_TYPE_DICTIONARY) {
-+		return;
-+	}
-+
-+	allkeys = xbps_dictionary_all_keys(pkgd_alts);
- 	for (unsigned int i = 0; i < xbps_array_count(allkeys); i++) {
- 		xbps_array_t array, array_repo;
- 		xbps_object_t keysym;
- 		const char *keyname;
- 
- 		keysym = xbps_array_get(allkeys, i);
--		array = xbps_dictionary_get_keysym(pkgd, keysym);
-+		array = xbps_dictionary_get_keysym(pkgd_alts, keysym);
- 		keyname = xbps_dictionary_keysym_cstring_nocopy(keysym);
- 
--		array_repo = xbps_dictionary_get(repod, keyname);
-+		array_repo = xbps_dictionary_get(repod_alts, keyname);
- 		if (!xbps_array_equals(array, array_repo)) {
- 			remove_symlinks(xhp, array, keyname);
- 		}
-+
-+		/*
-+		 * There is nothing left in the alternatives group, which means
-+		 * the package is being upgraded and is removing it; if we don't
-+		 * prune it, the system will keep it set after removal of its
-+		 * parent package, but it will be empty and invalid...
-+		 */
-+		if (xbps_array_count(array_repo) == 0) {
-+			prune_altgroup(xhp, repod, pkgname, pkgver, keyname);
-+		}
- 	}
- 	xbps_object_release(allkeys);
- }
-@@ -421,7 +522,7 @@ int
- xbps_alternatives_register(struct xbps_handle *xhp, xbps_dictionary_t pkg_repod)
- {
- 	xbps_array_t allkeys;
--	xbps_dictionary_t alternatives, pkg_alternatives, pkgd, pkgd_alts;
-+	xbps_dictionary_t alternatives, pkg_alternatives;
- 	const char *pkgver;
- 	char *pkgname;
- 	int rv = 0;
-@@ -431,10 +532,6 @@ xbps_alternatives_register(struct xbps_handle *xhp, xbps_dictionary_t pkg_repod)
- 	if (xhp->pkgdb == NULL)
- 		return EINVAL;
- 
--	pkg_alternatives = xbps_dictionary_get(pkg_repod, "alternatives");
--	if (!xbps_dictionary_count(pkg_alternatives))
--		return 0;
--
- 	alternatives = xbps_dictionary_get(xhp->pkgdb, "_XBPS_ALTERNATIVES_");
- 	if (alternatives == NULL) {
- 		alternatives = xbps_dictionary_create();
-@@ -449,17 +546,15 @@ xbps_alternatives_register(struct xbps_handle *xhp, xbps_dictionary_t pkg_repod)
- 	if (pkgname == NULL)
- 		return EINVAL;
- 
--	pkgd = xbps_pkgdb_get_pkg(xhp, pkgname);
--	if (xbps_object_type(pkgd) == XBPS_TYPE_DICTIONARY) {
--		/*
--		 * Compare alternatives from pkgdb and repo and
--		 * then remove obsolete symlinks.
--		 */
--		pkgd_alts = xbps_dictionary_get(pkgd, "alternatives");
--		if (xbps_object_type(pkgd_alts) == XBPS_TYPE_DICTIONARY) {
--			remove_obsoletes(xhp, pkgd_alts, pkg_alternatives);
--		}
--	}
-+	/*
-+	 * Compare alternatives from pkgdb and repo and then remove obsolete
-+	 * symlinks, also remove obsolete (empty) alternatives groups.
-+	 */
-+	remove_obsoletes(xhp, pkgname, pkgver, pkg_repod);
-+
-+	pkg_alternatives = xbps_dictionary_get(pkg_repod, "alternatives");
-+	if (!xbps_dictionary_count(pkg_alternatives))
-+		return 0;
- 
- 	allkeys = xbps_dictionary_all_keys(pkg_alternatives);
- 	for (unsigned int i = 0; i < xbps_array_count(allkeys); i++) {
-diff --git a/tests/xbps/xbps-alternatives/main_test.sh b/tests/xbps/xbps-alternatives/main_test.sh
-index fd66bcbf..4eddc411 100644
---- tests/xbps/xbps-alternatives/main_test.sh
-+++ tests/xbps/xbps-alternatives/main_test.sh
-@@ -674,6 +674,98 @@ respect_current_provider_body() {
- 	atf_check_equal $rv 0
- }
- 
-+atf_test_case prune_leftover_groups
-+
-+prune_leftover_groups_head() {
-+	atf_set "descr" "xbps-alternatives: prune leftover groups on upgrades"
-+}
-+prune_leftover_groups_body() {
-+	mkdir -p repo pkg_A/usr/bin pkg_B/usr/bin
-+	touch pkg_A/usr/bin/fileA pkg_B/usr/bin/fileB
-+	cd repo
-+	xbps-create -A noarch -n A-1.1_1 -s "A pkg" --alternatives "file:/usr/bin/file:/usr/bin/fileA" ../pkg_A
-+	atf_check_equal $? 0
-+	xbps-create -A noarch -n B-1.1_1 -s "B pkg" --alternatives "file:/usr/bin/file:/usr/bin/fileB" ../pkg_B
-+	atf_check_equal $? 0
-+	xbps-rindex -d -a $PWD/*.xbps
-+	atf_check_equal $? 0
-+	cd ..
-+
-+	# A is the current provider now
-+	xbps-install -r root --repository=repo -ydv A
-+	atf_check_equal $? 0
-+
-+	out=$(xbps-query -r root -p pkgver A)
-+	atf_check_equal $out A-1.1_1
-+
-+	# C will replace it via a transitional package
-+	mkdir -p pkg_C/usr/bin
-+	touch pkg_C/usr/bin/fileC
-+	rm pkg_A/usr/bin/fileA
-+	cd repo
-+	xbps-create -A noarch -n C-1.2_1 -s "C pkg" --alternatives "file:/usr/bin/file:/usr/bin/fileC" ../pkg_C
-+	atf_check_equal $? 0
-+	xbps-create -A noarch -n A-1.2_1 -s "A pkg" --dependencies "C>=1.2_1" ../pkg_A
-+	atf_check_equal $? 0
-+	xbps-rindex -d -a $PWD/*.xbps
-+	atf_check_equal $? 0
-+	cd ..
-+
-+	# C is now the current provider, via upgraded A
-+	# also install B, to make sure it doesn't get that first
-+	xbps-install -r root --repository=repo -ydv B A
-+
-+	out=$(xbps-query -r root -p pkgver A)
-+	atf_check_equal $out A-1.2_1
-+	out=$(xbps-query -r root -p pkgver B)
-+	atf_check_equal $out B-1.1_1
-+	out=$(xbps-query -r root -p pkgver C)
-+	atf_check_equal $out C-1.2_1
-+
-+	lnk=$(readlink -f root/usr/bin/file)
-+	rv=1
-+	if [ "$lnk" = "$PWD/root/usr/bin/fileC" ]; then
-+		rv=0
-+	fi
-+	echo "lnk: $lnk"
-+	atf_check_equal $rv 0
-+
-+	# Create a new provider, D; then make C a removed package
-+	mkdir -p pkg_D/usr/bin
-+	touch pkg_D/usr/bin/fileD
-+	rm pkg_C/usr/bin/fileC
-+	cd repo
-+	xbps-create -A noarch -n D-1.4_1 -s "D pkg" --alternatives "file:/usr/bin/file:/usr/bin/fileD" ../pkg_D
-+	atf_check_equal $? 0
-+	xbps-create -A noarch -n C-1.3_1 -s "C pkg" ../pkg_C
-+	atf_check_equal $? 0
-+	xbps-rindex -d -a $PWD/*.xbps
-+	atf_check_equal $? 0
-+	cd ..
-+
-+	# B is now the current provider, as it's the first group available after
-+	# pruning C; the system special cases packages without dependencies as
-+	# removed packages, so it will not assume a renamed replacement
-+	xbps-install -r root --repository=repo -ydv C D
-+
-+	out=$(xbps-query -r root -p pkgver A)
-+	atf_check_equal $out A-1.2_1
-+	out=$(xbps-query -r root -p pkgver B)
-+	atf_check_equal $out B-1.1_1
-+	out=$(xbps-query -r root -p pkgver C)
-+	atf_check_equal $out C-1.3_1
-+	out=$(xbps-query -r root -p pkgver D)
-+	atf_check_equal $out D-1.4_1
-+
-+	lnk=$(readlink -f root/usr/bin/file)
-+	rv=1
-+	if [ "$lnk" = "$PWD/root/usr/bin/fileB" ]; then
-+		rv=0
-+	fi
-+	echo "lnk: $lnk"
-+	atf_check_equal $rv 0
-+}
-+
- atf_init_test_cases() {
- 	atf_add_test_case register_one
- 	atf_add_test_case register_one_dangling
-@@ -692,4 +784,5 @@ atf_init_test_cases() {
- 	atf_add_test_case useless_switch
- 	atf_add_test_case remove_current_provider
- 	atf_add_test_case respect_current_provider
-+	atf_add_test_case prune_leftover_groups
- }
diff --git a/srcpkgs/xbps/patches/99-cc-alternative-workaround.patch b/srcpkgs/xbps/patches/99-cc-alternative-workaround.patch
deleted file mode 100644
index bfee308cb98..00000000000
--- a/srcpkgs/xbps/patches/99-cc-alternative-workaround.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git lib/package_alternatives.c lib/package_alternatives.c
-index ecdc40ae..2dbb6546 100644
---- lib/package_alternatives.c
-+++ lib/package_alternatives.c
-@@ -113,6 +113,9 @@ remove_symlinks(struct xbps_handle *xhp, xbps_array_t a, const char *grname)
- 	unsigned int i, cnt;
- 	struct stat st;
- 
-+	if (strcmp(grname, "cc") == 0)
-+		return 0;
-+
- 	cnt = xbps_array_count(a);
- 	for (i = 0; i < cnt; i++) {
- 		xbps_string_t str;
diff --git a/srcpkgs/xbps/patches/CVE-2020-7450.patch b/srcpkgs/xbps/patches/CVE-2020-7450.patch
deleted file mode 100644
index 30854f22ecf..00000000000
--- a/srcpkgs/xbps/patches/CVE-2020-7450.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-commit cf20e53d34446bcf8d1dd6c8da9fedf4dd5447ab
-Author: Duncan Overbruck <mail@duncano.de>
-Date:   Tue Jan 28 20:03:56 2020 +0100
-
-    lib/fetch: fix CVE-2020-7450
-
-diff --git lib/fetch/fetch.c lib/fetch/fetch.c
-index d0cce7b8..feaf768d 100644
---- lib/fetch/fetch.c
-+++ lib/fetch/fetch.c
-@@ -331,6 +331,8 @@ fetch_pctdecode(char *dst, const char *src, size_t dlen)
- 		}
- 		if (dlen-- > 0)
- 			*dst++ = c;
-+		else
-+			return (NULL);
- 	}
- 	return (s);
- }
-@@ -481,10 +483,14 @@ find_user:
- 	if (p != NULL && *p == '@') {
- 		/* username */
- 		q = fetch_pctdecode(u->user, URL, URL_USERLEN);
-+		if (q == NULL)
-+			goto ouch;
- 		/* password */
--		if (*q == ':')
-+		if (*q == ':') {
- 			q = fetch_pctdecode(u->pwd, q + 1, URL_PWDLEN);
--
-+			if (q == NULL)
-+				goto ouch;
-+		}
- 		p++;
- 	} else {
- 		p = URL;
diff --git a/srcpkgs/xbps/patches/pkg-config-cross.patch b/srcpkgs/xbps/patches/pkg-config-cross.patch
deleted file mode 100644
index 4990f9d1d47..00000000000
--- a/srcpkgs/xbps/patches/pkg-config-cross.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-We only care if the `pkg-config` bin is there, don't override
-it with the result from _which(). In the xbps-src world,
-pkg-config is a wrapper, that makes it cross compile easily.
-	--xtraeme
-
---- configure.orig	2019-12-26 14:48:59.160477429 +0100
-+++ configure	2019-12-26 14:50:45.476628591 +0100
-@@ -683,14 +683,14 @@ fi
- LIBARCHIVE_REQVER=3.3.3
- 
- printf "Checking for libarchive >= ${LIBARCHIVE_REQVER}  via pkg-config ... "
--if ! $PKGCONFIG_BIN --atleast-version=${LIBARCHIVE_REQVER} libarchive; then
-+if ! pkg-config --atleast-version=${LIBARCHIVE_REQVER} libarchive; then
- 	echo "libarchive.pc file not found, exiting."
- 	exit 1
- else
--	echo "found version $($PKGCONFIG_BIN --modversion libarchive)."
--	echo "CFLAGS += $($PKGCONFIG_BIN --cflags libarchive)" >>$CONFIG_MK
--	echo "LDFLAGS +=        $($PKGCONFIG_BIN --libs libarchive)" >>$CONFIG_MK
--	echo "STATIC_LIBS +=    $($PKGCONFIG_BIN --libs --static libarchive)" \
-+	echo "found version $(pkg-config --modversion libarchive)."
-+	echo "CFLAGS += $(pkg-config --cflags libarchive)" >>$CONFIG_MK
-+	echo "LDFLAGS +=        $(pkg-config --libs libarchive)" >>$CONFIG_MK
-+	echo "STATIC_LIBS +=    $(pkg-config --libs --static libarchive)" \
- 		>>$CONFIG_MK
- fi
- 
-@@ -698,17 +698,17 @@ fi
- # libssl with pkg-config support is required.
- #
- printf "Checking for libssl via pkg-config ... "
--if $PKGCONFIG_BIN --exists 'libssl < 1.2' && ! $PKGCONFIG_BIN --exists libtls ; then
--	echo "found OpenSSL version $($PKGCONFIG_BIN --modversion libssl)."
--elif $PKGCONFIG_BIN --exists libssl libtls; then
--	echo "found LibreSSL version $($PKGCONFIG_BIN --modversion libssl)."
-+if pkg-config --exists 'libssl < 1.2' && ! pkg-config --exists libtls ; then
-+	echo "found OpenSSL version $(pkg-config --modversion libssl)."
-+elif pkg-config --exists libssl libtls; then
-+	echo "found LibreSSL version $(pkg-config --modversion libssl)."
- else
- 	echo "libssl.pc file not found or incompatible version detected, exiting."
- 	exit 1
- fi
--echo "CFLAGS += $($PKGCONFIG_BIN --cflags libssl)" >>$CONFIG_MK
--echo "LDFLAGS +=        $($PKGCONFIG_BIN --libs libssl)" >>$CONFIG_MK
--echo "STATIC_LIBS +=    $($PKGCONFIG_BIN --libs --static libssl)" \
-+echo "CFLAGS += $(pkg-config --cflags libssl)" >>$CONFIG_MK
-+echo "LDFLAGS +=        $(pkg-config --libs libssl)" >>$CONFIG_MK
-+echo "STATIC_LIBS +=    $(pkg-config --libs --static libssl)" \
- 	>>$CONFIG_MK
- 
- #
-@@ -726,13 +726,13 @@ fi
- #
- if [ "$BUILD_TESTS" = "yes" ]; then
- 	printf "Checking for ATF via pkg-config ... "
--	if ! $PKGCONFIG_BIN --atleast-version=0.15 atf-c; then
-+	if ! pkg-config --atleast-version=0.15 atf-c; then
- 		echo "ATF >= 0.15 not found in PKG_CONFIG_LIBDIR, exiting."
- 		exit 1
- 	fi
--	echo "found version $($PKGCONFIG_BIN --modversion atf-c)."
--	echo "TEST_CFLAGS += $($PKGCONFIG_BIN --cflags atf-c)" >>$CONFIG_MK
--	echo "TEST_LDFLAGS += $($PKGCONFIG_BIN --libs atf-c)" >>$CONFIG_MK
-+	echo "found version $(pkg-config --modversion atf-c)."
-+	echo "TEST_CFLAGS += $(pkg-config --cflags atf-c)" >>$CONFIG_MK
-+	echo "TEST_LDFLAGS += $(pkg-config --libs atf-c)" >>$CONFIG_MK
- 	echo "BUILD_TESTS = yes" >>$CONFIG_MK
- 	BUILD_TESTS_VALUE=yes
- else
diff --git a/srcpkgs/xbps/patches/reverts-strict-rev.patch b/srcpkgs/xbps/patches/reverts-strict-rev.patch
deleted file mode 100644
index 541de940604..00000000000
--- a/srcpkgs/xbps/patches/reverts-strict-rev.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-commit 87ff41f401cb8b159859b65a04b398ac58a55e2d
-Author: Duncan Overbruck <mail@duncano.de>
-Date:   Tue Oct 29 13:13:21 2019 +0100
-
-    Revert "lib/util.c: verify revision in xbps_pkg_{version,revision,name}"
-    
-    This reverts commit 699b2bdd3b98b086ac989af3cf034135a7a6f570.
-
-diff --git lib/util.c lib/util.c
-index 6228d8fc..ee690304 100644
---- lib/util.c
-+++ lib/util.c
-@@ -50,16 +50,6 @@
- #pragma clang diagnostic ignored "-Wformat-nonliteral"
- #endif
- 
--static bool is_numeric(const char *str) {
--	if (str == NULL || str[0] == '\0'){
--		return false;
--	}
--	while (isdigit(str[0])) {
--		++str;
--	}
--	return str[0] == '\0';
--}
--
- /**
-  * @file lib/util.c
-  * @brief Utility routines
-@@ -127,22 +117,16 @@ xbps_pkg_is_ignored(struct xbps_handle *xhp, const char *pkg)
- const char *
- xbps_pkg_version(const char *pkg)
- {
--	const char *p, *r;
--	size_t p_len;
-+	const char *p;
- 
- 	if ((p = strrchr(pkg, '-')) == NULL)
- 		return NULL;
- 
--	++p; /* skip first '-' */
--	p_len = strlen(p);
--	for (unsigned int i = 0; i < p_len; i++) {
-+	for (unsigned int i = 0; i < strlen(p); i++) {
- 		if (p[i] == '_')
- 			break;
--		if (isdigit((unsigned char)p[i]) && (r = strchr(p + i + 1, '_'))) {
--			if (!is_numeric(r + 1)) {
--				break;
--			}
--			return p;
-+		if (isdigit((unsigned char)p[i]) && strchr(p, '_')) {
-+			return p + 1; /* skip first '-' */
- 		}
- 	}
- 	return NULL;
-@@ -224,47 +208,36 @@ xbps_binpkg_arch(const char *pkg)
- const char *
- xbps_pkg_revision(const char *pkg)
- {
--	const char *p, *r;
--	size_t p_len;
-+	const char *p;
- 
--	if ((p = strrchr(pkg, '-')) == NULL)
-+	assert(pkg != NULL);
-+
-+	/* Get the required revision */
-+	if ((p = strrchr(pkg, '_')) == NULL)
- 		return NULL;
- 
--	++p; /* skip first '-' */
--	p_len = strlen(p);
--	for (unsigned int i = 0; i < p_len; i++) {
--		if (p[i] == '_')
--			break;
--		if (isdigit((unsigned char)p[i]) && (r = strchr(p + i + 1, '_'))) {
--			++r; /* skip first '_' */
--			if (!is_numeric(r)) {
--				break;
--			}
--			return r;
--		}
--	}
--	return NULL;
-+	if (!isdigit((unsigned char)p[1]))
-+		return NULL;
-+
-+	return p + 1; /* skip first '_' */
- }
- 
- char *
- xbps_pkg_name(const char *pkg)
- {
--	const char *p, *r;
-+	const char *p;
- 	char *buf;
- 	unsigned int len;
--	size_t p_len;
- 	bool valid = false;
- 
- 	if ((p = strrchr(pkg, '-')) == NULL)
- 		return NULL;
- 
--	p_len = strlen(p);
--	/* i = 1 skips first '-' */
--	for (unsigned int i = 1; i < p_len; i++) {
-+	for (unsigned int i = 0; i < strlen(p); i++) {
- 		if (p[i] == '_')
- 			break;
--		if (isdigit((unsigned char)p[i]) && (r = strchr(p + i + 1, '_'))) {
--			valid = is_numeric(r + 1);
-+		if (isdigit((unsigned char)p[i]) && strchr(p, '_')) {
-+			valid = true;
- 			break;
- 		}
- 	}
-diff --git tests/xbps/libxbps/util/main.c tests/xbps/libxbps/util/main.c
-index 41aac6ee..9ae88f1c 100644
---- tests/xbps/libxbps/util/main.c
-+++ tests/xbps/libxbps/util/main.c
-@@ -43,19 +43,19 @@ ATF_TC_BODY(util_test, tc)
- 	ATF_CHECK_EQ(xbps_pkg_name("python-e_dbus"), NULL);
- 	ATF_CHECK_EQ(xbps_pkg_name("fs-utils-v1"), NULL);
- 	ATF_CHECK_EQ(xbps_pkg_name("fs-utils-v_1"), NULL);
--	ATF_CHECK_EQ(xbps_pkg_name("font-adobe-100dpi-1.8_blah"), NULL);
- 	ATF_CHECK_EQ(xbps_pkg_version("font-adobe-100dpi"), NULL);
- 	ATF_CHECK_EQ(xbps_pkg_version("font-adobe-100dpi-7.8"), NULL);
- 	ATF_CHECK_EQ(xbps_pkg_version("python-e_dbus"), NULL);
- 	ATF_CHECK_EQ(xbps_pkg_version("python-e_dbus-1"), NULL);
--	ATF_CHECK_EQ(xbps_pkg_version("font-adobe-100dpi-1.8_blah"), NULL);
--	ATF_CHECK_EQ(xbps_pkg_revision("systemd-43_1_0"), NULL);
- 	ATF_REQUIRE_STREQ(xbps_pkg_name("font-adobe-100dpi-7.8_2"), "font-adobe-100dpi");
- 	ATF_REQUIRE_STREQ(xbps_pkg_name("systemd-43_1"), "systemd");
-+	ATF_REQUIRE_STREQ(xbps_pkg_name("font-adobe-100dpi-1.8_blah"), "font-adobe-100dpi");
- 	ATF_REQUIRE_STREQ(xbps_pkg_name("python-e_dbus-1.0_1"), "python-e_dbus");
- 	ATF_REQUIRE_STREQ(xbps_pkg_version("font-adobe-100dpi-7.8_2"), "7.8_2");
-+	ATF_REQUIRE_STREQ(xbps_pkg_version("font-adobe-100dpi-1.8_blah"), "1.8_blah");
- 	ATF_REQUIRE_STREQ(xbps_pkg_version("python-e_dbus-1_1"), "1_1");
- 	ATF_REQUIRE_STREQ(xbps_pkg_version("fs-utils-v1_1"), "v1_1");
-+	ATF_REQUIRE_STREQ(xbps_pkg_revision("systemd-43_1_0"), "0");
- 	ATF_REQUIRE_STREQ(xbps_pkg_revision("systemd_21-43_0"), "0");
- 	ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd>=43"), "systemd");
- 	ATF_REQUIRE_STREQ(xbps_pkgpattern_name("systemd>43"), "systemd");
diff --git a/srcpkgs/xbps/patches/xbps-checkvers-subpkgs-fix.patch b/srcpkgs/xbps/patches/xbps-checkvers-subpkgs-fix.patch
deleted file mode 100644
index 92eee125208..00000000000
--- a/srcpkgs/xbps/patches/xbps-checkvers-subpkgs-fix.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-Sync xbps-checkvers(1) with code from 0.58.
-This fixes detection of subpkgs in xbps repos.
-	--xtraeme
-
---- bin/xbps-checkvers/main.c.orig	2019-10-27 09:50:11.000000000 +0100
-+++ bin/xbps-checkvers/main.c	2020-01-04 11:24:38.109708818 +0100
-@@ -46,22 +46,15 @@
- #define GOT_REVISION_VAR 	0x4
- 
- typedef struct _rcv_t {
--	const char *prog, *fname;
--	char *xbps_conf, *rootdir, *distdir;
--	char *buf;
--	size_t bufsz;
--	size_t len;
--	char *ptr;
-+	const char *prog, *fname, *format;
-+	char *xbps_conf, *rootdir, *distdir, *buf, *ptr, *cachefile;
-+	size_t bufsz, len;
- 	uint8_t have_vars;
-+	bool show_all, manual, installed;
- 	xbps_dictionary_t env;
- 	xbps_dictionary_t pkgd;
- 	xbps_dictionary_t cache;
- 	struct xbps_handle xhp;
--	bool show_all;
--	bool manual;
--	bool installed;
--	const char *format;
--	char *cachefile;
- } rcv_t;
- 
- typedef int (*rcv_check_func)(rcv_t *);
-@@ -535,9 +528,10 @@ static int
- rcv_check_version(rcv_t *rcv)
- {
- 	const char *repover = NULL;
--	char srcver[BUFSIZ] = { '\0' };
-+	char srcver[BUFSIZ] = { '\0' }, *binpkgname = NULL, *s = NULL;
- 	const char *pkgname, *version, *revision, *reverts, *repourl;
- 	int sz;
-+	size_t len;
- 
- 	assert(rcv);
- 
-@@ -568,17 +562,24 @@ rcv_check_version(rcv_t *rcv)
- 	if (sz < 0 || (size_t)sz >= sizeof srcver)
- 		exit(EXIT_FAILURE);
- 
-+	/* Check against binpkg's pkgname, not pkgname from template */
-+	s = strchr(rcv->fname, '/');
-+	len = s ? strlen(rcv->fname) - strlen(s) : strlen(rcv->fname);
-+	binpkgname = strndup(rcv->fname, len);
-+	assert(binpkgname);
-+
- 	repourl = NULL;
- 	if (rcv->installed) {
--		rcv->pkgd = xbps_pkgdb_get_pkg(&rcv->xhp, pkgname);
-+		rcv->pkgd = xbps_pkgdb_get_pkg(&rcv->xhp, binpkgname);
- 	} else {
--		rcv->pkgd = xbps_rpool_get_pkg(&rcv->xhp, pkgname);
-+		rcv->pkgd = xbps_rpool_get_pkg(&rcv->xhp, binpkgname);
- 		xbps_dictionary_get_cstring_nocopy(rcv->pkgd, "repository", &repourl);
- 	}
- 	xbps_dictionary_get_cstring_nocopy(rcv->pkgd, "pkgver", &repover);
- 	if (repover)
--		repover += strlen(pkgname)+1;
-+		repover += strlen(binpkgname)+1;
- 
-+	free(binpkgname);
- 	if (!repover && rcv->manual)
- 		;
- 	else if (rcv->show_all)
-@@ -717,7 +718,7 @@ main(int argc, char **argv)
- 		free(tmp);
- 	}
- 
--	rcv.cachefile = xbps_xasprintf("%s/.xbps-checkvers.plist", rcv.distdir);
-+	rcv.cachefile = xbps_xasprintf("%s/.xbps-checkvers-0.58.plist", rcv.distdir);
- 
- 	argc -= optind;
- 	argv += optind;
diff --git a/srcpkgs/xbps/template b/srcpkgs/xbps/template
index 14ed2b008db..b33d67d4860 100644
--- a/srcpkgs/xbps/template
+++ b/srcpkgs/xbps/template
@@ -1,7 +1,7 @@
 # Template file for 'xbps'
 pkgname=xbps
-version=0.57.1
-revision=9
+version=0.58
+revision=1
 bootstrap=yes
 build_style=configure
 short_desc="XBPS package system utilities"
@@ -10,7 +10,7 @@ license="BSD-2-Clause"
 homepage="https://github.com/void-linux/xbps"
 changelog="https://github.com/void-linux/xbps/blob/master/NEWS"
 distfiles="https://github.com/void-linux/xbps/archive/${version}.tar.gz"
-checksum=bccad7c4187c467f322e6905fbe96839c00d2cbdda254c0c99b38eabeedb8678
+checksum=c9cb0823d4aa72e57b1531bc01eb17dc66d64b461b8861bc4e081465a5dff144
 
 hostmakedepends="pkgconf"
 checkdepends="kyua"

From 27df0f5fd10ace55e37f915ae7668de504b8b3be Mon Sep 17 00:00:00 2001
From: Juan RP <xtraeme@gmail.com>
Date: Thu, 30 Jan 2020 17:58:44 +0100
Subject: [PATCH 2/2] xbps-static: update to 0.58.

---
 srcpkgs/xbps-static/template | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/xbps-static/template b/srcpkgs/xbps-static/template
index ee59b724277..c852baa5196 100644
--- a/srcpkgs/xbps-static/template
+++ b/srcpkgs/xbps-static/template
@@ -1,8 +1,8 @@
 # Template file for 'xbps-static'
 # NOTE: keep this package synchronized with "srcpkgs/xbps"
 pkgname=xbps-static
-version=0.57.1
-revision=9
+version=0.58
+revision=1
 # only musl
 archs="*-musl"
 wrksrc="xbps-${version}"
@@ -16,11 +16,7 @@ license="BSD-2-Clause"
 homepage="https://www.voidlinux.org/xbps"
 changelog="https://github.com/void-linux/xbps/blob/master/NEWS"
 distfiles="https://github.com/void-linux/xbps/archive/${version}.tar.gz"
-checksum=bccad7c4187c467f322e6905fbe96839c00d2cbdda254c0c99b38eabeedb8678
-
-# LTO objects break static builds, override
-CFLAGS="-fno-lto"
-LDFLAGS="-fno-lto"
+checksum=c9cb0823d4aa72e57b1531bc01eb17dc66d64b461b8861bc4e081465a5dff144
 
 do_configure() {
 	./configure --prefix=/usr --sysconfdir=/etc --enable-static

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PR PATCH] [Merged]: xbps: update to 0.58
  2020-01-30 16:59 [PR PATCH] xbps: update to 0.58 voidlinux-github
@ 2020-01-30 17:07 ` voidlinux-github
  0 siblings, 0 replies; 2+ messages in thread
From: voidlinux-github @ 2020-01-30 17:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 165 bytes --]

There's a merged pull request on the void-packages repository

xbps: update to 0.58
https://github.com/void-linux/void-packages/pull/18665

Description:
yours truly

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-01-30 17:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-30 16:59 [PR PATCH] xbps: update to 0.58 voidlinux-github
2020-01-30 17:07 ` [PR PATCH] [Merged]: " voidlinux-github

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).