aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/opkg
diff options
context:
space:
mode:
authorSteven Barth <cyrus@openwrt.org>2013-10-14 08:09:58 +0000
committerSteven Barth <cyrus@openwrt.org>2013-10-14 08:09:58 +0000
commitcde419ebfc0887286662288c15afe3ef442c4bf4 (patch)
treebbe160b56e5dc295f69cd5cd9b0eccc2cf33cfd8 /package/system/opkg
parent232a654833d1f968bc686d923d20769ec210142c (diff)
downloadupstream-cde419ebfc0887286662288c15afe3ef442c4bf4.tar.gz
upstream-cde419ebfc0887286662288c15afe3ef442c4bf4.tar.bz2
upstream-cde419ebfc0887286662288c15afe3ef442c4bf4.zip
opkg: ignore empty fields in package lists
This is to work around issues with package list generators creating empty fields in some environments. Based on a patch by Paul Selkrik <pselkrik@isc.org> Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 38390
Diffstat (limited to 'package/system/opkg')
-rw-r--r--package/system/opkg/Makefile2
-rw-r--r--package/system/opkg/patches/080-suppress-blank-package-fields.patch16
2 files changed, 17 insertions, 1 deletions
diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile
index 624f2edba2..0669ddf685 100644
--- a/package/system/opkg/Makefile
+++ b/package/system/opkg/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/version.mk
PKG_NAME:=opkg
PKG_REV:=618
PKG_VERSION:=$(PKG_REV)
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_SOURCE_PROTO:=svn
PKG_SOURCE_VERSION:=$(PKG_REV)
diff --git a/package/system/opkg/patches/080-suppress-blank-package-fields.patch b/package/system/opkg/patches/080-suppress-blank-package-fields.patch
new file mode 100644
index 0000000000..976b97d7d2
--- /dev/null
+++ b/package/system/opkg/patches/080-suppress-blank-package-fields.patch
@@ -0,0 +1,16 @@
+--- a/libopkg/parse_util.c
++++ b/libopkg/parse_util.c
+@@ -35,7 +35,12 @@ is_field(const char *type, const char *l
+ char *
+ parse_simple(const char *type, const char *line)
+ {
+- return trim_xstrdup(line + strlen(type) + 1);
++ char *field = trim_xstrdup(line + strlen(type) + 1);
++ if (strlen(field) == 0) {
++ free(field);
++ return NULL;
++ }
++ return field;
+ }
+
+ /*