Browse Source

dynamically start busybox’ services

Thorsten Glaser 10 years ago
parent
commit
25b0faf950
2 changed files with 18 additions and 6 deletions
  1. 11 0
      package/busybox/Makefile
  2. 7 6
      package/busybox/files/busybox.postinst

+ 11 - 0
package/busybox/Makefile

@@ -57,9 +57,20 @@ do-configure:
 do-build:
 	$(MAKE) ${BB_MAKE_FLAGS} busybox
 
+BBDEFS:=(
+define BBDEF
+ifeq ($(ADK_RUNTIME_START_BUSYBOX_$(1)),y)
+BBDEFS+=echo BBDEF_$(1)=YES;
+else
+BBDEFS+=echo BBDEF_$(1)=NO;
+endif
+endef
+$(foreach OPTION,NETWORK CROND WATCHDOG SYSLOGD INETD NTPD,$(call BBDEF,$(OPTION)))
+
 do-install:
 	$(MAKE) ${BB_MAKE_FLAGS} install $(MAKE_TRACE)
 	$(CP) $(WRKINST)/* $(IDIR_BUSYBOX)/
+	${BBDEFS} :) >$(IDIR_BUSYBOX)/etc/.bb_defaults
 ifeq ($(BUSYBOX_IFUPDOWN),y)
 	$(INSTALL_DIR) $(IDIR_BUSYBOX)/etc/init.d
 	$(INSTALL_BIN) ./files/network $(IDIR_BUSYBOX)/etc/init.d

+ 7 - 6
package/busybox/files/busybox.postinst

@@ -1,12 +1,13 @@
 #!/bin/sh
 if [ -z $IPKG_INSTROOT ];then chmod u+s /bin/busybox;fi
 . $IPKG_INSTROOT/etc/functions.sh
-add_rcconf network YES
-add_rcconf crond NO
-add_rcconf watchdog NO
+. $IPKG_INSTROOT/etc/.bb_defaults
+add_rcconf network ${BBDEF_NETWORK}
+add_rcconf crond ${BBDEF_CROND}
+add_rcconf watchdog ${BBDEF_WATCHDOG}
 add_rcconf watchdog_flags '-t 10 -T 20'
-add_rcconf syslogd NO
+add_rcconf syslogd ${BBDEF_SYSLOGD}
 add_rcconf syslogd_flags '-C32'
-add_rcconf inetd NO
-add_rcconf ntpd NO
+add_rcconf inetd ${BBDEF_INETD}
+add_rcconf ntpd ${BBDEF_NTPD}
 add_rcconf ntpd_flags '-p time.fu-berlin.de'