From 3169aae85ef4b26aec667376b0559b38582ccf52 Mon Sep 17 00:00:00 2001 From: Gustavo Zacarias Date: Thu, 8 Jul 2010 14:20:06 -0300 Subject: [PATCH] busybox: add 1.17.0, convert to gentargets, drop 1.12, deprecate 1.13 and 1.15 Closes #2167 [Peter: fix CONFIG_ID workaround for old uClibcs] Signed-off-by: Gustavo Zacarias Signed-off-by: Peter Korsgaard --- CHANGES | 1 + package/busybox/Config.in | 14 +- .../busybox-devmem.patch} | 0 ...ox-1.11.x.config => busybox-1.17.x.config} | 353 ++++++++++++------ package/busybox/busybox.mk | 234 ++++++------ 5 files changed, 372 insertions(+), 230 deletions(-) rename package/busybox/{busybox-1.16.2-devmem.patch => busybox-1.16.2/busybox-devmem.patch} (100%) rename package/busybox/{busybox-1.11.x.config => busybox-1.17.x.config} (77%) diff --git a/CHANGES b/CHANGES index ae6bd9a2d4..35e7fde1d6 100644 --- a/CHANGES +++ b/CHANGES @@ -58,6 +58,7 @@ #2143: buildroot compiler generates segfaulting statically linked exe.. #2155: Compression lzo don't set for ubifs #2166: [SECURITY] Update libpng to 1.2.44 + #2167: Bump busybox to 1.17.0, convert to gentargets, drop 1.12, ... 2010.05, Released May 30th, 2010: diff --git a/package/busybox/Config.in b/package/busybox/Config.in index 9e957e122c..dd13b3fa77 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -17,12 +17,9 @@ choice help Select the version of BusyBox you wish to use. - config BR2_BUSYBOX_VERSION_1_12_X - bool "BusyBox 1.12.x" - depends on BR2_DEPRECATED - config BR2_BUSYBOX_VERSION_1_13_X bool "BusyBox 1.13.x" + depends on BR2_DEPRECATED config BR2_BUSYBOX_VERSION_1_14_X bool "BusyBox 1.14.x" @@ -34,6 +31,9 @@ choice config BR2_BUSYBOX_VERSION_1_16_X bool "BusyBox 1.16.x" + config BR2_BUSYBOX_VERSION_1_17_X + bool "BusyBox 1.17.x" + config BR2_PACKAGE_BUSYBOX_SNAPSHOT bool "daily snapshot" @@ -41,11 +41,11 @@ endchoice config BR2_BUSYBOX_VERSION string - default "1.12.4" if BR2_BUSYBOX_VERSION_1_12_X default "1.13.4" if BR2_BUSYBOX_VERSION_1_13_X default "1.14.4" if BR2_BUSYBOX_VERSION_1_14_X default "1.15.3" if BR2_BUSYBOX_VERSION_1_15_X default "1.16.2" if BR2_BUSYBOX_VERSION_1_16_X + default "1.17.0" if BR2_BUSYBOX_VERSION_1_17_X config BR2_PACKAGE_BUSYBOX_FULLINSTALL bool "Run BusyBox's own full installation" @@ -61,12 +61,12 @@ config BR2_PACKAGE_BUSYBOX_FULLINSTALL config BR2_PACKAGE_BUSYBOX_CONFIG string "BusyBox configuration file to use?" - default "package/busybox/busybox-1.16.x.config" if BR2_PACKAGE_BUSYBOX_SNAPSHOT - default "package/busybox/busybox-1.11.x.config" if BR2_BUSYBOX_VERSION_1_12_X + default "package/busybox/busybox-1.17.x.config" if BR2_PACKAGE_BUSYBOX_SNAPSHOT default "package/busybox/busybox-1.13.x.config" if BR2_BUSYBOX_VERSION_1_13_X default "package/busybox/busybox-1.13.x.config" if BR2_BUSYBOX_VERSION_1_14_X default "package/busybox/busybox-1.13.x.config" if BR2_BUSYBOX_VERSION_1_15_X default "package/busybox/busybox-1.16.x.config" if BR2_BUSYBOX_VERSION_1_16_X + default "package/busybox/busybox-1.17.x.config" if BR2_BUSYBOX_VERSION_1_17_X help Some people may wish to use their own modified BusyBox configuration file, and will specify their config file location with this option. diff --git a/package/busybox/busybox-1.16.2-devmem.patch b/package/busybox/busybox-1.16.2/busybox-devmem.patch similarity index 100% rename from package/busybox/busybox-1.16.2-devmem.patch rename to package/busybox/busybox-1.16.2/busybox-devmem.patch diff --git a/package/busybox/busybox-1.11.x.config b/package/busybox/busybox-1.17.x.config similarity index 77% rename from package/busybox/busybox-1.11.x.config rename to package/busybox/busybox-1.17.x.config index c19df4ec7e..192bba29c3 100644 --- a/package/busybox/busybox-1.11.x.config +++ b/package/busybox/busybox-1.17.x.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.11.0 -# Thu Jun 26 08:43:59 2008 +# Busybox version: 1.17.0 +# Tue Jul 6 10:53:37 2010 # CONFIG_HAVE_DOT_CONFIG=y @@ -13,7 +13,9 @@ CONFIG_HAVE_DOT_CONFIG=y # General Configuration # CONFIG_DESKTOP=y -# CONFIG_FEATURE_ASSUME_UNICODE is not set +# CONFIG_EXTRA_COMPAT is not set +CONFIG_INCLUDE_SUSv2=y +# CONFIG_USE_PORTABLE_CODE is not set CONFIG_FEATURE_BUFFERS_USE_MALLOC=y # CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set @@ -22,9 +24,21 @@ CONFIG_FEATURE_VERBOSE_USAGE=y # CONFIG_FEATURE_COMPRESS_USAGE is not set CONFIG_FEATURE_INSTALLER=y # CONFIG_LOCALE_SUPPORT is not set -CONFIG_GETOPT_LONG=y +# CONFIG_UNICODE_SUPPORT is not set +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_LONG_OPTS=y CONFIG_FEATURE_DEVPTS=y CONFIG_FEATURE_CLEAN_UP=y +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y # CONFIG_FEATURE_PIDFILE is not set CONFIG_FEATURE_SUID=y # CONFIG_FEATURE_SUID_CONFIG is not set @@ -46,6 +60,7 @@ CONFIG_FEATURE_SYSLOG=y # CONFIG_FEATURE_SHARED_BUSYBOX is not set # CONFIG_LFS is not set CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_EXTRA_CFLAGS="" # # Debugging Options @@ -56,7 +71,6 @@ CONFIG_CROSS_COMPILER_PREFIX="" CONFIG_NO_DEBUG_LIB=y # CONFIG_DMALLOC is not set # CONFIG_EFENCE is not set -CONFIG_INCLUDE_SUSv2=y # # Installation Options @@ -86,6 +100,8 @@ CONFIG_FEATURE_EDITING_SAVEHISTORY=y CONFIG_FEATURE_TAB_COMPLETION=y # CONFIG_FEATURE_USERNAME_COMPLETION is not set CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +CONFIG_FEATURE_NON_POSIX_CP=y # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set CONFIG_FEATURE_COPYBUF_KB=4 CONFIG_MONOTONIC_SYSCALL=y @@ -99,68 +115,81 @@ CONFIG_FEATURE_HWIB=y # # Archival Utilities # +# CONFIG_FEATURE_SEAMLESS_XZ is not set +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +# CONFIG_FEATURE_SEAMLESS_BZ2 is not set +# CONFIG_FEATURE_SEAMLESS_GZ is not set +# CONFIG_FEATURE_SEAMLESS_Z is not set CONFIG_AR=y # CONFIG_FEATURE_AR_LONG_FILENAMES is not set +CONFIG_FEATURE_AR_CREATE=y CONFIG_BUNZIP2=y # CONFIG_BZIP2 is not set CONFIG_CPIO=y # CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set # CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set CONFIG_GUNZIP=y -# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set CONFIG_GZIP=y +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +# CONFIG_LZOP is not set +# CONFIG_LZOP_COMPR_HIGH is not set # CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set -# CONFIG_FEATURE_RPM_BZ2 is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_GZIP=y -CONFIG_FEATURE_TAR_BZIP2=y -CONFIG_FEATURE_TAR_LZMA=y -# CONFIG_FEATURE_TAR_COMPRESS is not set # CONFIG_FEATURE_TAR_AUTODETECT is not set CONFIG_FEATURE_TAR_FROM=y # CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y # CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set # CONFIG_UNCOMPRESS is not set CONFIG_UNLZMA=y # CONFIG_FEATURE_LZMA_FAST is not set +CONFIG_LZMA=y +CONFIG_UNXZ=y +CONFIG_XZ=y CONFIG_UNZIP=y -# -# Common options for cpio and tar -# -# CONFIG_FEATURE_DEB_TAR_GZ is not set -# CONFIG_FEATURE_DEB_TAR_BZ2 is not set -# CONFIG_FEATURE_DEB_TAR_LZMA is not set - # # Coreutils # CONFIG_BASENAME=y -# CONFIG_CAL is not set CONFIG_CAT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +CONFIG_TEST=y +CONFIG_FEATURE_TEST_64=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y +# CONFIG_CAL is not set CONFIG_CATV=y CONFIG_CHGRP=y CONFIG_CHMOD=y CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set CONFIG_CHROOT=y CONFIG_CKSUM=y # CONFIG_COMM is not set CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set CONFIG_CUT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y CONFIG_DD=y CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set CONFIG_FEATURE_DD_IBS_OBS=y CONFIG_DF=y -# CONFIG_FEATURE_DF_INODE is not set +# CONFIG_FEATURE_DF_FANCY is not set CONFIG_DIRNAME=y CONFIG_DOS2UNIX=y CONFIG_UNIX2DOS=y @@ -176,6 +205,7 @@ CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y CONFIG_FALSE=y CONFIG_FOLD=y +# CONFIG_FSYNC is not set CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y CONFIG_HOSTID=y @@ -215,8 +245,11 @@ CONFIG_RMDIR=y # CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set CONFIG_SEQ=y CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y CONFIG_SLEEP=y # CONFIG_FEATURE_FANCY_SLEEP is not set +# CONFIG_FEATURE_FLOAT_SLEEP is not set CONFIG_SORT=y CONFIG_FEATURE_SORT_BIG=y # CONFIG_SPLIT is not set @@ -231,12 +264,7 @@ CONFIG_TAIL=y CONFIG_FEATURE_FANCY_TAIL=y CONFIG_TEE=y CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y CONFIG_TOUCH=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y CONFIG_TRUE=y CONFIG_TTY=y CONFIG_UNAME=y @@ -268,7 +296,7 @@ CONFIG_FEATURE_AUTOWIDTH=y CONFIG_FEATURE_HUMAN_READABLE=y # -# Common options for md5sum, sha1sum +# Common options for md5sum, sha1sum, sha256sum, sha512sum # CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y @@ -276,6 +304,7 @@ CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y # Console Utilities # CONFIG_CHVT=y +# CONFIG_FGCONSOLE is not set CONFIG_CLEAR=y CONFIG_DEALLOCVT=y CONFIG_DUMPKMAP=y @@ -288,8 +317,18 @@ CONFIG_RESIZE=y CONFIG_FEATURE_RESIZE_PRINT=y CONFIG_SETCONSOLE=y # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETFONT is not set +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" CONFIG_SETKEYCODES=y CONFIG_SETLOGCONS=y +# CONFIG_SHOWKEY is not set + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y # # Debian Utilities @@ -308,12 +347,11 @@ CONFIG_WHICH=y # Editors # CONFIG_AWK=y -CONFIG_FEATURE_AWK_MATH=y +# CONFIG_FEATURE_AWK_LIBM is not set CONFIG_CMP=y CONFIG_DIFF=y -CONFIG_FEATURE_DIFF_BINARY=y +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set CONFIG_FEATURE_DIFF_DIR=y -# CONFIG_FEATURE_DIFF_MINIMAL is not set # CONFIG_ED is not set CONFIG_PATCH=y CONFIG_SED=y @@ -329,6 +367,7 @@ CONFIG_FEATURE_VI_READONLY=y CONFIG_FEATURE_VI_SETOPTS=y CONFIG_FEATURE_VI_SET=y CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y CONFIG_FEATURE_ALLOW_EXEC=y @@ -357,6 +396,7 @@ CONFIG_FEATURE_FIND_PRUNE=y CONFIG_FEATURE_FIND_PATH=y CONFIG_FEATURE_FIND_REGEX=y # CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set CONFIG_GREP=y CONFIG_FEATURE_GREP_EGREP_ALIAS=y CONFIG_FEATURE_GREP_FGREP_ALIAS=y @@ -370,8 +410,10 @@ CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y # # Init Utilities # +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set CONFIG_INIT=y -# CONFIG_DEBUG_INIT is not set CONFIG_FEATURE_USE_INITTAB=y CONFIG_FEATURE_KILL_REMOVED=y CONFIG_FEATURE_KILL_DELAY=0 @@ -381,6 +423,8 @@ CONFIG_FEATURE_EXTRA_QUIET=y # CONFIG_FEATURE_INIT_COREDUMPS is not set CONFIG_FEATURE_INITRD=y CONFIG_HALT=y +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" CONFIG_MESG=y # @@ -390,17 +434,19 @@ CONFIG_FEATURE_SHADOWPASSWDS=y # CONFIG_USE_BB_PWD_GRP is not set # CONFIG_USE_BB_SHADOW is not set CONFIG_USE_BB_CRYPT=y +# CONFIG_USE_BB_CRYPT_SHA is not set CONFIG_ADDGROUP=y +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set # CONFIG_FEATURE_ADDUSER_TO_GROUP is not set CONFIG_DELGROUP=y # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set # CONFIG_FEATURE_CHECK_NAMES is not set CONFIG_ADDUSER=y # CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +CONFIG_FIRST_SYSTEM_ID=100 +CONFIG_LAST_SYSTEM_ID=999 CONFIG_DELUSER=y CONFIG_GETTY=y -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y CONFIG_LOGIN=y # CONFIG_PAM is not set # CONFIG_LOGIN_SCRIPTS is not set @@ -422,40 +468,46 @@ CONFIG_VLOCK=y CONFIG_CHATTR=y CONFIG_FSCK=y CONFIG_LSATTR=y +# CONFIG_TUNE2FS is not set # # Linux Module Utilities # -# CONFIG_DEPMOD is not set -# CONFIG_FEATURE_DEPMOD_PRUNE_FANCY is not set -# CONFIG_FEATURE_DEPMOD_ALIAS is not set +# CONFIG_MODINFO is not set +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set CONFIG_INSMOD=y -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -CONFIG_FEATURE_INSMOD_LOAD_MAP=y -CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y CONFIG_RMMOD=y CONFIG_LSMOD=y CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y -CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_DEPMOD is not set # # Options common to multiple modutils # -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y # CONFIG_FEATURE_2_4_MODULES is not set -CONFIG_FEATURE_2_6_MODULES=y +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y CONFIG_DEFAULT_MODULES_DIR="/lib/modules" CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" -# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set # # Linux System Utilities # +# CONFIG_REV is not set +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKID is not set CONFIG_DMESG=y CONFIG_FEATURE_DMESG_PRETTY=y # CONFIG_FBSET is not set @@ -472,11 +524,16 @@ CONFIG_FDFORMAT=y # CONFIG_FEATURE_OSF_LABEL is not set # CONFIG_FEATURE_FDISK_ADVANCED is not set # CONFIG_FINDFS is not set +# CONFIG_FLOCK is not set CONFIG_FREERAMDISK=y # CONFIG_FSCK_MINIX is not set +# CONFIG_MKFS_EXT2 is not set # CONFIG_MKFS_MINIX is not set # CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKFS_VFAT is not set CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y CONFIG_HEXDUMP=y # CONFIG_FEATURE_HEXDUMP_REVERSE is not set # CONFIG_HD is not set @@ -486,6 +543,8 @@ CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y CONFIG_IPCRM=y CONFIG_IPCS=y CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y CONFIG_MDEV=y CONFIG_FEATURE_MDEV_CONF=y # CONFIG_FEATURE_MDEV_RENAME is not set @@ -493,11 +552,12 @@ CONFIG_FEATURE_MDEV_CONF=y CONFIG_FEATURE_MDEV_EXEC=y # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set CONFIG_MKSWAP=y -# CONFIG_FEATURE_MKSWAP_V0 is not set +# CONFIG_FEATURE_MKSWAP_UUID is not set CONFIG_MORE=y CONFIG_FEATURE_USE_TERMIOS=y # CONFIG_VOLUMEID is not set # CONFIG_FEATURE_VOLUMEID_EXT is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set # CONFIG_FEATURE_VOLUMEID_REISERFS is not set # CONFIG_FEATURE_VOLUMEID_FAT is not set # CONFIG_FEATURE_VOLUMEID_HFS is not set @@ -524,9 +584,11 @@ CONFIG_FEATURE_MOUNT_FLAGS=y CONFIG_FEATURE_MOUNT_FSTAB=y CONFIG_PIVOT_ROOT=y CONFIG_RDATE=y +# CONFIG_RDEV is not set CONFIG_READPROFILE=y # CONFIG_RTCWAKE is not set # CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set CONFIG_SETARCH=y CONFIG_SWAPONOFF=y # CONFIG_FEATURE_SWAPON_PRI is not set @@ -538,13 +600,20 @@ CONFIG_FEATURE_UMOUNT_ALL=y # Common options for mount/umount # CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y # CONFIG_FEATURE_MTAB_SUPPORT is not set # # Miscellaneous Utilities # +# CONFIG_CONSPY is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set # CONFIG_ADJTIMEX is not set # CONFIG_BBCONFIG is not set +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 # CONFIG_CHAT is not set # CONFIG_FEATURE_CHAT_NOFAIL is not set # CONFIG_FEATURE_CHAT_TTY_HIFI is not set @@ -555,18 +624,26 @@ CONFIG_FEATURE_MOUNT_LOOP=y # CONFIG_FEATURE_CHAT_CLR_ABORT is not set CONFIG_CHRT=y CONFIG_CROND=y -CONFIG_DEBUG_CROND_OPTION=y +# CONFIG_FEATURE_CROND_D is not set # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="/var/spool/cron" CONFIG_CRONTAB=y CONFIG_DC=y +# CONFIG_FEATURE_DC_LIBM is not set # CONFIG_DEVFSD is not set # CONFIG_DEVFSD_MODLOAD is not set # CONFIG_DEVFSD_FG_NP is not set # CONFIG_DEVFSD_VERBOSE is not set # CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y CONFIG_EJECT=y # CONFIG_FEATURE_EJECT_SCSI is not set # CONFIG_FBSPLASH is not set +# CONFIG_FLASHCP is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_IONICE is not set # CONFIG_INOTIFYD is not set CONFIG_LAST=y CONFIG_FEATURE_LAST_SMALL=y @@ -575,9 +652,11 @@ CONFIG_LESS=y CONFIG_FEATURE_LESS_MAXLINES=9999999 CONFIG_FEATURE_LESS_BRACKETS=y CONFIG_FEATURE_LESS_FLAGS=y -CONFIG_FEATURE_LESS_FLAGCS=y # CONFIG_FEATURE_LESS_MARKS is not set CONFIG_FEATURE_LESS_REGEXP=y +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set CONFIG_HDPARM=y CONFIG_FEATURE_HDPARM_GET_IDENTITY=y # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set @@ -594,6 +673,7 @@ CONFIG_MOUNTPOINT=y CONFIG_MT=y # CONFIG_RAIDAUTORUN is not set # CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set CONFIG_RUNLEVEL=y # CONFIG_RX is not set CONFIG_SETSID=y @@ -601,13 +681,21 @@ CONFIG_STRINGS=y # CONFIG_TASKSET is not set # CONFIG_FEATURE_TASKSET_FANCY is not set CONFIG_TIME=y +# CONFIG_TIMEOUT is not set # CONFIG_TTYSIZE is not set +# CONFIG_VOLNAME is not set +# CONFIG_WALL is not set CONFIG_WATCHDOG=y # # Networking Utilities # +# CONFIG_NC is not set +# CONFIG_NC_SERVER is not set +# CONFIG_NC_EXTRA is not set +# CONFIG_NC_110_COMPAT is not set # CONFIG_FEATURE_IPV6 is not set +# CONFIG_FEATURE_UNIX_LOCAL is not set # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set # CONFIG_ARP is not set @@ -618,6 +706,9 @@ CONFIG_ARPING=y CONFIG_DNSD=y CONFIG_ETHER_WAKE=y # CONFIG_FAKEIDENTD is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set # CONFIG_FTPGET is not set # CONFIG_FTPPUT is not set # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set @@ -625,11 +716,9 @@ CONFIG_HOSTNAME=y # CONFIG_HTTPD is not set # CONFIG_FEATURE_HTTPD_RANGES is not set # CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set # CONFIG_FEATURE_HTTPD_SETUID is not set # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set # CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set # CONFIG_FEATURE_HTTPD_CGI is not set # CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set # CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set @@ -643,6 +732,7 @@ CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y CONFIG_FEATURE_IFCONFIG_HW=y # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set # CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set CONFIG_IFUPDOWN=y CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" CONFIG_FEATURE_IFUPDOWN_IP=y @@ -677,59 +767,86 @@ CONFIG_IPRULE=y # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set CONFIG_NAMEIF=y # CONFIG_FEATURE_NAMEIF_EXTENDED is not set -# CONFIG_NC is not set -# CONFIG_NC_SERVER is not set -# CONFIG_NC_EXTRA is not set CONFIG_NETSTAT=y # CONFIG_FEATURE_NETSTAT_WIDE is not set +# CONFIG_FEATURE_NETSTAT_PRG is not set CONFIG_NSLOOKUP=y +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set CONFIG_PING=y # CONFIG_PING6 is not set CONFIG_FEATURE_FANCY_PING=y # CONFIG_PSCAN is not set CONFIG_ROUTE=y -# CONFIG_SENDMAIL is not set -# CONFIG_FETCHMAIL is not set # CONFIG_SLATTACH is not set +# CONFIG_TCPSVD is not set CONFIG_TELNET=y CONFIG_FEATURE_TELNET_TTYPE=y CONFIG_FEATURE_TELNET_AUTOLOGIN=y # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set CONFIG_TFTP=y # CONFIG_TFTPD is not set + +# +# Common options for tftp/tftpd +# CONFIG_FEATURE_TFTP_GET=y CONFIG_FEATURE_TFTP_PUT=y CONFIG_FEATURE_TFTP_BLOCKSIZE=y -# CONFIG_DEBUG_TFTP is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTP_DEBUG is not set CONFIG_TRACEROUTE=y +# CONFIG_TRACEROUTE6 is not set # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set # CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -CONFIG_APP_UDHCPD=y -CONFIG_APP_DHCPRELAY=y -CONFIG_APP_DUMPLEASES=y +# CONFIG_TUNCTL is not set +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_UDHCPD is not set +# CONFIG_DHCPRELAY is not set +# CONFIG_DUMPLEASES is not set # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases" -CONFIG_APP_UDHCPC=y +CONFIG_DHCPD_LEASES_FILE="" +CONFIG_UDHCPC=y CONFIG_FEATURE_UDHCPC_ARPING=y # CONFIG_FEATURE_UDHCP_PORT is not set -# CONFIG_FEATURE_UDHCP_DEBUG is not set -# CONFIG_FEATURE_RFC3397 is not set -CONFIG_DHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCP_DEBUG=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" +# CONFIG_UDPSVD is not set CONFIG_VCONFIG=y CONFIG_WGET=y CONFIG_FEATURE_WGET_STATUSBAR=y CONFIG_FEATURE_WGET_AUTHENTICATION=y CONFIG_FEATURE_WGET_LONG_OPTIONS=y # CONFIG_ZCIP is not set -# CONFIG_TCPSVD is not set -# CONFIG_UDPSVD is not set + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +CONFIG_FEATURE_MIME_CHARSET="" +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set # # Process Utilities # +# CONFIG_SMEMCAP is not set CONFIG_FREE=y CONFIG_FUSER=y CONFIG_KILL=y @@ -744,36 +861,58 @@ CONFIG_FEATURE_PIDOF_OMIT=y CONFIG_PS=y CONFIG_FEATURE_PS_WIDE=y # CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set CONFIG_RENICE=y CONFIG_BB_SYSCTL=y CONFIG_TOP=y CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y +# CONFIG_FEATURE_TOP_SMP_CPU is not set # CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set # CONFIG_FEATURE_TOPMEM is not set +# CONFIG_FEATURE_SHOW_THREADS is not set CONFIG_UPTIME=y CONFIG_WATCH=y # -# Shells +# Runit Utilities # -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_MSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -CONFIG_ASH=y +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVLOGD is not set +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set # -# Ash Shell Options +# Shells # +CONFIG_ASH=y CONFIG_ASH_BASH_COMPAT=y CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_READ_NCHARS=y -CONFIG_ASH_READ_TIMEOUT=y CONFIG_ASH_ALIAS=y -CONFIG_ASH_MATH_SUPPORT=y -CONFIG_ASH_MATH_SUPPORT_64=y # CONFIG_ASH_GETOPTS is not set CONFIG_ASH_BUILTIN_ECHO=y CONFIG_ASH_BUILTIN_PRINTF=y @@ -784,18 +923,28 @@ CONFIG_ASH_OPTIMIZE_FOR_SIZE=y CONFIG_ASH_RANDOM_SUPPORT=y CONFIG_ASH_EXPAND_PRMT=y # CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_HELP is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_JOB is not set # CONFIG_HUSH_TICK is not set # CONFIG_HUSH_IF is not set # CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_HUSH is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +# CONFIG_FEATURE_BASH_IS_ASH is not set +# CONFIG_FEATURE_BASH_IS_HUSH is not set +CONFIG_FEATURE_BASH_IS_NONE=y # CONFIG_LASH is not set # CONFIG_MSH is not set - -# -# Bourne Shell Options -# +CONFIG_SH_MATH_SUPPORT=y +# CONFIG_SH_MATH_SUPPORT_64 is not set CONFIG_FEATURE_SH_EXTRA_QUIET=y # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set @@ -808,44 +957,10 @@ CONFIG_SYSLOGD=y CONFIG_FEATURE_ROTATE_LOGFILE=y CONFIG_FEATURE_REMOTE_LOG=y # CONFIG_FEATURE_SYSLOGD_DUP is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 # CONFIG_FEATURE_IPC_SYSLOG is not set -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE= +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 # CONFIG_LOGREAD is not set # CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set CONFIG_KLOGD=y CONFIG_LOGGER=y - -# -# Runit Utilities -# -# CONFIG_RUNSV is not set -# CONFIG_RUNSVDIR is not set -# CONFIG_SV is not set -# CONFIG_SVLOGD is not set -# CONFIG_CHPST is not set -# CONFIG_SETUIDGID is not set -# CONFIG_ENVUIDGID is not set -# CONFIG_ENVDIR is not set -# CONFIG_SOFTLIMIT is not set -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Print Utilities -# -# CONFIG_LPD is not set -# CONFIG_LPR is not set -# CONFIG_LPQ is not set diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index e17d12a578..78bf21a40c 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -4,149 +4,175 @@ # ############################################################# - ifeq ($(BR2_PACKAGE_BUSYBOX_SNAPSHOT),y) -# Be aware that this changes daily.... -BUSYBOX_DIR:=$(BUILD_DIR)/busybox -BUSYBOX_SOURCE:=busybox-snapshot.tar.bz2 -BUSYBOX_SITE:=http://www.busybox.net/downloads/snapshots +BUSYBOX_VERSION = snapshot +BUSYBOX_SITE = http://www.busybox.net/downloads/snapshots else -BUSYBOX_VERSION=$(call qstrip,$(BR2_BUSYBOX_VERSION)) -BUSYBOX_DIR:=$(BUILD_DIR)/busybox-$(BUSYBOX_VERSION) -BUSYBOX_SOURCE:=busybox-$(BUSYBOX_VERSION).tar.bz2 -BUSYBOX_SITE:=http://www.busybox.net/downloads +BUSYBOX_VERSION = $(call qstrip,$(BR2_BUSYBOX_VERSION)) +BUSYBOX_SITE = http://www.busybox.net/downloads endif - -BUSYBOX_UNZIP=$(BZCAT) -BUSYBOX_CFLAGS=$(TARGET_CFLAGS) -I$(LINUX_HEADERS_DIR)/include +BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 +BUSYBOX_CFLAGS = "$(TARGET_CFLAGS) -I$(LINUX_HEADERS_DIR)/include" +BUSYBOX_BUILD_CONFIG = $(BUSYBOX_DIR)/.config ifndef BUSYBOX_CONFIG_FILE -BUSYBOX_CONFIG_FILE=$(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) + BUSYBOX_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_BUSYBOX_CONFIG)) endif -$(DL_DIR)/$(BUSYBOX_SOURCE): - $(call DOWNLOAD,$(BUSYBOX_SITE),$(BUSYBOX_SOURCE)) - -$(BUSYBOX_DIR)/.unpacked: $(DL_DIR)/$(BUSYBOX_SOURCE) - $(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - +# If we have external syslogd, force busybox to use it ifeq ($(BR2_PACKAGE_SYSKLOGD),y) - # if we have external syslogd, force busybox to use it - $(SED) "/#include.*busybox\.h/a#define CONFIG_SYSLOGD" $(BUSYBOX_DIR)/init/init.c +define BUSYBOX_SET_SYSKLOGD + @$(SED) "/#include.*busybox\.h/a#define CONFIG_SYSLOGD" \ + $(BUSYBOX_DIR)/init/init.c +endef endif - # Allow busybox patches. -ifeq ($(BR2_PACKAGE_BUSYBOX_SNAPSHOT),y) - toolchain/patch-kernel.sh $(BUSYBOX_DIR) package/busybox busybox.\*.patch -else - toolchain/patch-kernel.sh $(BUSYBOX_DIR) package/busybox busybox-$(BUSYBOX_VERSION)-\*.patch -endif - touch $@ - -$(BUSYBOX_DIR)/.config: $(BUSYBOX_DIR)/.unpacked $(BUSYBOX_CONFIG_FILE) - cp -f $(BUSYBOX_CONFIG_FILE) $(BUSYBOX_DIR)/.config - $(SED) s,^CONFIG_PREFIX=.*,CONFIG_PREFIX=\"$(TARGET_DIR)\", \ - $(BUSYBOX_DIR)/.config - $(SED) 's,^CONFIG_EXTRA_CFLAGS=.*,CONFIG_EXTRA_CFLAGS=\"$(BUSYBOX_CFLAGS)\",' \ - $(BUSYBOX_DIR)/.config + # id applet breaks on >=1.13.0 with old uclibc unless the bb pwd routines are used ifeq ($(BR2_BUSYBOX_VERSION_1_13_X)$(BR2_BUSYBOX_VERSION_1_14_X)$(BR2_UCLIBC_VERSION_0_9_28_3)$(BR2_UCLIBC_VERSION_0_9_29),yy) - if grep -q 'CONFIG_ID=y' $(BUSYBOX_DIR)/.config; \ +define BUSYBOX_SET_BB_PWD + if grep -q 'CONFIG_ID=y' $(BUSYBOX_BUILD_CONFIG); \ then \ echo 'warning: CONFIG_ID needs BB_PWD_GRP with old uclibc, enabling' >&2;\ - $(SED) "s/^.*CONFIG_USE_BB_PWD_GRP.*/CONFIG_USE_BB_PWD_GRP=y/;" $(BUSYBOX_DIR)/.config; \ + $(SED) "s/^.*CONFIG_USE_BB_PWD_GRP.*/CONFIG_USE_BB_PWD_GRP=y/;" $(BUSYBOX_BUILD_CONFIG); \ fi +endef endif -ifeq ($(BR2_PACKAGE_BUSYBOX_SNAPSHOT),y) - $(SED) s,^CROSS_COMPILER_PREFIX=.*,CROSS_COMPILER_PREFIX=\"$(TARGET_CROSS)\", \ - $(BUSYBOX_DIR)/.config - $(SED) s,^PREFIX=.*,CROSS_COMPILER_PREFIX=\"$(TARGET_CROSS)\", \ - $(BUSYBOX_DIR)/.config -endif + ifeq ($(BR2_LARGEFILE),y) - $(SED) "s/^.*CONFIG_LFS.*/CONFIG_LFS=y/;" $(BUSYBOX_DIR)/.config - $(SED) "s/^.*CONFIG_FDISK_SUPPORT_LARGE_DISKS.*/CONFIG_FDISK_SUPPORT_LARGE_DISKS=y/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_SET_LARGEFILE + $(call KCONFIG_ENABLE_OPT,CONFIG_LFS,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_FDISK_SUPPORT_LARGE_DISKS,$(BUSYBOX_BUILD_CONFIG)) +endef else - $(SED) "s/^.*CONFIG_LFS.*/CONFIG_LFS=n/;" $(BUSYBOX_DIR)/.config - $(SED) "s/^.*FDISK_SUPPORT_LARGE_DISKS.*/CONFIG_FDISK_SUPPORT_LARGE_DISKS=n/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_SET_LARGEFILE + $(call KCONFIG_DISABLE_OPT,CONFIG_LFS,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_DISABLE_OPT,CONFIG_FDISK_SUPPORT_LARGE_DISKS,$(BUSYBOX_BUILD_CONFIG)) +endef endif + +# If IPv6 is enabled then enable basic ifupdown support for it ifeq ($(BR2_INET_IPV6),y) - $(SED) "s/^.*CONFIG_FEATURE_IPV6.*/CONFIG_FEATURE_IPV6=y/;" $(BUSYBOX_DIR)/.config - $(SED) "s/^.*CONFIG_FEATURE_IFUPDOWN_IPV6.*/CONFIG_FEATURE_IFUPDOWN_IPV6=y/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_SET_IPV6 + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_IPV6,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_IFUPDOWN_IPV6,$(BUSYBOX_BUILD_CONFIG)) +endef else - $(SED) "s/^.*CONFIG_FEATURE_IPV6.*/CONFIG_FEATURE_IPV6=n/;" $(BUSYBOX_DIR)/.config - $(SED) "s/^.*CONFIG_FEATURE_IFUPDOWN_IPV6.*/CONFIG_FEATURE_IFUPDOWN_IPV6=n/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_SET_IPV6 + $(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_IPV6,$(BUSYBOX_BUILD_CONFIG)) + $(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_IFUPDOWN_IPV6,$(BUSYBOX_BUILD_CONFIG)) +endef endif + +# If RPC is enabled then enable nfs mounts ifeq ($(BR2_INET_RPC),y) - $(SED) "s/^.*CONFIG_FEATURE_MOUNT_NFS.*/CONFIG_FEATURE_MOUNT_NFS=y/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_SET_RPC + $(call KCONFIG_ENABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG)) +endef else - $(SED) "s/^.*CONFIG_FEATURE_MOUNT_NFS.*/CONFIG_FEATURE_MOUNT_NFS=n/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_SET_RPC + $(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_MOUNT_NFS,$(BUSYBOX_BUILD_CONFIG)) +endef endif + +# If we're using static libs do the same for busybox ifeq ($(BR2_PREFER_STATIC_LIB),y) - $(SED) "s/^.*CONFIG_STATIC.*/CONFIG_STATIC=y/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_PREFER_STATIC + $(call KCONFIG_ENABLE_OPT,CONFIG_STATIC,$(BUSYBOX_BUILD_CONFIG)) +endef else - $(SED) "s/^.*CONFIG_STATIC.*/CONFIG_STATIC=n/;" $(BUSYBOX_DIR)/.config +define BUSYBOX_PREFER_STATIC + $(call KCONFIG_DISABLE_OPT,CONFIG_STATIC,$(BUSYBOX_BUILD_CONFIG)) +endef endif + +# Enable mdev for busybox skeleton ifeq ($(BR2_PACKAGE_BUSYBOX_SKELETON),y) - # force mdev on - $(SED) "s/^.*CONFIG_MDEV.*/CONFIG_MDEV=y/" $(BUSYBOX_DIR)/.config +define BUSYBOX_SKELETON + $(call KCONFIG_ENABLE_OPT,CONFIG_MDEV,$(BUSYBOX_BUILD_CONFIG)) +endef endif + +# Disable usage of inetd if netkit-base package is selected ifeq ($(BR2_PACKAGE_NETKITBASE),y) - # disable usage of inetd if netkit-base package is selected - $(SED) "s/^.*CONFIG_INETD.*/CONFIG_INETD=n/;" $(BUSYBOX_DIR)/.config - @echo "WARNING!! CONFIG_INETD option disabled!" +define BUSYBOX_NETKITBASE + $(call KCONFIG_DISABLE_OPT,CONFIG_INETD,$(BUSYBOX_BUILD_CONFIG)) +endef endif + +# Disable usage of telnetd if netkit-telnetd package is selected ifeq ($(BR2_PACKAGE_NETKITTELNET),y) - # disable usage of telnetd if netkit-telnetd package is selected - $(SED) "s/^.*CONFIG_TELNETD.*/CONFIG_TELNETD=n/;" $(BUSYBOX_DIR)/.config - @echo "WARNING!! CONFIG_TELNETD option disabled!" +define BUSYBOX_NETKITTELNET + $(call KCONFIG_DISABLE_OPT,CONFIG_TELNETD,$(BUSYBOX_BUILD_CONFIG)) +endef endif - yes "" | $(MAKE) CC="$(TARGET_CC)" CROSS_COMPILE="$(TARGET_CROSS)" \ - CROSS="$(TARGET_CROSS)" -C $(BUSYBOX_DIR) oldconfig - touch $@ +define BUSYBOX_COPY_CONFIG + cp -f $(BUSYBOX_CONFIG_FILE) $(BUSYBOX_BUILD_CONFIG) +endef + +# We do this here to avoid busting a modified .config in configure +BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG + +define BUSYBOX_CONFIGURE_CMDS + $(BUSYBOX_SET_SYSKLOGD) + $(BUSYBOX_SET_BB_PWD) + $(BUSYBOX_SET_LARGEFILE) + $(BUSYBOX_SET_IPV6) + $(BUSYBOX_SET_RPC) + $(BUSYBOX_PREFER_STATIC) + $(BUSYBOX_SKELETON) + $(BUSYBOX_NETKITBASE) + $(BUSYBOX_NETKITTELNET) + @yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \ + -C $(@D) oldconfig +endef + +define BUSYBOX_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \ + PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ + CROSS_COMPILE="$(TARGET_CROSS)" CFLAGS=$(BUSYBOX_CFLAGS) \ + -C $(@D) +endef -$(BUSYBOX_DIR)/busybox: $(BUSYBOX_DIR)/.config - $(MAKE) CC="$(TARGET_CC)" CROSS_COMPILE="$(TARGET_CROSS)" \ - CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \ - EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ - ARCH=$(KERNEL_ARCH) -C $(BUSYBOX_DIR) - -$(TARGET_DIR)/bin/busybox: $(BUSYBOX_DIR)/busybox ifeq ($(BR2_PACKAGE_BUSYBOX_FULLINSTALL),y) - $(MAKE) CC="$(TARGET_CC)" CROSS_COMPILE="$(TARGET_CROSS)" \ - CROSS="$(TARGET_CROSS)" PREFIX="$(TARGET_DIR)" \ - EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ - ARCH=$(KERNEL_ARCH) -C $(BUSYBOX_DIR) install +define BUSYBOX_INSTALL_BINARY + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \ + PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ + CROSS_COMPILE="$(TARGET_CROSS)" CFLAGS=$(BUSYBOX_CFLAGS) \ + CONFIG_PREFIX="$(TARGET_DIR)" -C $(@D) install +endef else +define BUSYBOX_INSTALL_BINARY install -D -m 0755 $(BUSYBOX_DIR)/busybox $(TARGET_DIR)/bin/busybox +endef endif - # Just in case - -chmod a+x $(TARGET_DIR)/usr/share/udhcpc/default.script - -busybox: $(TARGET_DIR)/bin/busybox - -busybox-source: $(DL_DIR)/$(BUSYBOX_SOURCE) - -busybox-unpacked: host-sed $(BUILD_DIR) $(BUSYBOX_DIR)/.unpacked - -busybox-config: host-sed $(BUILD_DIR) $(BUSYBOX_DIR)/.config -busybox-menuconfig: host-sed $(BUILD_DIR) busybox-source $(BUSYBOX_DIR)/.config - $(MAKE) __TARGET_ARCH=$(ARCH) -C $(BUSYBOX_DIR) menuconfig +define BUSYBOX_INSTALL_TARGET_CMDS + $(BUSYBOX_INSTALL_BINARY) + -chmod a+rx $(TARGET_DIR)/usr/share/udhcpc/default.script +endef + +define BUSYBOX_UNINSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \ + PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ + CROSS_COMPILE="$(TARGET_CROSS)" CFLAGS=$(BUSYBOX_CFLAGS) \ + CONFIG_PREFIX="$(TARGET_DIR)" -C $(@D) uninstall +endef + +define BUSYBOX_CLEAN_CMDS + $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" ARCH=$(KERNEL_ARCH) \ + PREFIX="$(TARGET_DIR)" EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \ + CROSS_COMPILE="$(TARGET_CROSS)" CFLAGS=$(BUSYBOX_CFLAGS) \ + CONFIG_PREFIX="$(TARGET_DIR)" -C $(@D) clean +endef + +$(eval $(call GENTARGETS,package,busybox)) + +busybox-menuconfig: $(BUSYBOX_DIR)/.stamp_extracted + $(TARGET_MAKE_ENV) $(MAKE) ARCH=$(KERNEL_ARCH) \ + CROSS_COMPILE="$(TARGET_CROSS)" -C $(BUSYBOX_DIR) menuconfig + rm -f $(BUSYBOX_DIR)/.stamp_built + rm -f $(BUSYBOX_DIR)/.stamp_target_installed busybox-update: - cp -f $(BUSYBOX_DIR)/.config $(BUSYBOX_CONFIG_FILE) - -busybox-clean: - rm -f $(TARGET_DIR)/bin/busybox - -$(MAKE) -C $(BUSYBOX_DIR) clean - -busybox-dirclean: - rm -rf $(BUSYBOX_DIR) -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -TARGETS+=busybox -endif + cp -f $(BUSYBOX_BUILD_CONFIG) $(BUSYBOX_CONFIG_FILE) -- 2.30.2