busybox: alternatives: accomodate CONFIG_BUSYBOX_CUSTOM=y
[openwrt/openwrt.git] / package / utils / busybox / Makefile
index b6091bfcd7a6a4ae8f87cfd8d475f0385ed7140d..ebc824e4351f3018dc887039735b730db27b47ab 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=busybox
 PKG_VERSION:=1.26.2
-PKG_RELEASE:=5
+PKG_RELEASE:=7
 PKG_FLAGS:=essential
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
@@ -36,6 +36,9 @@ else
   BB_MAKE_VERBOSE :=
 endif
 
+BUSYBOX_SYM=$(if $(CONFIG_BUSYBOX_CUSTOM),CONFIG,DEFAULT)
+BUSYBOX_IF_ENABLED=$(if $(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_$(1)),$(2))
+
 define Package/busybox
   SECTION:=base
   CATEGORY:=Base system
@@ -44,7 +47,19 @@ define Package/busybox
   URL:=http://busybox.net/
   DEPENDS:=+BUSYBOX_USE_LIBRPC:librpc +BUSYBOX_CONFIG_PAM:libpam +BUSYBOX_CONFIG_NTPD:jsonfilter
   MENU:=1
-  ALTERNATIVES:=100:/sbin/ip:/bin/busybox
+  ALTERNATIVES:=\
+    $(call BUSYBOX_IF_ENABLED,KILL,    100:/bin/kill:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,PS,      100:/bin/ps:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,WATCH,   100:/bin/watch:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,IP,      100:/sbin/ip:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,FREE,    100:/usr/bin/free:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,PGREP,   100:/usr/bin/pgrep:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,PKILL,   100:/usr/bin/pkill:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,PMAP,    100:/usr/bin/pmap:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,PWDX,    100:/usr/bin/pwdx:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,TOP,     100:/usr/bin/top:/bin/busybox) \
+    $(call BUSYBOX_IF_ENABLED,UPTIME,  100:/usr/bin/uptime:/bin/busybox) \
+
 endef
 
 define Package/busybox/description
@@ -56,8 +71,6 @@ define Package/busybox/config
        source "$(SOURCE)/Config.in"
 endef
 
-BUSYBOX_SYM=$(if $(CONFIG_BUSYBOX_CUSTOM),CONFIG,DEFAULT)
-
 # don't create a version string containing the actual timestamp
 export KCONFIG_NOTIMESTAMP=1