Sfoglia il codice sorgente

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

Waldemar Brodkorb 10 anni fa
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/