diff options
author | brd <brd@FreeBSD.org> | 2018-05-10 00:00:37 +0800 |
---|---|---|
committer | brd <brd@FreeBSD.org> | 2018-05-10 00:00:37 +0800 |
commit | c5c22d5566d4d8238123887dca17a1612279ace8 (patch) | |
tree | afab0cb706f1b0dd1cbf3ba930685c2312fea504 /ports-mgmt | |
parent | 24b280b99d8ce3329c692f59e870b86dc2a45abf (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | ports-mgmt/pkg/files/patch-1663 | 28 |
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; + |