diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/Makefile | 6 | ||||
-rwxr-xr-x | package/base-files/files/lib/functions.sh | 9 |
2 files changed, 9 insertions, 6 deletions
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 } |