void-packages/srcpkgs/xbps/patches/10075c2.patch
2020-01-04 13:10:33 +01:00

33 lines
1.1 KiB
Diff

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 */