From a0bbe0d6ce12fd8ca7d60061ed6756c247fc45d9 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Tue, 16 Sep 2014 11:56:19 +0000 Subject: postinst trigger: the new postinst trigger broke IB Signed-off-by: John Crispin git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42571 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/Makefile | 6 +++--- package/base-files/files/lib/functions.sh | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'package') diff --git a/package/Makefile b/package/Makefile index a42b4b0dd0..a6b34be0f4 100644 --- a/package/Makefile +++ b/package/Makefile @@ -59,6 +59,7 @@ endif # where to build (and put) .ipk packages OPKG:= \ + IPKG_NO_SCRIPT=1 \ IPKG_TMP=$(TMP_DIR)/ipkg \ IPKG_INSTROOT=$(TARGET_DIR) \ IPKG_CONF_DIR=$(STAGING_DIR)/etc \ @@ -108,9 +109,8 @@ $(curdir)/install: $(TMP_DIR)/.build @mkdir -p $(TARGET_DIR)/etc/rc.d @( \ cd $(TARGET_DIR); \ - for script in ./etc/init.d/*; do \ - grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ - IPKG_INSTROOT=$(TARGET_DIR) $$(which bash) ./etc/rc.common $$script enable; \ + for script in ./usr/lib/opkg/info/*.postinst; do \ + IPKG_INSTROOT=$(TARGET_DIR) $$(which bash) $$script; \ done || true \ ) @-find $(TARGET_DIR) -name CVS | $(XARGS) rm -rf diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 67f4a046e5..fafb7a340f 100755 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -197,9 +197,12 @@ default_postinst() { done done } - [ -n "${IPKG_INSTROOT}" -o "$PKG_UPGRADE" = "1" ] || for i in `cat /usr/lib/opkg/info/${name}.list | grep "^/etc/init.d/"`; do - $i enable - $i start + [ "$PKG_UPGRADE" = "1" ] || for i in `cat ${IPKG_INSTROOT}/usr/lib/opkg/info/${name}.list | grep "^/etc/init.d/"`; do + [ -n "${IPKG_INSTROOT}" ] && $(which bash) ${IPKG_INSTROOT}/etc/rc.common ${IPKG_INSTROOT}$i enable; \ + [ -n "${IPKG_INSTROOT}" ] || { + $i enable + $i start + } done return 0 } -- cgit v1.2.3