aboutsummaryrefslogtreecommitdiffstats
path: root/ports-mgmt
diff options
context:
space:
mode:
authorbrd <brd@FreeBSD.org>2018-05-10 00:00:37 +0800
committerbrd <brd@FreeBSD.org>2018-05-10 00:00:37 +0800
commitc5c22d5566d4d8238123887dca17a1612279ace8 (patch)
treeafab0cb706f1b0dd1cbf3ba930685c2312fea504 /ports-mgmt
parent24b280b99d8ce3329c692f59e870b86dc2a45abf (diff)
downloadfreebsd-ports-gnome-c5c22d5566d4d8238123887dca17a1612279ace8.tar.gz
freebsd-ports-gnome-c5c22d5566d4d8238123887dca17a1612279ace8.tar.zst
freebsd-ports-gnome-c5c22d5566d4d8238123887dca17a1612279ace8.zip
Apply patch for a segfault on upgrade
https://github.com/freebsd/pkg/issues/1663 Approved by: bapt
Diffstat (limited to 'ports-mgmt')
-rw-r--r--ports-mgmt/pkg/Makefile1
-rw-r--r--ports-mgmt/pkg/files/patch-166328
2 files changed, 29 insertions, 0 deletions
diff --git a/ports-mgmt/pkg/Makefile b/ports-mgmt/pkg/Makefile
index 68668f42ed28..98d98487b4dd 100644
--- a/ports-mgmt/pkg/Makefile
+++ b/ports-mgmt/pkg/Makefile
@@ -2,6 +2,7 @@
PORTNAME= pkg
DISTVERSION= 1.10.5
+PORTREVISION= 1
_PKG_VERSION= ${DISTVERSION}
CATEGORIES= ports-mgmt
MASTER_SITES= \
diff --git a/ports-mgmt/pkg/files/patch-1663 b/ports-mgmt/pkg/files/patch-1663
new file mode 100644
index 000000000000..e2c9c6a00cb4
--- /dev/null
+++ b/ports-mgmt/pkg/files/patch-1663
@@ -0,0 +1,28 @@
+diff --git a/libpkg/pkg_jobs_conflicts.c b/libpkg/pkg_jobs_conflicts.c
+index 886e100c..141c69f9 100644
+--- libpkg/pkg_jobs_conflicts.c.orig
++++ libpkg/pkg_jobs_conflicts.c
+@@ -477,7 +477,8 @@ pkg_conflicts_check_chain_conflict(struct pkg_job_universe_item *it,
+ it->pkg->uid);
+
+ if (p != NULL) {
+- pkg_jobs_universe_process_item(j->universe, p, &cun);
++ if (pkg_jobs_universe_process_item(j->universe, p, &cun))
++ continue;
+ assert(cun != NULL);
+ pkg_conflicts_register_chain(j, it, cun, fcur->path);
+ }
+diff --git a/libpkg/pkg_jobs_universe.c b/libpkg/pkg_jobs_universe.c
+index 1a5a2c72..725825ac 100644
+--- libpkg/pkg_jobs_universe.c.orig
++++ libpkg/pkg_jobs_universe.c
+@@ -570,6 +570,9 @@ pkg_jobs_universe_process_item(struct pkg_jobs_universe *universe, struct pkg *p
+ * flag that means that we have already tried to check our universe
+ */
+ rc = pkg_jobs_universe_add_pkg(universe, pkg, false, &found);
++ if (rc == EPKG_CONFLICT)
++ return (rc);
++
+ if (result)
+ *result = found;
+