summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McDermott <patrick.mcdermott@libiquity.com>2020-11-22 18:21:06 (EST)
committer Patrick McDermott <patrick.mcdermott@libiquity.com>2020-11-23 05:49:37 (EST)
commitd711e8cd5e0d7186dad840b9883a97a93f2dd383 (patch)
treeb06b1043ceb00e56947009a3d1d2efeb9cb87ec4
parentdd3d64da2f1fb5966b7b1bd36b20ab902f1ccedd (diff)
Make opkg-cl and u-a run saved busybox sh link
-rwxr-xr-xbuild3
-rw-r--r--changelog4
-rw-r--r--patches/run-scripts-with-saved-busybox.patch15
3 files changed, 21 insertions, 1 deletions
diff --git a/build b/build
index 7b25cb7..b8a68e0 100755
--- a/build
+++ b/build
@@ -29,7 +29,8 @@ install: build
install -m 0755 -d dest/usr/sbin/
ln -sf /usr/bin/opkg-cert dest/usr/sbin/opkg-key
@# opkg-lede's CMake build system doesn't install this...
- sed 's|@opkglibdir@|/var/lib|g' src/utils/update-alternatives.in \
+ sed '1s|^.*$$|#!/var/lib/opkg/bin/sh|; s|@opkglibdir@|/var/lib|g' \
+ src/utils/update-alternatives.in \
>dest/usr/bin/update-alternatives
oh-fixperms
oh-strip -k
diff --git a/changelog b/changelog
index c72e1be..ee248ce 100644
--- a/changelog
+++ b/changelog
@@ -7,6 +7,10 @@ opkg-lede (0+git20190131.d4ba162-7) trunk
attempts to execute gzip after removing busybox, whereas opkg
didn't) and
- Accepts an -a/--host-architecture option for multiarch support.
+ * opkg-lede: Make opkg-cl and update-alternatives run the copy of
+ busybox saved by /usr/bin/opkg instead of using /bin/sh (which will
+ be a link managed by update-alternatives in a future version of
+ busybox).
-- Patrick McDermott <patrick.mcdermott@libiquity.com> Thu, 18 Jun 2020 12:50:01 -0400
diff --git a/patches/run-scripts-with-saved-busybox.patch b/patches/run-scripts-with-saved-busybox.patch
new file mode 100644
index 0000000..ee9c960
--- /dev/null
+++ b/patches/run-scripts-with-saved-busybox.patch
@@ -0,0 +1,15 @@
+Author: Patrick McDermott <patrick.mcdermott@libiquity.com>
+Subject: Run scripts with saved busybox
+
+diff -Naurp src.orig/libopkg/pkg.c src/libopkg/pkg.c
+--- src.orig/libopkg/pkg.c 2019-01-31 04:17:16.000000000 -0500
++++ src/libopkg/pkg.c 2020-11-22 17:58:50.557357196 -0500
+@@ -1404,7 +1404,7 @@ int pkg_run_script(pkg_t * pkg, const ch
+ sprintf_alloc(&cmd, "%s %s", path, args);
+ free(path);
+ {
+- const char *argv[] = { "/bin/sh", "-c", cmd, NULL };
++ const char *argv[] = { "/var/lib/opkg/bin/sh", cmd, NULL };
+ err = xsystem(argv);
+ }
+ free(cmd);