Browse Source

reorganize the handling of busybox applets, which needs to be disabled when full programm is choosen by the user

Waldemar Brodkorb 10 years ago
parent
commit
33dd541790

+ 170 - 0
package/busybox/Config.in.manual

@@ -21,3 +21,173 @@ endmenu
 config ADK_PACKAGE_UDHCPD
 	boolean
 	default BUSYBOX_APP_UDHCPD
+
+# disable busybox applets, when full programs are choosen
+config BUSYBOX_DISABLE_MOUNT
+	boolean
+	default y if ADK_PACKAGE_MOUNT
+	depends on ADK_PACKAGE_MOUNT
+	default n
+
+config BUSYBOX_DISABLE_UMOUNT
+	boolean
+	default y if ADK_PACKAGE_MOUNT
+	depends on ADK_PACKAGE_MOUNT
+	default n
+
+config BUSYBOX_DISABLE_TAR
+	boolean
+	default y if ADK_PACKAGE_TAR
+	depends on ADK_PACKAGE_TAR
+	default n
+
+config BUSYBOX_DISABLE_RPM
+	boolean
+	default y if ADK_PACKAGE_RPM
+	depends on ADK_PACKAGE_RPM
+	default n
+
+config BUSYBOX_DISABLE_BZIP2
+	boolean
+	default y if ADK_PACKAGE_BZIP2
+	depends on ADK_PACKAGE_BZIP2
+	default n
+
+config BUSYBOX_DISABLE_IP
+	boolean
+	default y if ADK_PACKAGE_IP
+	depends on ADK_PACKAGE_IP
+	default n
+
+config BUSYBOX_DISABLE_PATCH
+	boolean
+	default y if ADK_PACKAGE_PATCH
+	depends on ADK_PACKAGE_PATCH
+	default n
+
+config BUSYBOX_DISABLE_DIFF
+	boolean
+	default y if ADK_PACKAGE_DIFFUTILS
+	depends on ADK_PACKAGE_DIFFUTILS
+	default n
+
+config BUSYBOX_DISABLE_ED
+	boolean
+	default y if ADK_PACKAGE_ED
+	depends on ADK_PACKAGE_ED
+	default n
+
+config BUSYBOX_DISABLE_SED
+	boolean
+	default y if ADK_PACKAGE_SED
+	depends on ADK_PACKAGE_SED
+	default n
+
+config BUSYBOX_DISABLE_LESS
+	boolean
+	default y if ADK_PACKAGE_LESS
+	depends on ADK_PACKAGE_LESS
+	default n
+
+config BUSYBOX_DISABLE_HDPARM
+	boolean
+	default y if ADK_PACKAGE_HDPARM
+	depends on ADK_PACKAGE_HDPARM
+	default n
+
+config BUSYBOX_DISABLE_WATCHDOG
+	boolean
+	default y if ADK_PACKAGE_WATCHDOG
+	depends on ADK_PACKAGE_WATCHDOG
+	default n
+
+config BUSYBOX_DISABLE_PAM
+	boolean
+	default y if ADK_PACKAGE_PAM
+	depends on ADK_PACKAGE_PAM
+	default n
+
+config BUSYBOX_DISABLE_BRCTL
+	boolean
+	default y if ADK_PACKAGE_BRIDGE_UTILS
+	depends on ADK_PACKAGE_BRIDGE_UTILS
+	default n
+
+config BUSYBOX_DISABLE_ETHER_WAKE
+	boolean
+	default y if ADK_PACKAGE_ETHER_WAKE
+	depends on ADK_PACKAGE_ETHER_WAKE
+	default n
+
+config BUSYBOX_DISABLE_NTPD
+	boolean
+	default y if ADK_PACKAGE_OPENNTPD
+	depends on ADK_PACKAGE_OPENNTPD
+	default n
+
+config BUSYBOX_DISABLE_WGET
+	boolean
+	default y if ADK_PACKAGE_WGET
+	depends on ADK_PACKAGE_WGET
+	default n
+
+config BUSYBOX_DISABLE_AR
+	boolean
+	default y if ADK_PACKAGE_BINUTILS
+	depends on ADK_PACKAGE_BINUTILS
+	default n
+
+config BUSYBOX_DISABLE_CPIO
+	boolean
+	default y if ADK_PACKAGE_CPIO
+	depends on ADK_PACKAGE_CPIO
+	default n
+
+config BUSYBOX_DISABLE_XZ
+	boolean
+	default y if ADK_PACKAGE_XZ
+	depends on ADK_PACKAGE_XZ
+	default n
+
+config BUSYBOX_DISABLE_UNXZ
+	boolean
+	default y if ADK_PACKAGE_XZ
+	depends on ADK_PACKAGE_XZ
+	default n
+
+config BUSYBOX_DISABLE_UNZIP
+	boolean
+	default y if ADK_PACKAGE_UNZIP
+	depends on ADK_PACKAGE_UNZIP
+	default n
+
+config BUSYBOX_DISABLE_FBSET
+	boolean
+	default y if ADK_PACKAGE_FBSET
+	depends on ADK_PACKAGE_FBSET
+	default n
+
+config BUSYBOX_DISABLE_LSPCI
+	boolean
+	default y if ADK_PACKAGE_PCIUTILS
+	depends on ADK_PACKAGE_PCIUTILS
+	default n
+
+config BUSYBOX_DISABLE_LSUSB
+	boolean
+	default y if ADK_PACKAGE_LSUSB
+	depends on ADK_PACKAGE_LSUSB
+	default n
+
+config BUSYBOX_DISABLE_GREP
+	boolean
+	default y if ADK_PACKAGE_GREP
+	depends on ADK_PACKAGE_GREP
+	default n
+
+config BUSYBOX_DISABLE_FIND
+	boolean
+	default y if ADK_PACKAGE_FINDUTILS
+	depends on ADK_PACKAGE_FINDUTILS
+	default n
+

