diff --git a/srcpkgs/xbps/patches/10075c2.patch b/srcpkgs/xbps/patches/10075c2.patch new file mode 100644 index 00000000000..818c53cd719 --- /dev/null +++ b/srcpkgs/xbps/patches/10075c2.patch @@ -0,0 +1,33 @@ +commit 10075c28e5065e948cac707285681f6541759873 +Author: Juan RP +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/template b/srcpkgs/xbps/template index 7b75888a38a..0be0c91c355 100644 --- a/srcpkgs/xbps/template +++ b/srcpkgs/xbps/template @@ -1,7 +1,7 @@ # Template file for 'xbps' pkgname=xbps version=0.57.1 -revision=6 +revision=7 bootstrap=yes build_style=configure short_desc="XBPS package system utilities"