diff options
author | bapt <bapt@FreeBSD.org> | 2013-12-16 19:16:41 +0800 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2013-12-16 19:16:41 +0800 |
commit | 0c0bc97d9b5518ce6ef374d4fd2309ede942d620 (patch) | |
tree | e156495ba35da4ab796cf9cc4ce9aa0e796ae94b /ports-mgmt/pkg-devel | |
parent | 30e10e1d3c1d2aba115571f87754d3a229fa9391 (diff) | |
download | freebsd-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)
Diffstat (limited to 'ports-mgmt/pkg-devel')
-rw-r--r-- | ports-mgmt/pkg-devel/Makefile | 1 | ||||
-rw-r--r-- | ports-mgmt/pkg-devel/files/patch-libpkg_pkg_config | 28 |
2 files changed, 29 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); + } |