aboutsummaryrefslogtreecommitdiffstats
path: root/ports-mgmt/pkg
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2014-10-07 14:53:49 +0800
committerbapt <bapt@FreeBSD.org>2014-10-07 14:53:49 +0800
commit2bb745786550a2d4efd6a2d47f00d7484f63024e (patch)
treed729b25d0ded9508d8753c66186f65eacf1add74 /ports-mgmt/pkg
parent0694386a49d02cc034eb9e267af310aea9813d04 (diff)
downloadfreebsd-ports-gnome-2bb745786550a2d4efd6a2d47f00d7484f63024e.tar.gz
freebsd-ports-gnome-2bb745786550a2d4efd6a2d47f00d7484f63024e.tar.zst
freebsd-ports-gnome-2bb745786550a2d4efd6a2d47f00d7484f63024e.zip
Fix a regression that made some plist errors non fatal
Reported by: antoine
Diffstat (limited to 'ports-mgmt/pkg')
-rw-r--r--ports-mgmt/pkg/Makefile2
-rw-r--r--ports-mgmt/pkg/files/patch-plist-non-fatal31
2 files changed, 32 insertions, 1 deletions
diff --git a/ports-mgmt/pkg/Makefile b/ports-mgmt/pkg/Makefile
index 216760646ccf..b44ef20f695b 100644
--- a/ports-mgmt/pkg/Makefile
+++ b/ports-mgmt/pkg/Makefile
@@ -2,7 +2,7 @@
PORTNAME= pkg
DISTVERSION= 1.3.8
-PORTREVISION= 2
+PORTREVISION= 3
_PKG_VERSION= ${DISTVERSION}
CATEGORIES= ports-mgmt
MASTER_SITES= \
diff --git a/ports-mgmt/pkg/files/patch-plist-non-fatal b/ports-mgmt/pkg/files/patch-plist-non-fatal
new file mode 100644
index 000000000000..50edf9dcaacc
--- /dev/null
+++ b/ports-mgmt/pkg/files/patch-plist-non-fatal
@@ -0,0 +1,31 @@
+diff --git libpkg/pkg_ports.c libpkg/pkg_ports.c
+index 33a29d0..21182b4 100644
+--- libpkg/pkg_ports.c
++++ libpkg/pkg_ports.c
+@@ -1141,7 +1141,7 @@ int
+ ports_parse_plist(struct pkg *pkg, const char *plist, const char *stage)
+ {
+ char *line = NULL;
+- int ret = EPKG_OK;
++ int ret, rc = EPKG_OK;
+ struct plist *pplist;
+ FILE *plist_f;
+ size_t linecap = 0;
+@@ -1162,6 +1162,8 @@ ports_parse_plist(struct pkg *pkg, const char *plist, const char *stage)
+ if (line[linelen - 1] == '\n')
+ line[linelen - 1] = '\0';
+ ret = plist_parse_line(pkg, pplist, line);
++ if (rc == EPKG_OK)
++ rc = ret;
+ }
+
+ free(line);
+@@ -1185,7 +1187,7 @@ ports_parse_plist(struct pkg *pkg, const char *plist, const char *stage)
+
+ plist_free(pplist);
+
+- return (ret);
++ return (rc);
+ }
+
+ int