aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2013-12-16 19:16:41 +0800
committerbapt <bapt@FreeBSD.org>2013-12-16 19:16:41 +0800
commit0c0bc97d9b5518ce6ef374d4fd2309ede942d620 (patch)
treee156495ba35da4ab796cf9cc4ce9aa0e796ae94b
parent30e10e1d3c1d2aba115571f87754d3a229fa9391 (diff)
downloadfreebsd-ports-gnome-0c0bc97d9b5518ce6ef374d4fd2309ede942d620.tar.gz
freebsd-ports-gnome-0c0bc97d9b5518ce6ef374d4fd2309ede942d620.tar.zst
freebsd-ports-gnome-0c0bc97d9b5518ce6ef374d4fd2309ede942d620.zip
Fix sefault while cleaning up
It only happens if one has list or key/value list in pkg.conf a workaround to update is to comment it out the time to upgrade Reported by: many Pointyhat to: bapt (again)
-rw-r--r--ports-mgmt/pkg-devel/Makefile1
-rw-r--r--ports-mgmt/pkg-devel/files/patch-libpkg_pkg_config28
-rw-r--r--ports-mgmt/pkg/Makefile1
-rw-r--r--ports-mgmt/pkg/files/patch-libpkg_pkg_config28
4 files changed, 58 insertions, 0 deletions
diff --git a/ports-mgmt/pkg-devel/Makefile b/ports-mgmt/pkg-devel/Makefile
index 559ac7612096..d172d25e6b65 100644
--- a/ports-mgmt/pkg-devel/Makefile
+++ b/ports-mgmt/pkg-devel/Makefile
@@ -2,6 +2,7 @@
PORTNAME= pkg
DISTVERSION= 1.2.4
+PORTREVISION= 1
CATEGORIES= ports-mgmt
MASTER_SITES= http://files.etoilebsd.net/pkg/ \
http://mirror.shatow.net/freebsd/${PORTNAME}/ \
diff --git a/ports-mgmt/pkg-devel/files/patch-libpkg_pkg_config b/ports-mgmt/pkg-devel/files/patch-libpkg_pkg_config
new file mode 100644
index 000000000000..208477937f38
--- /dev/null
+++ b/ports-mgmt/pkg-devel/files/patch-libpkg_pkg_config
@@ -0,0 +1,28 @@
+--- libpkg/pkg_config.c.orig 2013-12-16 08:52:39.000000000 +0100
++++ libpkg/pkg_config.c 2013-12-16 12:09:13.093549000 +0100
+@@ -293,6 +293,7 @@
+ static size_t c_size = sizeof(c) / sizeof(struct config_entry);
+
+ static void pkg_config_kv_free(struct pkg_config_kv *);
++static void pkg_config_value_free(struct pkg_config_value *);
+ static void pkg_config_free(struct pkg_config *conf);
+ static struct pkg_repo *pkg_repo_new(const char *name, const char *url);
+
+@@ -440,7 +441,7 @@
+ continue;
+ }
+ if (!conf->fromenv) {
+- pkg_config_free(conf);
++ HASH_FREE(conf->list, pkg_config_value, pkg_config_value_free);
+ conf->list = NULL;
+ obj_walk_array(cur, conf);
+ }
+@@ -452,7 +453,7 @@
+ continue;
+ }
+ if (!conf->fromenv) {
+- pkg_config_free(conf);
++ HASH_FREE(conf->kvlist, pkg_config_kv, pkg_config_kv_free);
+ conf->kvlist = NULL;
+ obj_walk_object(cur, conf);
+ }
diff --git a/ports-mgmt/pkg/Makefile b/ports-mgmt/pkg/Makefile
index 7a7fa23ca300..d73eebac927f 100644
--- a/ports-mgmt/pkg/Makefile
+++ b/ports-mgmt/pkg/Makefile
@@ -2,6 +2,7 @@
PORTNAME= pkg
DISTVERSION= 1.2.4
+PORTREVISION= 1
CATEGORIES= ports-mgmt
MASTER_SITES= http://files.etoilebsd.net/pkg/ \
http://mirror.shatow.net/freebsd/${PORTNAME}/ \
diff --git a/ports-mgmt/pkg/files/patch-libpkg_pkg_config b/ports-mgmt/pkg/files/patch-libpkg_pkg_config
new file mode 100644
index 000000000000..208477937f38
--- /dev/null
+++ b/ports-mgmt/pkg/files/patch-libpkg_pkg_config
@@ -0,0 +1,28 @@
+--- libpkg/pkg_config.c.orig 2013-12-16 08:52:39.000000000 +0100
++++ libpkg/pkg_config.c 2013-12-16 12:09:13.093549000 +0100
+@@ -293,6 +293,7 @@
+ static size_t c_size = sizeof(c) / sizeof(struct config_entry);
+
+ static void pkg_config_kv_free(struct pkg_config_kv *);
++static void pkg_config_value_free(struct pkg_config_value *);
+ static void pkg_config_free(struct pkg_config *conf);
+ static struct pkg_repo *pkg_repo_new(const char *name, const char *url);
+
+@@ -440,7 +441,7 @@
+ continue;
+ }
+ if (!conf->fromenv) {
+- pkg_config_free(conf);
++ HASH_FREE(conf->list, pkg_config_value, pkg_config_value_free);
+ conf->list = NULL;
+ obj_walk_array(cur, conf);
+ }
+@@ -452,7 +453,7 @@
+ continue;
+ }
+ if (!conf->fromenv) {
+- pkg_config_free(conf);
++ HASH_FREE(conf->kvlist, pkg_config_kv, pkg_config_kv_free);
+ conf->kvlist = NULL;
+ obj_walk_object(cur, conf);
+ }