From d0b88b606754cccb39b536dc921af268a1ef3ee8 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sun, 28 Aug 2016 22:56:16 +0200 Subject: [PATCH] Revert "opkg: disable the use of vfork for the host build" This reverts commit 02e3c718e9ad0c14aa3cf359ba2a4763e81df805. Currently the vfork() code path in opkg is broken and relies on unsupported ftello() / fseeko() operations on pipes - we need to restructure the code before we can reconsider this approach. Signed-off-by: Jo-Philipp Wich --- package/system/opkg/Makefile | 2 +- .../system/opkg/patches/280-use-vfork.patch | 19 +++++++------------ 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/package/system/opkg/Makefile b/package/system/opkg/Makefile index 446463ec85..67ceb7cafc 100644 --- a/package/system/opkg/Makefile +++ b/package/system/opkg/Makefile @@ -109,7 +109,7 @@ endef Package/opkg-smime/conffiles = $(Package/opkg/conffiles) -TARGET_CFLAGS += -ffunction-sections -fdata-sections -DOPKG_USE_VFORK=1 +TARGET_CFLAGS += -ffunction-sections -fdata-sections EXTRA_CFLAGS += $(TARGET_CPPFLAGS) CONFIGURE_ARGS += \ diff --git a/package/system/opkg/patches/280-use-vfork.patch b/package/system/opkg/patches/280-use-vfork.patch index fc6058a701..1c46f52b02 100644 --- a/package/system/opkg/patches/280-use-vfork.patch +++ b/package/system/opkg/patches/280-use-vfork.patch @@ -1,25 +1,20 @@ --- a/libbb/gz_open.c +++ b/libbb/gz_open.c -@@ -29,7 +29,12 @@ +@@ -29,7 +29,7 @@ #include #include "libbb.h" -+#ifdef OPKG_USE_VFORK -+static const int gz_use_vfork = OPKG_USE_VFORK; -+#else - static int gz_use_vfork; -+#endif -+ +-static int gz_use_vfork; ++static const int gz_use_vfork = 1; FILE * gz_open(FILE *compressed_file, int *pid) -@@ -38,7 +43,9 @@ gz_open(FILE *compressed_file, int *pid) +@@ -38,8 +38,6 @@ gz_open(FILE *compressed_file, int *pid) off_t floc; int cfile = -1; -+#ifndef OPKG_USE_VFORK - gz_use_vfork = (getenv("OPKG_USE_VFORK") != NULL); -+#endif - +- gz_use_vfork = (getenv("OPKG_USE_VFORK") != NULL); +- if (gz_use_vfork) { /* Create a new file descriptor for the input stream + * (it *must* be associated with a file), and lseek() -- 2.25.1