+ 9 - 9
package/busybox/Makefile

@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		busybox
 PKG_VERSION:=		1.20.2
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		e025414bc6cd79579cc7a32a45d3ae1c
 PKG_DESCR:=		Core utilities for embedded systems
 PKG_SECTION:=		base
@@ -43,17 +43,17 @@ else
 BB_MAKE_FLAGS+=		EXTRA_LDFLAGS="-static-libgcc"
 endif
 
-# XXX: Although this looks like all new symbols are enabled when 'make oldconfig' runs, they're not.
-#      In fact, you can pipe "yes ''" as well as "yes n", each time leading to the default value being
-#      chosen for each unknown symbol.
-#      A real solution for that task (disabling everything that's unknown, as we know better) is to
-#      upgrade ${TOPDIR}/config so it understands the oldnoconfig target, and using that to update
-#      the busybox config before compiling.
-#      The workaround for now is to patch all busybox symbols to default n inside the busybox source
-#      which do depend on non-existance of other packages outside the busybox source.
 do-configure:
+	# get all symbols from top level config
 	grep BUSYBOX_ $(TOPDIR)/.config|sed -e 's/BUSYBOX_/CONFIG_/' > \
 		${WRKBUILD}/.config
+	# remove all disabled symbols
+	for i in $$(grep "BUSYBOX_DISABLE" $(TOPDIR)/.config);do \
+		test -s "$$i" || continue; \
+		grep -v $${i#BUSYBOX_DISABLE} ${WRKBUILD}/.config > \
+		${WRKBUILD}/.config.tmp; \
+		cp ${WRKBUILD}/.config.tmp ${WRKBUILD}/.config; \
+	done
 	$(SED) 's;@IDIR@;${WRKINST};' ${WRKBUILD}/.config
 	yes '' | $(MAKE) ${BB_MAKE_FLAGS} oldconfig $(MAKE_TRACE)
 

+ 10 - 10
package/busybox/config/archival/Config.in

@@ -39,7 +39,7 @@ config BUSYBOX_FEATURE_SEAMLESS_Z
 
 config BUSYBOX_AR
 	bool "ar"
-	depends on !ADK_PACKAGE_BINUTILS
+	depends on !BUSYBOX_DISABLE_AR
 	default n  # needs to be improved to be able to replace binutils ar
 	help
 	  ar is an archival utility program used to create, modify, and
@@ -80,7 +80,7 @@ config BUSYBOX_FEATURE_AR_CREATE
 
 config BUSYBOX_BUNZIP2
 	bool "bunzip2"
-	depends on !ADK_PACKAGE_BZIP2
+	depends on !BUSYBOX_DISABLE_BZIP2
 	default n
 	help
 	  bunzip2 is a compression utility using the Burrows-Wheeler block
@@ -94,7 +94,7 @@ config BUSYBOX_BUNZIP2
 
 config BUSYBOX_BZIP2
 	bool "bzip2"
-	depends on !ADK_PACKAGE_BZIP2
+	depends on !BUSYBOX_DISABLE_BZIP2
 	default n
 	help
 	  bzip2 is a compression utility using the Burrows-Wheeler block
@@ -108,7 +108,7 @@ config BUSYBOX_BZIP2
 
 config BUSYBOX_CPIO
 	bool "cpio"
-	depends on !ADK_PACKAGE_CPIO
+	depends on !BUSYBOX_DISABLE_CPIO
 	default n
 	help
 	  cpio is an archival utility program used to create, modify, and
@@ -220,28 +220,27 @@ config BUSYBOX_LZOP_COMPR_HIGH
 
 config BUSYBOX_IPKG
 	bool "ipkg"
-	default y if ADK_TARGET_PACKAGE_IPKG
 	default n
 	help
 	  ipkg is the itsy package management system.
 
 config BUSYBOX_RPM2CPIO
 	bool "rpm2cpio"
-	depends on !ADK_PACKAGE_RPM
+	depends on !BUSYBOX_DISABLE_RPM
 	default n
 	help
 	  Converts a RPM file into a CPIO archive.
 
 config BUSYBOX_RPM
 	bool "rpm"
-	depends on !ADK_PACKAGE_RPM
+	depends on !BUSYBOX_DISABLE_RPM
 	default n
 	help
 	  Mini RPM applet - queries and extracts RPM packages.
 
 config BUSYBOX_TAR
 	bool "tar"
-	depends on !ADK_PACKAGE_TAR
+	depends on !BUSYBOX_DISABLE_TAR
 	default y
 	help
 	  tar is an archiving program. It's commonly used with gzip to
@@ -377,14 +376,14 @@ config BUSYBOX_LZMA
 
 config BUSYBOX_UNXZ
 	bool "unxz"
-	depends on !ADK_PACKAGE_XZ
+	depends on !BUSYBOX_DISABLE_UNXZ
 	default n
 	help
 	  unxz is a unlzma successor.
 
 config BUSYBOX_XZ
 	bool "Provide xz alias which supports only unpacking"
-	depends on !ADK_PACKAGE_XZ
+	depends on !BUSYBOX_DISABLE_XZ
 	default n
 	depends on BUSYBOX_UNXZ
 	help
@@ -393,6 +392,7 @@ config BUSYBOX_XZ
 
 config BUSYBOX_UNZIP
 	bool "unzip"
+	depends on !BUSYBOX_DISABLE_UNZIP
 	default n
 	help
 	  unzip will list or extract files from a ZIP archive,

+ 6 - 4
package/busybox/config/editors/Config.in

@@ -8,10 +8,11 @@ menu "Editors"
 
 config BUSYBOX_PATCH
 	bool "patch"
-	depends on !ADK_PACKAGE_PATCH
+	depends on !BUSYBOX_DISABLE_PATCH
 	default n
 	help
 	  Apply a unified diff formatted patch.
+
 config BUSYBOX_VI
 	bool "vi"
 	default y
@@ -160,8 +161,8 @@ config BUSYBOX_CMP
 
 config BUSYBOX_DIFF
 	bool "diff"
-	depends on !ADK_PACKAGE_DIFFUTILS
-	default n
+	depends on !BUSYBOX_DISABLE_DIFF
+	default y
 	help
 	  diff compares two files or directories and outputs the
 	  differences between them in a form that can be given to
@@ -184,6 +185,7 @@ config BUSYBOX_FEATURE_DIFF_DIR
 
 config BUSYBOX_ED
 	bool "ed"
+	depends on !BUSYBOX_DISABLE_ED
 	default y
 	help
 	  The original 1970's Unix text editor, from the days of teletypes.
@@ -192,7 +194,7 @@ config BUSYBOX_ED
 
 config BUSYBOX_SED
 	bool "sed"
-	depends on !ADK_PACKAGE_SED
+	depends on !BUSYBOX_DISABLE_SED
 	default y
 	help
 	  sed is used to perform text transformations on a file

+ 3 - 2
package/busybox/config/findutils/Config.in

@@ -8,7 +8,7 @@ menu "Finding Utilities"
 
 config BUSYBOX_FIND
 	bool "find"
-	depends on !ADK_PACKAGE_FINDUTILS
+	depends on !BUSYBOX_DISABLE_FIND
 	default y
 	help
 	  find is used to search your system to find specified files.
@@ -187,9 +187,10 @@ config BUSYBOX_FEATURE_FIND_LINKS
 	depends on BUSYBOX_FIND
 	help
 	  Support the 'find -links' option for matching number of links.
+
 config BUSYBOX_GREP
 	bool "grep"
-	depends on !ADK_PACKAGE_GREP
+	depends on !BUSYBOX_DISABLE_GREP
 	default y
 	help
 	  grep is used to search files for a specified pattern.

+ 1 - 1
package/busybox/config/loginutils/Config.in

@@ -229,7 +229,7 @@ config BUSYBOX_LOGIN_SESSION_AS_CHILD
 
 config BUSYBOX_PAM
 	bool "Support for PAM (Pluggable Authentication Modules)"
-	depends on !ADK_PACKAGE_PAM
+	depends on !BUSYBOX_DISABLE_PAM
 	default n
 	depends on BUSYBOX_LOGIN
 	help

+ 4 - 3
package/busybox/config/miscutils/Config.in

@@ -15,9 +15,10 @@ config BUSYBOX_CONSPY
 	  example:  conspy NUM      shared access to console num
 	  or        conspy -nd NUM  screenshot of console num
 	  or        conspy -cs NUM  poor man's GNU screen like
+
 config BUSYBOX_LESS
 	bool "less"
-	depends on !ADK_PACKAGE_LESS
+	depends on !BUSYBOX_DISABLE_LESS
 	default y
 	help
 	  'less' is a pager, meaning that it displays text files. It possesses
@@ -508,7 +509,7 @@ endchoice
 config BUSYBOX_HDPARM
 	bool "hdparm"
 	default n
-	depends on !ADK_PACKAGE_HDPARM
+	depends on !BUSYBOX_DISABLE_HDPARM
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  Get/Set hard drive parameters. Primarily intended for ATA
@@ -747,7 +748,7 @@ config BUSYBOX_WALL
 config BUSYBOX_WATCHDOG
 	bool "watchdog"
 	default n
-	depends on !ADK_PACKAGE_WATCHDOG
+	depends on !BUSYBOX_DISABLE_WATCHDOG
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  The watchdog utility is used with hardware or software watchdog

+ 5 - 5
package/busybox/config/networking/Config.in

@@ -157,7 +157,7 @@ config BUSYBOX_ARPING
 
 config BUSYBOX_BRCTL
 	bool "brctl"
-	depends on !ADK_PACKAGE_BRIDGE_UTILS
+	depends on !BUSYBOX_DISABLE_BRCTL
 	default n
 	select BUSYBOX_PLATFORM_LINUX
 	help
@@ -191,7 +191,7 @@ config BUSYBOX_DNSD
 
 config BUSYBOX_ETHER_WAKE
 	bool "ether-wake"
-	depends on !ADK_PACKAGE_ETHER_WAKE
+	depends on !BUSYBOX_DISABLE_ETHER_WAKE
 	default n
 	select BUSYBOX_PLATFORM_LINUX
 	help
@@ -601,7 +601,7 @@ config BUSYBOX_FEATURE_INETD_RPC
 
 config BUSYBOX_IP
 	bool "ip"
-	depends on !ADK_PACKAGE_IP
+	depends on !BUSYBOX_DISABLE_IP
 	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
@@ -747,7 +747,7 @@ config BUSYBOX_NSLOOKUP
 
 config BUSYBOX_NTPD
 	bool "ntpd"
-	depends on !ADK_PACKAGE_OPENNTPD
+	depends on !BUSYBOX_DISABLE_NTPD
 	default y
 	select BUSYBOX_PLATFORM_LINUX
 	help
@@ -1040,7 +1040,7 @@ config BUSYBOX_VCONFIG
 
 config BUSYBOX_WGET
 	bool "wget"
-	depends on !ADK_PACKAGE_WGET
+	depends on !BUSYBOX_DISABLE_WGET
 	default y
 	help
 	  wget is a utility for non-interactive download of files from HTTP,

+ 6 - 3
package/busybox/config/util-linux/Config.in

@@ -11,6 +11,7 @@ config BUSYBOX_BLOCKDEV
 	default n
 	help
 	  Performs some ioctls with block devices.
+
 config BUSYBOX_MDEV
 	bool "mdev"
 	default y
@@ -150,7 +151,7 @@ config BUSYBOX_FEATURE_DMESG_PRETTY
 
 config BUSYBOX_FBSET
 	bool "fbset"
-	depends on !ADK_PACKAGE_FBSET
+	depends on !BUSYBOX_DISABLE_FBSET
 	default y if ADK_TARGET_WITH_VGA
 	default n
 	select BUSYBOX_PLATFORM_LINUX
@@ -450,7 +451,7 @@ config BUSYBOX_LOSETUP
 
 config BUSYBOX_LSPCI
 	bool "lspci"
-	depends on !ADK_PACKAGE_PCIUTILS
+	depends on !BUSYBOX_DISABLE_LSPCI
 	default y if ADK_TARGET_WITH_PCI
 	default y if ADK_TARGET_WITH_MINIPCI
 	default n
@@ -463,7 +464,7 @@ config BUSYBOX_LSPCI
 
 config BUSYBOX_LSUSB
 	bool "lsusb"
-	depends on !ADK_PACKAGE_LSUSB
+	depends on !BUSYBOX_DISABLE_LSUSB
 	default y if ADK_TARGET_WITH_USB
 	default n
 	#select PLATFORM_LINUX
@@ -506,6 +507,7 @@ config BUSYBOX_MORE
 config BUSYBOX_MOUNT
 	bool "mount"
 	default y
+	depends on !BUSYBOX_DISABLE_MOUNT
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  All files and filesystems in Unix are arranged into one big directory
@@ -698,6 +700,7 @@ config BUSYBOX_SWITCH_ROOT
 config BUSYBOX_UMOUNT
 	bool "umount"
 	default y
+	depends on !BUSYBOX_DISABLE_UMOUNT
 	select BUSYBOX_PLATFORM_LINUX
 	help
 	  When you want to remove a mounted filesystem from its current mount

+ 3 - 2
package/cfgfs/Makefile

@@ -4,13 +4,14 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		cfgfs
-PKG_VERSION:=		1.0.9
-PKG_RELEASE:=		6
+PKG_VERSION:=		1.0.10
+PKG_RELEASE:=		1
 PKG_DESCR:=		compressed config filesystem
 PKG_SECTION:=		base
 PKG_URL:=		http://openadk.org/
 
 PKG_CFLINE_CFGFS:=	select BUSYBOX_COMM@
+PKG_CFLINE_CFGFS:=	select BUSYBOX_DIFF@
 PKG_CFLINE_CFGFS+=	select BUSYBOX_MD5SUM@
 PKG_CFLINE_CFGFS+=	select BUSYBOX_XARGS@
 PKG_CFLINE_CFGFS+=	select BUSYBOX_FEATURE_SORT_BIG@

+ 3 - 3
package/iproute2/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		iproute2
 PKG_VERSION:=		3.10.0
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		45fb5427fc723a0001c72b92c931ba02
 PKG_DESCR:=		iproute2 routing control utility
 PKG_SECTION:=		route
@@ -51,9 +51,9 @@ XAKE_FLAGS+=		CCOPTS="${TARGET_CFLAGS}" MFLAGS="CC=\"${TARGET_CC}\"" \
 CONFIGURE_ENV+=		CC="${TARGET_CC}" IPTC="${TARGET_CFLAGS}" IPTL="${TARGET_LDFLAGS}"
 
 ip-install:
-	${INSTALL_DIR} ${IDIR_IP}/{etc/iproute2,usr/sbin}
+	${INSTALL_DIR} ${IDIR_IP}/{etc/iproute2,bin}
 	${INSTALL_DATA} ${WRKINST}/etc/iproute2/* ${IDIR_IP}/etc/iproute2/
-	${INSTALL_BIN} ${WRKINST}/sbin/ip ${IDIR_IP}/usr/sbin/ip
+	${INSTALL_BIN} ${WRKINST}/sbin/ip ${IDIR_IP}/bin/ip
 
 tc-install:
 	${INSTALL_DIR} ${IDIR_TC}/{usr/sbin,usr/lib/tc}

+ 1 - 0
package/tar/Makefile

@@ -9,6 +9,7 @@ PKG_RELEASE:=		1
 PKG_MD5SUM:=		00d1e769c6af702c542cca54b728920d
 PKG_DESCR:=		GNU archiving application
 PKG_SECTION:=		archive
+PKG_DEPENDS:=		libgcc
 PKG_URL:=		http://mirrors.kernel.org/gnu/tar/
 PKG_SITES:=		http://mirrors.kernel.org/gnu/tar/