From 33dd541790614765228a71477e1f8b2b6aa21ce1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 18 Oct 2013 19:54:20 +0200 Subject: reorganize the handling of busybox applets, which needs to be disabled when full programm is choosen by the user --- package/busybox/Config.in.manual | 170 ++++++++++++++++++++++++++++ package/busybox/Makefile | 18 +-- package/busybox/config/archival/Config.in | 20 ++-- package/busybox/config/editors/Config.in | 10 +- package/busybox/config/findutils/Config.in | 5 +- package/busybox/config/loginutils/Config.in | 2 +- package/busybox/config/miscutils/Config.in | 7 +- package/busybox/config/networking/Config.in | 10 +- package/busybox/config/util-linux/Config.in | 9 +- package/cfgfs/Makefile | 5 +- package/iproute2/Makefile | 6 +- package/tar/Makefile | 1 + 12 files changed, 221 insertions(+), 42 deletions(-) diff --git a/package/busybox/Config.in.manual b/package/busybox/Config.in.manual index ffba6e89b..9abe2774d 100644 --- a/package/busybox/Config.in.manual +++ b/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 + diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 4a8e8ea68..bda0c0165 100644 --- a/package/busybox/Makefile +++ b/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) diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in index eaa576bff..e13da8c0e 100644 --- a/package/busybox/config/archival/Config.in +++ b/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, diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in index f6e29ac34..21aaa090d 100644 --- a/package/busybox/config/editors/Config.in +++ b/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 diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in index 072f01bfc..25d925288 100644 --- a/package/busybox/config/findutils/Config.in +++ b/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. diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in index 1c36631f9..5538f0139 100644 --- a/package/busybox/config/loginutils/Config.in +++ b/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 diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in index 2e8404f0f..0a837cb64 100644 --- a/package/busybox/config/miscutils/Config.in +++ b/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 diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in index fcd6c33ea..74069af13 100644 --- a/package/busybox/config/networking/Config.in +++ b/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, diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in index e9ee30431..c3c297492 100644 --- a/package/busybox/config/util-linux/Config.in +++ b/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 diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile index 159bd229b..271827704 100644 --- a/package/cfgfs/Makefile +++ b/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@ diff --git a/package/iproute2/Makefile b/package/iproute2/Makefile index 310a0086d..40522c030 100644 --- a/package/iproute2/Makefile +++ b/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} diff --git a/package/tar/Makefile b/package/tar/Makefile index d8b6df756..a7e4d32fd 100644 --- a/package/tar/Makefile +++ b/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/ -- cgit v1.2.3