update busybox-power against BusyBox 1.19 release
authorDennis Groenen <tj.groenen@gmail.com>
Sat, 20 Aug 2011 14:30:48 +0000 (16:30 +0200)
committerDennis Groenen <tj.groenen@gmail.com>
Sat, 20 Aug 2011 14:30:48 +0000 (16:30 +0200)
21 files changed:
build.sh
debian/config/config.busybox
debian/config/config.busybox_root
debian/patches/03tar.patch
debian/patches/06ls.patch
debian/patches/applets-fallback.patch
debian/patches/ash-history-buffer.patch
debian/patches/busybox-zero-ifr.ifr_hwaddr.sa_data.patch
debian/patches/ctrl_r-history-search.patch [deleted file]
debian/patches/init-console.patch
debian/patches/obselete/ctrl_r-history-search.patch [new file with mode: 0644]
debian/patches/obselete/showkey-any-stdin.patch [new file with mode: 0644]
debian/patches/parse-complete-hostname.patch
debian/patches/ps-accept-and-ignore-missing-options.patch
debian/patches/series
debian/patches/shell-ash-export-HOME.patch
debian/patches/showkey-any-stdin.patch [deleted file]
debian/patches/showkey-default-option.patch
debian/patches/supress-bad-number.patch
debian/patches/top-display-rss.patch
debian/scripts/functions

index f68e035..3d143dc 100755 (executable)
--- a/build.sh
+++ b/build.sh
@@ -2,7 +2,7 @@
 # Helper script to build busybox-power
 # Please run me from within Scratchbox
 
-BBVERSION="1.18.5"
+BBVERSION="1.19.0"
 MAKETHREADS="8"
 SCRIPTDIR=`dirname $(readlink -f $0)`
 BUILDDIR="$SCRIPTDIR/../busybox-power-build"
index 22271aa..4c4f8b6 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Busybox version: 1.18.4
-# Fri May 7 14:16:22 2011
+# Busybox version: 1.19.0
+# Sat Aug 20 15:11:20 2011
 #
 CONFIG_HAVE_DOT_CONFIG=y
 
@@ -39,8 +39,8 @@ CONFIG_UNICODE_PRESERVE_BROKEN=y
 CONFIG_LONG_OPTS=y
 CONFIG_FEATURE_DEVPTS=y
 # CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_WTMP=y
 CONFIG_FEATURE_UTMP=y
+CONFIG_FEATURE_WTMP=y
 CONFIG_FEATURE_PIDFILE=y
 CONFIG_FEATURE_SUID=y
 CONFIG_FEATURE_SUID_CONFIG=y
@@ -89,6 +89,8 @@ CONFIG_PREFIX="./_install"
 #
 # Busybox Library Tuning
 #
+# CONFIG_FEATURE_SYSTEMD is not set
+CONFIG_FEATURE_RTMINMAX=y
 CONFIG_PASSWORD_MINLEN=6
 CONFIG_MD5_SIZE_VS_SPEED=0
 CONFIG_FEATURE_FAST_TOP=y
@@ -107,6 +109,7 @@ CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
 CONFIG_FEATURE_NON_POSIX_CP=y
 CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
 CONFIG_FEATURE_COPYBUF_KB=4
+CONFIG_FEATURE_SKIP_ROOTFS=y
 CONFIG_MONOTONIC_SYSCALL=y
 CONFIG_IOCTL_HEX2STR_ERROR=y
 CONFIG_FEATURE_HWIB=y
@@ -171,12 +174,17 @@ CONFIG_DATE=y
 CONFIG_FEATURE_DATE_ISOFMT=y
 # CONFIG_FEATURE_DATE_NANO is not set
 CONFIG_FEATURE_DATE_COMPAT=y
+CONFIG_ID=y
+CONFIG_GROUPS=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_BASE64=y
+CONFIG_WHO=y
+CONFIG_USERS=y
 CONFIG_CAL=y
 CONFIG_CATV=y
 CONFIG_CHGRP=y
@@ -214,10 +222,8 @@ CONFIG_FSYNC=y
 CONFIG_HEAD=y
 CONFIG_FEATURE_FANCY_HEAD=y
 CONFIG_HOSTID=y
-CONFIG_ID=y
 CONFIG_INSTALL=y
 CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LENGTH=y
 CONFIG_LN=y
 CONFIG_LOGNAME=y
 CONFIG_LS=y
@@ -269,7 +275,6 @@ CONFIG_TAIL=y
 CONFIG_FEATURE_FANCY_TAIL=y
 CONFIG_TEE=y
 CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TOUCH=y
 CONFIG_TRUE=y
 CONFIG_TTY=y
 CONFIG_UNAME=y
@@ -281,7 +286,6 @@ CONFIG_UUDECODE=y
 CONFIG_UUENCODE=y
 CONFIG_WC=y
 CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHO=y
 CONFIG_WHOAMI=y
 CONFIG_YES=y
 
@@ -352,20 +356,13 @@ CONFIG_WHICH=y
 # Editors
 #
 CONFIG_PATCH=y
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_ED=y
-CONFIG_SED=y
 CONFIG_VI=y
 CONFIG_FEATURE_VI_MAX_LEN=4096
 CONFIG_FEATURE_VI_8BIT=y
 CONFIG_FEATURE_VI_COLON=y
 CONFIG_FEATURE_VI_YANKMARK=y
 CONFIG_FEATURE_VI_SEARCH=y
+# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
 CONFIG_FEATURE_VI_USE_SIGNALS=y
 CONFIG_FEATURE_VI_DOT_CMD=y
 CONFIG_FEATURE_VI_READONLY=y
@@ -374,6 +371,14 @@ CONFIG_FEATURE_VI_SET=y
 CONFIG_FEATURE_VI_WIN_RESIZE=y
 CONFIG_FEATURE_VI_ASK_TERMINAL=y
 CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_LIBM=y
+CONFIG_CMP=y
+CONFIG_DIFF=y
+CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
+CONFIG_FEATURE_DIFF_DIR=y
+CONFIG_ED=y
+CONFIG_SED=y
 CONFIG_FEATURE_ALLOW_EXEC=y
 
 #
@@ -432,6 +437,7 @@ CONFIG_FEATURE_KILL_DELAY=0
 # CONFIG_FEATURE_INITRD is not set
 CONFIG_INIT_TERMINAL_TYPE=""
 CONFIG_MESG=y
+CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
 
 #
 # Login/Password Management Utilities
@@ -481,10 +487,10 @@ CONFIG_LSATTR=y
 #
 # Linux Module Utilities
 #
-CONFIG_MODINFO=n
-CONFIG_MODPROBE_SMALL=n
-CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=n
-CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=n
+# 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 is not set
 # CONFIG_RMMOD is not set
 # CONFIG_LSMOD is not set
@@ -517,6 +523,7 @@ CONFIG_REV=y
 CONFIG_ACPID=y
 CONFIG_FEATURE_ACPID_COMPAT=y
 CONFIG_BLKID=y
+CONFIG_FEATURE_BLKID_TYPE=y
 CONFIG_DMESG=y
 CONFIG_FEATURE_DMESG_PRETTY=y
 CONFIG_FBSET=y
@@ -620,10 +627,25 @@ CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
 # Miscellaneous Utilities
 #
 # CONFIG_CONSPY is not set
+CONFIG_LESS=y
+CONFIG_FEATURE_LESS_MAXLINES=9999999
+CONFIG_FEATURE_LESS_BRACKETS=y
+CONFIG_FEATURE_LESS_FLAGS=y
+CONFIG_FEATURE_LESS_MARKS=y
+CONFIG_FEATURE_LESS_REGEXP=y
+CONFIG_FEATURE_LESS_WINCH=y
+CONFIG_FEATURE_LESS_ASK_TERMINAL=y
+CONFIG_FEATURE_LESS_DASHCMD=y
+CONFIG_FEATURE_LESS_LINENUMS=y
 # CONFIG_NANDWRITE is not set
 # CONFIG_NANDDUMP is not set
+CONFIG_SETSERIAL=y
 # CONFIG_UBIATTACH is not set
 # CONFIG_UBIDETACH is not set
+# CONFIG_UBIMKVOL is not set
+# CONFIG_UBIRMVOL is not set
+CONFIG_UBIRSVOL=y
+# CONFIG_UBIUPDATEVOL is not set
 CONFIG_ADJTIMEX=y
 # CONFIG_BBCONFIG is not set
 # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
@@ -654,7 +676,7 @@ CONFIG_FEATURE_DC_LIBM=y
 CONFIG_DEVMEM=y
 CONFIG_EJECT=y
 CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FBSPLASH=n
+# CONFIG_FBSPLASH is not set
 # CONFIG_FLASHCP is not set
 # CONFIG_FLASH_LOCK is not set
 # CONFIG_FLASH_UNLOCK is not set
@@ -664,15 +686,6 @@ CONFIG_IONICE=y
 CONFIG_LAST=y
 # CONFIG_FEATURE_LAST_SMALL is not set
 CONFIG_FEATURE_LAST_FANCY=y
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
 CONFIG_HDPARM=y
 CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
 CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
@@ -706,11 +719,17 @@ CONFIG_WATCHDOG=y
 #
 # Networking Utilities
 #
+CONFIG_NAMEIF=y
+CONFIG_FEATURE_NAMEIF_EXTENDED=y
 CONFIG_NBDCLIENT=y
 CONFIG_NC=y
 CONFIG_NC_SERVER=y
 CONFIG_NC_EXTRA=y
 # CONFIG_NC_110_COMPAT is not set
+# CONFIG_PING is not set
+# CONFIG_PING6 is not set
+# CONFIG_FEATURE_FANCY_PING is not set
+CONFIG_WHOIS=y
 CONFIG_FEATURE_IPV6=y
 # CONFIG_FEATURE_UNIX_LOCAL is not set
 CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
@@ -783,17 +802,12 @@ CONFIG_IPRULE=y
 CONFIG_IPCALC=y
 CONFIG_FEATURE_IPCALC_FANCY=y
 CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_NAMEIF=y
-CONFIG_FEATURE_NAMEIF_EXTENDED=y
 CONFIG_NETSTAT=y
 CONFIG_FEATURE_NETSTAT_WIDE=y
 CONFIG_FEATURE_NETSTAT_PRG=y
 CONFIG_NSLOOKUP=y
 CONFIG_NTPD=y
 CONFIG_FEATURE_NTPD_SERVER=y
-# CONFIG_PING is not set
-# CONFIG_PING6 is not set
-# CONFIG_FEATURE_FANCY_PING is not set
 CONFIG_PSCAN=y
 CONFIG_ROUTE=y
 CONFIG_SLATTACH=y
@@ -826,12 +840,14 @@ CONFIG_UDHCPD=y
 CONFIG_DHCPRELAY=y
 CONFIG_DUMPLEASES=y
 CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
+# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
 CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
 CONFIG_UDHCPC=y
 CONFIG_FEATURE_UDHCPC_ARPING=y
 CONFIG_FEATURE_UDHCP_PORT=y
 CONFIG_UDHCP_DEBUG=9
 CONFIG_FEATURE_UDHCP_RFC3397=y
+CONFIG_FEATURE_UDHCP_8021Q=y
 CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
@@ -867,15 +883,19 @@ CONFIG_SENDMAIL=y
 #
 CONFIG_IOSTAT=y
 CONFIG_MPSTAT=y
+CONFIG_NMETER=y
 CONFIG_PMAP=y
 CONFIG_POWERTOP=y
+CONFIG_PSTREE=y
+CONFIG_PWDX=y
 CONFIG_SMEMCAP=y
+CONFIG_UPTIME=y
+CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
 CONFIG_FREE=y
 CONFIG_FUSER=y
 CONFIG_KILL=y
 CONFIG_KILLALL=y
 CONFIG_KILLALL5=y
-CONFIG_NMETER=y
 CONFIG_PGREP=y
 CONFIG_PIDOF=y
 CONFIG_FEATURE_PIDOF_SINGLE=y
@@ -891,12 +911,11 @@ 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=n
+# CONFIG_FEATURE_TOP_SMP_CPU is not set
 CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=n
+# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
 CONFIG_FEATURE_TOPMEM=y
 CONFIG_FEATURE_SHOW_THREADS=y
-CONFIG_UPTIME=y
 CONFIG_WATCH=y
 
 #
@@ -934,6 +953,7 @@ CONFIG_SOFTLIMIT=y
 #
 CONFIG_ASH=y
 CONFIG_ASH_BASH_COMPAT=y
+# CONFIG_ASH_IDLE_TIMEOUT is not set
 CONFIG_ASH_JOB_CONTROL=y
 CONFIG_ASH_ALIAS=y
 CONFIG_ASH_GETOPTS=y
@@ -976,6 +996,7 @@ CONFIG_SH_MATH_SUPPORT_64=y
 # CONFIG_FEATURE_SH_EXTRA_QUIET is not set
 # CONFIG_FEATURE_SH_STANDALONE is not set
 # CONFIG_FEATURE_SH_NOFORK is not set
+CONFIG_FEATURE_SH_HISTFILESIZE=y
 
 #
 # System Logging Utilities
@@ -984,6 +1005,7 @@ CONFIG_SYSLOGD=y
 CONFIG_FEATURE_ROTATE_LOGFILE=y
 CONFIG_FEATURE_REMOTE_LOG=y
 CONFIG_FEATURE_SYSLOGD_DUP=y
+CONFIG_FEATURE_SYSLOGD_CFG=y
 CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
 CONFIG_FEATURE_IPC_SYSLOG=y
 CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
@@ -992,4 +1014,3 @@ CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
 CONFIG_KLOGD=y
 CONFIG_FEATURE_KLOGD_KLOGCTL=y
 CONFIG_LOGGER=y
-
index 83b1539..6e0900d 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Busybox version: 1.18.5
-# Tue Aug  2 15:08:05 2011
+# Busybox version: 1.19.0
+# Sat Aug 20 15:13:38 2011
 #
 CONFIG_HAVE_DOT_CONFIG=y
 
@@ -39,8 +39,8 @@ CONFIG_LAST_SUPPORTED_WCHAR=0
 CONFIG_LONG_OPTS=y
 # CONFIG_FEATURE_DEVPTS is not set
 # CONFIG_FEATURE_CLEAN_UP is not set
-# CONFIG_FEATURE_WTMP is not set
 CONFIG_FEATURE_UTMP=y
+# CONFIG_FEATURE_WTMP is not set
 # CONFIG_FEATURE_PIDFILE is not set
 CONFIG_FEATURE_SUID=y
 CONFIG_FEATURE_SUID_CONFIG=y
@@ -89,6 +89,8 @@ CONFIG_PREFIX="./_install"
 #
 # Busybox Library Tuning
 #
+# CONFIG_FEATURE_SYSTEMD is not set
+# CONFIG_FEATURE_RTMINMAX is not set
 CONFIG_PASSWORD_MINLEN=6
 CONFIG_MD5_SIZE_VS_SPEED=2
 # CONFIG_FEATURE_FAST_TOP is not set
@@ -99,6 +101,7 @@ CONFIG_FEATURE_EDITING_MAX_LEN=0
 # CONFIG_FEATURE_EDITING_VI is not set
 CONFIG_FEATURE_EDITING_HISTORY=0
 # CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
+# CONFIG_FEATURE_REVERSE_SEARCH is not set
 # CONFIG_FEATURE_TAB_COMPLETION is not set
 # CONFIG_FEATURE_USERNAME_COMPLETION is not set
 # CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set
@@ -106,6 +109,7 @@ CONFIG_FEATURE_EDITING_HISTORY=0
 # CONFIG_FEATURE_NON_POSIX_CP is not set
 # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
 CONFIG_FEATURE_COPYBUF_KB=4
+# CONFIG_FEATURE_SKIP_ROOTFS is not set
 # CONFIG_MONOTONIC_SYSCALL is not set
 # CONFIG_IOCTL_HEX2STR_ERROR is not set
 # CONFIG_FEATURE_HWIB is not set
@@ -148,6 +152,7 @@ CONFIG_FEATURE_COPYBUF_KB=4
 # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
 # CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
 # CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_FEATURE_TAR_TOUCH is not set
 # CONFIG_FEATURE_TAR_TO_COMMAND is not set
 # CONFIG_FEATURE_TAR_UNAME_GNAME is not set
 # CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
@@ -169,12 +174,17 @@ CONFIG_FEATURE_COPYBUF_KB=4
 # CONFIG_FEATURE_DATE_ISOFMT is not set
 # CONFIG_FEATURE_DATE_NANO is not set
 # CONFIG_FEATURE_DATE_COMPAT is not set
+# CONFIG_ID is not set
+# CONFIG_GROUPS is not set
 # CONFIG_TEST is not set
 # CONFIG_FEATURE_TEST_64 is not set
+# CONFIG_TOUCH is not set
 # CONFIG_TR is not set
 # CONFIG_FEATURE_TR_CLASSES is not set
 # CONFIG_FEATURE_TR_EQUIV is not set
 # CONFIG_BASE64 is not set
+# CONFIG_WHO is not set
+# CONFIG_USERS is not set
 # CONFIG_CAL is not set
 # CONFIG_CATV is not set
 # CONFIG_CHGRP is not set
@@ -212,10 +222,8 @@ CONFIG_FEATURE_COPYBUF_KB=4
 # CONFIG_HEAD is not set
 # CONFIG_FEATURE_FANCY_HEAD is not set
 # CONFIG_HOSTID is not set
-# CONFIG_ID is not set
 # CONFIG_INSTALL is not set
 # CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
-# CONFIG_LENGTH is not set
 # CONFIG_LN is not set
 # CONFIG_LOGNAME is not set
 # CONFIG_LS is not set
@@ -267,7 +275,6 @@ CONFIG_FEATURE_COPYBUF_KB=4
 # CONFIG_FEATURE_FANCY_TAIL is not set
 # CONFIG_TEE is not set
 # CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
-# CONFIG_TOUCH is not set
 # CONFIG_TRUE is not set
 # CONFIG_TTY is not set
 # CONFIG_UNAME is not set
@@ -279,7 +286,6 @@ CONFIG_FEATURE_COPYBUF_KB=4
 # CONFIG_UUENCODE is not set
 # CONFIG_WC is not set
 # CONFIG_FEATURE_WC_LARGE is not set
-# CONFIG_WHO is not set
 # CONFIG_WHOAMI is not set
 # CONFIG_YES is not set
 # CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
@@ -330,20 +336,13 @@ CONFIG_DEFAULT_SETFONT_DIR=""
 # Editors
 #
 # CONFIG_PATCH is not set
-# CONFIG_AWK is not set
-# CONFIG_FEATURE_AWK_LIBM is not set
-# CONFIG_CMP is not set
-# CONFIG_DIFF is not set
-# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
-# CONFIG_FEATURE_DIFF_DIR is not set
-# CONFIG_ED is not set
-# CONFIG_SED is not set
 # CONFIG_VI is not set
 CONFIG_FEATURE_VI_MAX_LEN=0
 # CONFIG_FEATURE_VI_8BIT is not set
 # CONFIG_FEATURE_VI_COLON is not set
 # CONFIG_FEATURE_VI_YANKMARK is not set
 # CONFIG_FEATURE_VI_SEARCH is not set
+# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
 # CONFIG_FEATURE_VI_USE_SIGNALS is not set
 # CONFIG_FEATURE_VI_DOT_CMD is not set
 # CONFIG_FEATURE_VI_READONLY is not set
@@ -352,6 +351,14 @@ CONFIG_FEATURE_VI_MAX_LEN=0
 # CONFIG_FEATURE_VI_WIN_RESIZE is not set
 # CONFIG_FEATURE_VI_ASK_TERMINAL is not set
 # CONFIG_FEATURE_VI_OPTIMIZE_CURSOR is not set
+# CONFIG_AWK is not set
+# CONFIG_FEATURE_AWK_LIBM is not set
+# CONFIG_CMP is not set
+# CONFIG_DIFF is not set
+# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
+# CONFIG_FEATURE_DIFF_DIR is not set
+# CONFIG_ED is not set
+# CONFIG_SED is not set
 # CONFIG_FEATURE_ALLOW_EXEC is not set
 
 #
@@ -410,6 +417,7 @@ CONFIG_FEATURE_KILL_DELAY=0
 # CONFIG_FEATURE_INITRD is not set
 CONFIG_INIT_TERMINAL_TYPE=""
 # CONFIG_MESG is not set
+# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
 
 #
 # Login/Password Management Utilities
@@ -455,6 +463,10 @@ CONFIG_VLOCK=y
 # CONFIG_FSCK is not set
 # CONFIG_LSATTR is not set
 # CONFIG_TUNE2FS is not set
+
+#
+# Linux Module Utilities
+#
 # CONFIG_MODINFO is not set
 # CONFIG_MODPROBE_SMALL is not set
 # CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
@@ -466,6 +478,10 @@ CONFIG_VLOCK=y
 # CONFIG_MODPROBE is not set
 # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
 # CONFIG_DEPMOD is not set
+
+#
+# Options common to multiple modutils
+#
 # CONFIG_FEATURE_2_4_MODULES is not set
 # CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
 # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
@@ -487,6 +503,7 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
 # CONFIG_ACPID is not set
 # CONFIG_FEATURE_ACPID_COMPAT is not set
 # CONFIG_BLKID is not set
+# CONFIG_FEATURE_BLKID_TYPE is not set
 # CONFIG_DMESG is not set
 # CONFIG_FEATURE_DMESG_PRETTY is not set
 # CONFIG_FBSET is not set
@@ -560,6 +577,10 @@ CONFIG_IPCS=y
 # CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
 # CONFIG_FEATURE_MTAB_SUPPORT is not set
 # CONFIG_VOLUMEID is not set
+
+#
+# Filesystem/Volume identification
+#
 # CONFIG_FEATURE_VOLUMEID_EXT is not set
 # CONFIG_FEATURE_VOLUMEID_BTRFS is not set
 # CONFIG_FEATURE_VOLUMEID_REISERFS is not set
@@ -582,10 +603,25 @@ CONFIG_IPCS=y
 # Miscellaneous Utilities
 #
 # CONFIG_CONSPY is not set
+# CONFIG_LESS is not set
+CONFIG_FEATURE_LESS_MAXLINES=0
+# CONFIG_FEATURE_LESS_BRACKETS is not set
+# CONFIG_FEATURE_LESS_FLAGS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_FEATURE_LESS_WINCH is not set
+# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
+# CONFIG_FEATURE_LESS_DASHCMD is not set
+# CONFIG_FEATURE_LESS_LINENUMS is not set
 # CONFIG_NANDWRITE is not set
 # CONFIG_NANDDUMP is not set
+# CONFIG_SETSERIAL is not set
 # CONFIG_UBIATTACH is not set
 # CONFIG_UBIDETACH is not set
+# CONFIG_UBIMKVOL is not set
+# CONFIG_UBIRMVOL is not set
+# CONFIG_UBIRSVOL is not set
+# CONFIG_UBIUPDATEVOL is not set
 # CONFIG_ADJTIMEX is not set
 # CONFIG_BBCONFIG is not set
 # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
@@ -626,15 +662,6 @@ CONFIG_CRONTAB=y
 # CONFIG_LAST is not set
 # CONFIG_FEATURE_LAST_SMALL is not set
 # CONFIG_FEATURE_LAST_FANCY is not set
-# CONFIG_LESS is not set
-CONFIG_FEATURE_LESS_MAXLINES=0
-# CONFIG_FEATURE_LESS_BRACKETS is not set
-# CONFIG_FEATURE_LESS_FLAGS is not set
-# CONFIG_FEATURE_LESS_MARKS is not set
-# CONFIG_FEATURE_LESS_REGEXP is not set
-# CONFIG_FEATURE_LESS_WINCH is not set
-# CONFIG_FEATURE_LESS_DASHCMD is not set
-# CONFIG_FEATURE_LESS_LINENUMS is not set
 # CONFIG_HDPARM is not set
 # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
 # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
@@ -668,11 +695,17 @@ CONFIG_FEATURE_LESS_MAXLINES=0
 #
 # Networking Utilities
 #
+# CONFIG_NAMEIF is not set
+# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
 # CONFIG_NBDCLIENT is not set
 # 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_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING=y
+# CONFIG_WHOIS is not set
 # CONFIG_FEATURE_IPV6 is not set
 # CONFIG_FEATURE_UNIX_LOCAL is not set
 # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
@@ -745,17 +778,12 @@ CONFIG_IFUPDOWN_IFSTATE_PATH=""
 # CONFIG_IPCALC is not set
 # CONFIG_FEATURE_IPCALC_FANCY is not set
 # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
-# CONFIG_NAMEIF is not set
-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
 # CONFIG_NETSTAT is not set
 # CONFIG_FEATURE_NETSTAT_WIDE is not set
 # CONFIG_FEATURE_NETSTAT_PRG is not set
 # CONFIG_NSLOOKUP is not set
 # CONFIG_NTPD is not set
 # CONFIG_FEATURE_NTPD_SERVER is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
 # CONFIG_PSCAN is not set
 # CONFIG_ROUTE is not set
 # CONFIG_SLATTACH is not set
@@ -784,12 +812,14 @@ CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
 # CONFIG_DHCPRELAY is not set
 # CONFIG_DUMPLEASES is not set
 # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
+# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
 CONFIG_DHCPD_LEASES_FILE=""
 # CONFIG_UDHCPC is not set
 # CONFIG_FEATURE_UDHCPC_ARPING is not set
 # CONFIG_FEATURE_UDHCP_PORT is not set
 CONFIG_UDHCP_DEBUG=0
 # CONFIG_FEATURE_UDHCP_RFC3397 is not set
+# CONFIG_FEATURE_UDHCP_8021Q is not set
 CONFIG_UDHCPC_DEFAULT_SCRIPT=""
 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
@@ -825,15 +855,19 @@ CONFIG_FEATURE_MIME_CHARSET=""
 #
 # CONFIG_IOSTAT is not set
 # CONFIG_MPSTAT is not set
+# CONFIG_NMETER is not set
 # CONFIG_PMAP is not set
 # CONFIG_POWERTOP is not set
+# CONFIG_PSTREE is not set
+# CONFIG_PWDX is not set
 # CONFIG_SMEMCAP is not set
+# CONFIG_UPTIME is not set
+# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
 # CONFIG_FREE is not set
 # CONFIG_FUSER is not set
 # CONFIG_KILL is not set
 # CONFIG_KILLALL is not set
 # CONFIG_KILLALL5 is not set
-# CONFIG_NMETER is not set
 # CONFIG_PGREP is not set
 # CONFIG_PIDOF is not set
 # CONFIG_FEATURE_PIDOF_SINGLE is not set
@@ -854,7 +888,6 @@ CONFIG_FEATURE_MIME_CHARSET=""
 # CONFIG_FEATURE_TOP_SMP_PROCESS is not set
 # CONFIG_FEATURE_TOPMEM is not set
 # CONFIG_FEATURE_SHOW_THREADS is not set
-# CONFIG_UPTIME is not set
 # CONFIG_WATCH is not set
 
 #
@@ -892,6 +925,7 @@ CONFIG_SV_DEFAULT_SERVICE_DIR=""
 #
 # CONFIG_ASH is not set
 # CONFIG_ASH_BASH_COMPAT is not set
+# CONFIG_ASH_IDLE_TIMEOUT is not set
 # CONFIG_ASH_JOB_CONTROL is not set
 # CONFIG_ASH_ALIAS is not set
 # CONFIG_ASH_GETOPTS is not set
@@ -932,6 +966,7 @@ CONFIG_FEATURE_BASH_IS_NONE=y
 # CONFIG_FEATURE_SH_EXTRA_QUIET is not set
 # CONFIG_FEATURE_SH_STANDALONE is not set
 # CONFIG_FEATURE_SH_NOFORK is not set
+# CONFIG_FEATURE_SH_HISTFILESIZE is not set
 
 #
 # System Logging Utilities
@@ -940,6 +975,7 @@ CONFIG_FEATURE_BASH_IS_NONE=y
 # CONFIG_FEATURE_ROTATE_LOGFILE is not set
 # CONFIG_FEATURE_REMOTE_LOG is not set
 # CONFIG_FEATURE_SYSLOGD_DUP is not set
+# CONFIG_FEATURE_SYSLOGD_CFG is not set
 CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
 # CONFIG_FEATURE_IPC_SYSLOG is not set
 CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
index 23cfd38..619c6ef 100644 (file)
@@ -1,7 +1,7 @@
 Allows compatibility with tar -m / --touch command line option
 By Yauheni Kaliuta <yauheni.kaliuta@nokia.com>
 
-Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-04-29  
+Ported to BusyBox 1.19 by Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/archival/Config.src
@@ -22,7 +22,7 @@ Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-0
        default y
 --- a/archival/tar.c
 +++ b/archival/tar.c
-@@ -777,6 +777,7 @@ enum {
+@@ -819,6 +819,7 @@ enum {
        IF_FEATURE_TAR_TO_COMMAND(OPTBIT_2COMMAND   ,)
        OPTBIT_NUMERIC_OWNER,
        OPTBIT_NOPRESERVE_PERM,
@@ -30,15 +30,15 @@ Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-0
        OPTBIT_OVERWRITE,
  #endif
        OPT_TEST         = 1 << 0, // t
-@@ -800,6 +801,7 @@ enum {
+@@ -842,6 +843,7 @@ enum {
        OPT_2COMMAND        = IF_FEATURE_TAR_TO_COMMAND(  (1 << OPTBIT_2COMMAND       )) + 0, // to-command
        OPT_NUMERIC_OWNER   = IF_FEATURE_TAR_LONG_OPTIONS((1 << OPTBIT_NUMERIC_OWNER  )) + 0, // numeric-owner
        OPT_NOPRESERVE_PERM = IF_FEATURE_TAR_LONG_OPTIONS((1 << OPTBIT_NOPRESERVE_PERM)) + 0, // no-same-permissions
-+      OPT_TOUCH           = IF_FEATURE_TAR_TOUCH(   (1<<OPTBIT_TOUCH       )) + 0, // m
++      OPT_TOUCH           = IF_FEATURE_TAR_TOUCH(       (1 << OPTBIT_TOUCH          )) + 0, // m
        OPT_OVERWRITE       = IF_FEATURE_TAR_LONG_OPTIONS((1 << OPTBIT_OVERWRITE      )) + 0, // overwrite
  };
  #if ENABLE_FEATURE_TAR_LONG_OPTIONS
-@@ -853,6 +855,9 @@ static const char tar_longopts[] ALIGN1 
+@@ -895,6 +897,9 @@ static const char tar_longopts[] ALIGN1
  # if ENABLE_FEATURE_TAR_FROM
        "exclude\0"             Required_argument "\xff"
  # endif
@@ -48,7 +48,7 @@ Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-0
        ;
  #endif
  
-@@ -929,6 +934,7 @@ int tar_main(int argc UNUSED_PARAM, char
+@@ -970,6 +975,7 @@ int tar_main(int argc UNUSED_PARAM, char
                IF_FEATURE_SEAMLESS_GZ(  "z"   )
                IF_FEATURE_SEAMLESS_Z(   "Z"   )
                IF_FEATURE_TAR_NOPRESERVE_TIME("m")
index 4ae1e5c..c675b39 100644 (file)
@@ -1,12 +1,12 @@
 Flush all open files after showing files
 By Yauheni Kaliuta <yauheni.kaliuta@nokia.com>
 
-Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-04-29  
+Ported to BusyBox 1.19 by Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/coreutils/ls.c
 +++ b/coreutils/ls.c
-@@ -784,6 +784,7 @@ static void showfiles(struct dnode **dn,
+@@ -701,6 +701,7 @@ static void display_files(struct dnode *
                        }
                }
                putchar('\n');
index 9d9ec48..1e9bc1c 100644 (file)
@@ -1,64 +1,60 @@
---- a/shell/ash.c
-+++ b/shell/ash.c
-@@ -7345,25 +7345,10 @@
+--- a/Config.in
++++ b/Config.in
+@@ -431,13 +431,10 @@ config FEATURE_PREFER_APPLETS
  
+ config BUSYBOX_EXEC_PATH
+       string "Path to BusyBox executable"
+-      default "/proc/self/exe"
++      default "/bin/busybox"
+       help
+         When Busybox applets need to run other busybox applets, BusyBox
+-        sometimes needs to exec() itself. When the /proc filesystem is
+-        mounted, /proc/self/exe always points to the currently running
+-        executable. If you haven't got /proc, set this to wherever you
+-        want to run BusyBox from.
++        sometimes needs to exec() itself.
  
- static void
--tryexec(IF_FEATURE_SH_STANDALONE(int applet_no,) char *cmd, char **argv, char **envp)
-+tryexec(char *cmd, char **argv, char **envp)
- {
-       int repeated = 0;
+ # These are auto-selected by other options
  
--#if ENABLE_FEATURE_SH_STANDALONE
--      if (applet_no >= 0) {
--              if (APPLET_IS_NOEXEC(applet_no)) {
--                      clearenv();
--                      while (*envp)
--                              putenv(*envp++);
--                      run_applet_no_and_exit(applet_no, argv);
--              }
--              /* re-exec ourselves with the new arguments */
--              execve(bb_busybox_exec_path, argv, envp);
--              /* If they called chroot or otherwise made the binary no longer
--               * executable, fall through */
--      }
--#endif
--
-  repeat:
- #ifdef SYSV
-       do {
-@@ -7407,24 +7392,21 @@
-       int e;
-       char **envp;
-       int exerrno;
--#if ENABLE_FEATURE_SH_STANDALONE
--      int applet_no = -1;
--#endif
+--- a/coreutils/chroot.c
++++ b/coreutils/chroot.c
+@@ -41,5 +41,7 @@ int chroot_main(int argc UNUSED_PARAM, c
+               /*argv[2] = NULL; - already is */
+       }
  
-       clearredir(/*drop:*/ 1);
-       envp = listvars(VEXPORT, VUNSET, /*end:*/ NULL);
--      if (strchr(argv[0], '/') != NULL
--#if ENABLE_FEATURE_SH_STANDALONE
--       || (applet_no = find_applet_by_name(argv[0])) >= 0
--#endif
--      ) {
--              tryexec(IF_FEATURE_SH_STANDALONE(applet_no,) argv[0], argv, envp);
-+      if (strchr(argv[0], '/') != NULL) {
-+              tryexec(argv[0], argv, envp);
-               e = errno;
-       } else {
-+#if ENABLE_FEATURE_SH_STANDALONE
-+              bb_execv_applet(argv[0], argv, envp);
-+#endif
-+
-               e = ENOENT;
-               while ((cmdname = path_advance(&path, argv[0])) != NULL) {
-                       if (--idx < 0 && pathopt == NULL) {
--                              tryexec(IF_FEATURE_SH_STANDALONE(-1,) cmdname, argv, envp);
-+                              tryexec(cmdname, argv, envp);
-                               if (errno != ENOENT && errno != ENOTDIR)
-                                       e = errno;
-                       }
+-      BB_EXECVP_or_die(argv);
++      execvp(argv[0], argv);
++      xfunc_error_retval = (errno == ENOENT) ? 127 : 126;
++      bb_perror_msg_and_die("can't execute '%s'", argv[0]);
+ }
+--- a/include/libbb.h
++++ b/include/libbb.h
+@@ -896,13 +896,11 @@ int exists_execable(const char *filename
+  * but it may exec busybox and call applet instead of searching PATH.
+  */
+ #if ENABLE_FEATURE_PREFER_APPLETS
++int bb_execv_applet(const char *name, char *const argv[], char *const envp[]) FAST_FUNC;
+ int BB_EXECVP(const char *file, char *const argv[]) FAST_FUNC;
+-#define BB_EXECLP(prog,cmd,...) \
+-      do { \
+-              if (find_applet_by_name(prog) >= 0) \
+-                      execlp(bb_busybox_exec_path, cmd, __VA_ARGS__); \
+-              execlp(prog, cmd, __VA_ARGS__); \
+-      } while (0)
++int bb_execlp(const char *file, const char *arg, ...) FAST_FUNC;
++#define BB_EXECVP(prog,cmd)     bb_execvp(prog,cmd)
++#define BB_EXECLP(prog,cmd,...) bb_execlp(prog,cmd, __VA_ARGS__)
+ #else
+ #define BB_EXECVP(prog,cmd)     execvp(prog,cmd)
+ #define BB_EXECLP(prog,cmd,...) execlp(prog,cmd,__VA_ARGS__)
+@@ -1683,6 +1681,7 @@ extern const char bb_path_wtmp_file[];
+ #define bb_dev_null "/dev/null"
+ extern const char bb_busybox_exec_path[];
++extern const char *bb_busybox_exec_paths[];
+ /* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,
+  * but I want to save a few bytes here */
+ extern const char bb_PATH_root_path[]; /* "PATH=/sbin:/usr/sbin:/bin:/usr/bin" */
 --- a/libbb/execable.c
 +++ b/libbb/execable.c
 @@ -9,6 +9,9 @@
@@ -71,7 +67,7 @@
  /* check if path points to an executable file;
   * return 1 if found;
   * return 0 otherwise;
-@@ -68,12 +71,60 @@
+@@ -68,13 +71,60 @@ int FAST_FUNC exists_execable(const char
  }
  
  #if ENABLE_FEATURE_PREFER_APPLETS
 +      return -1;
 +}
 +
- /* just like the real execvp, but try to launch an applet named 'file' first
-  */
- int FAST_FUNC bb_execvp(const char *file, char *const argv[])
+ /* just like the real execvp, but try to launch an applet named 'file' first */
+ int FAST_FUNC BB_EXECVP(const char *file, char *const argv[])
  {
--      return execvp(find_applet_by_name(file) >= 0 ? bb_busybox_exec_path : file,
--                                      argv);
+-      if (find_applet_by_name(file) >= 0)
+-              execvp(bb_busybox_exec_path, argv);
 +      int ret = bb_execv_applet(file, argv, environ);
 +      if (errno != ENOENT)
 +              return ret;
 +
-+      return execvp(file, argv);
-+}
+       return execvp(file, argv);
+ }
 +
 +int FAST_FUNC bb_execlp(const char *file, const char *arg, ...)
 +{
 +      free(argv);
 +
 +      return ret;
- }
++}
  #endif
  
+ int FAST_FUNC BB_EXECVP_or_die(char **argv)
 --- a/libbb/messages.c
 +++ b/libbb/messages.c
-@@ -36,6 +36,15 @@
+@@ -36,6 +36,15 @@ const char bb_msg_standard_output[] ALIG
  const char bb_hexdigits_upcase[] ALIGN1 = "0123456789ABCDEF";
  
  const char bb_busybox_exec_path[] ALIGN1 = CONFIG_BUSYBOX_EXEC_PATH;
  const char bb_default_login_shell[] ALIGN1 = LIBBB_DEFAULT_LOGIN_SHELL;
  /* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,
   * but I want to save a few bytes here. Check libbb.h before changing! */
---- a/include/libbb.h
-+++ b/include/libbb.h
-@@ -842,11 +842,11 @@
-  * but it may exec busybox and call applet instead of searching PATH.
-  */
- #if ENABLE_FEATURE_PREFER_APPLETS
-+int bb_execv_applet(const char *name, char *const argv[], char *const envp[]) FAST_FUNC;
- int bb_execvp(const char *file, char *const argv[]) FAST_FUNC;
--#define BB_EXECVP(prog,cmd) bb_execvp(prog,cmd)
--#define BB_EXECLP(prog,cmd,...) \
--      execlp((find_applet_by_name(prog) >= 0) ? CONFIG_BUSYBOX_EXEC_PATH : prog, \
--              cmd, __VA_ARGS__)
-+int bb_execlp(const char *file, const char *arg, ...) FAST_FUNC;
-+#define BB_EXECVP(prog,cmd)     bb_execvp(prog,cmd)
-+#define BB_EXECLP(prog,cmd,...) bb_execlp(prog,cmd, __VA_ARGS__)
- #else
- #define BB_EXECVP(prog,cmd)     execvp(prog,cmd)
- #define BB_EXECLP(prog,cmd,...) execlp(prog,cmd, __VA_ARGS__)
-@@ -1612,6 +1612,7 @@
- #define bb_dev_null "/dev/null"
- extern const char bb_busybox_exec_path[];
-+extern const char *bb_busybox_exec_paths[];
- /* util-linux manpage says /sbin:/bin:/usr/sbin:/usr/bin,
-  * but I want to save a few bytes here */
- extern const char bb_PATH_root_path[]; /* "PATH=/sbin:/usr/sbin:/bin:/usr/bin" */
---- a/Config.in
-+++ b/Config.in
-@@ -411,13 +411,10 @@
+--- a/shell/ash.c
++++ b/shell/ash.c
+@@ -7394,22 +7394,8 @@ static int builtinloc = -1;     /* index
  
- config BUSYBOX_EXEC_PATH
-       string "Path to BusyBox executable"
--      default "/proc/self/exe"
-+      default "/bin/busybox"
-       help
-         When Busybox applets need to run other busybox applets, BusyBox
--        sometimes needs to exec() itself. When the /proc filesystem is
--        mounted, /proc/self/exe always points to the currently running
--        executable. If you haven't got /proc, set this to wherever you
--        want to run BusyBox from.
-+        sometimes needs to exec() itself.
  
- # These are auto-selected by other options
+ static void
+-tryexec(IF_FEATURE_SH_STANDALONE(int applet_no,) char *cmd, char **argv, char **envp)
++tryexec(char *cmd, char **argv, char **envp)
+ {
+-#if ENABLE_FEATURE_SH_STANDALONE
+-      if (applet_no >= 0) {
+-              if (APPLET_IS_NOEXEC(applet_no)) {
+-                      clearenv();
+-                      while (*envp)
+-                              putenv(*envp++);
+-                      run_applet_no_and_exit(applet_no, argv);
+-              }
+-              /* re-exec ourselves with the new arguments */
+-              execve(bb_busybox_exec_path, argv, envp);
+-              /* If they called chroot or otherwise made the binary no longer
+-               * executable, fall through */
+-      }
+-#endif
  
---- a/coreutils/chroot.c
-+++ b/coreutils/chroot.c
-@@ -30,5 +30,7 @@
-               argv[1] = (char *) "-i";
-       }
+  repeat:
+ #ifdef SYSV
+@@ -7465,24 +7451,21 @@ shellexec(char **argv, const char *path,
+       int e;
+       char **envp;
+       int exerrno;
+-#if ENABLE_FEATURE_SH_STANDALONE
+-      int applet_no = -1;
+-#endif
  
--      BB_EXECVP_or_die(argv);
-+      execvp(argv[0], argv);
-+      xfunc_error_retval = (errno == ENOENT) ? 127 : 126;
-+      bb_perror_msg_and_die("can't execute '%s'", argv[0]);
- }
+       clearredir(/*drop:*/ 1);
+       envp = listvars(VEXPORT, VUNSET, /*end:*/ NULL);
+-      if (strchr(argv[0], '/') != NULL
+-#if ENABLE_FEATURE_SH_STANDALONE
+-       || (applet_no = find_applet_by_name(argv[0])) >= 0
+-#endif
+-      ) {
+-              tryexec(IF_FEATURE_SH_STANDALONE(applet_no,) argv[0], argv, envp);
++      if (strchr(argv[0], '/') != NULL) {
++              tryexec(argv[0], argv, envp);
+               e = errno;
+       } else {
++#if ENABLE_FEATURE_SH_STANDALONE
++              bb_execv_applet(argv[0], argv, envp);
++#endif
++
+               e = ENOENT;
+               while ((cmdname = path_advance(&path, argv[0])) != NULL) {
+                       if (--idx < 0 && pathopt == NULL) {
+-                              tryexec(IF_FEATURE_SH_STANDALONE(-1,) cmdname, argv, envp);
++                              tryexec(cmdname, argv, envp);
+                               if (errno != ENOENT && errno != ENOTDIR)
+                                       e = errno;
+                       }
index 484a0cf..3ce219d 100644 (file)
@@ -1,11 +1,11 @@
 Allows the user to specify a location at compile time for temporarily storing ash's history file until the shell is closed.
 NB This is only useful if ASH_HIST_BUFFER_PATH points to an in-memory filesystem.
-By Dennis Groenen <tj.groenen@gmail.com> - 2011-07-31
+By Dennis Groenen <tj.groenen@gmail.com> - 2011-08-20
 ---
 
 --- a/shell/ash.c
 +++ b/shell/ash.c
-@@ -182,6 +182,24 @@
+@@ -184,6 +184,24 @@
  //config:       This option recreates the prompt string from the environment
  //config:       variable each time it is displayed.
  //config:
@@ -28,9 +28,9 @@ By Dennis Groenen <tj.groenen@gmail.com> - 2011-07-31
 +//config:       ash is exited.
 +//config:
  
- //usage:#define ash_trivial_usage NOUSAGE_STR
- //usage:#define ash_full_usage ""
-@@ -12810,6 +12828,14 @@ exitshell(void)
+ //applet:IF_ASH(APPLET(ash, BB_DIR_BIN, BB_SUID_DROP))
+ //applet:IF_FEATURE_SH_IS_ASH(APPLET_ODDNAME(sh, ash, BB_DIR_BIN, BB_SUID_DROP, sh))
+@@ -12888,6 +12906,14 @@ exitshell(void)
        char *p;
        int status;
  
@@ -45,10 +45,10 @@ By Dennis Groenen <tj.groenen@gmail.com> - 2011-07-31
        status = exitstatus;
        TRACE(("pid %d, exitshell(%d)\n", getpid(), status));
        if (setjmp(loc.loc)) {
-@@ -13056,9 +13082,59 @@ int ash_main(int argc UNUSED_PARAM, char
-               if (hp == NULL) {
+@@ -13151,9 +13177,59 @@ int ash_main(int argc UNUSED_PARAM, char
+               if (!hp) {
                        hp = lookupvar("HOME");
-                       if (hp != NULL) {
+                       if (hp) {
 +#if ENABLE_ASH_HIST_BUFFER
 +                              char *tmppath;
 +                              char *tmphistory;
index cbeb08e..1888572 100644 (file)
@@ -1,11 +1,11 @@
 By Yauheni Kaliuta <yauheni.kaliuta@nokia.com>
 
-Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-04-29  
+Ported to BusyBox 1.19 by Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/networking/interface.c
 +++ b/networking/interface.c
-@@ -622,6 +622,7 @@ static int if_fetch(struct interface *if
+@@ -621,6 +621,7 @@ static int if_fetch(struct interface *if
  
        strncpy_IFNAMSIZ(ifr.ifr_name, ifname);
        memset(ife->hwaddr, 0, 32);
diff --git a/debian/patches/ctrl_r-history-search.patch b/debian/patches/ctrl_r-history-search.patch
deleted file mode 100644 (file)
index a952318..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-libbb/lineedit: implement optional Ctrl-R history search
-Source: http://git.busybox.net/busybox/commit/?id=a669eca3a230e35e4a6894a30168a047000f3b75
----
-
---- a/libbb/Config.src
-+++ b/libbb/Config.src
-@@ -93,6 +93,14 @@ config FEATURE_EDITING_SAVEHISTORY
-       help
-         Enable history saving in shells.
-+config FEATURE_REVERSE_SEARCH
-+      bool "Reverse history search"
-+      default y
-+      depends on FEATURE_EDITING_SAVEHISTORY
-+      help
-+        Enable readline-like Ctrl-R combination for reverse history search.
-+        Increases code by about 0.5k.
-+
- config FEATURE_TAB_COMPLETION
-       bool "Tab completion"
-       default y
---- a/libbb/lineedit.c
-+++ b/libbb/lineedit.c
-@@ -202,9 +202,9 @@ static void deinit_S(void)
- #if ENABLE_UNICODE_SUPPORT
--static size_t load_string(const char *src, int maxsize)
-+static size_t load_string(const char *src)
- {
--      ssize_t len = mbstowcs(command_ps, src, maxsize - 1);
-+      ssize_t len = mbstowcs(command_ps, src, S.maxsize - 1);
-       if (len < 0)
-               len = 0;
-       command_ps[len] = BB_NUL;
-@@ -297,9 +297,9 @@ static wchar_t adjust_width_and_validate
-       return wc;
- }
- #else /* !UNICODE */
--static size_t load_string(const char *src, int maxsize)
-+static size_t load_string(const char *src)
- {
--      safe_strncpy(command_ps, src, maxsize);
-+      safe_strncpy(command_ps, src, S.maxsize);
-       return strlen(command_ps);
- }
- # if ENABLE_FEATURE_TAB_COMPLETION
-@@ -1202,10 +1202,10 @@ static NOINLINE void input_tab(smallint 
-                       strcpy(match_buf, &command[cursor_mb]);
-                       /* where do we want to have cursor after all? */
-                       strcpy(&command[cursor_mb], chosen_match + match_pfx_len);
--                      len = load_string(command, S.maxsize);
-+                      len = load_string(command);
-                       /* add match and tail */
-                       sprintf(&command[cursor_mb], "%s%s", chosen_match + match_pfx_len, match_buf);
--                      command_len = load_string(command, S.maxsize);
-+                      command_len = load_string(command);
-                       /* write out the matched command */
-                       /* paranoia: load_string can return 0 on conv error,
-                        * prevent passing pos = (0 - 12) to redraw */
-@@ -1911,6 +1911,140 @@ static int isrtl_str(void)
- #undef CTRL
- #define CTRL(a) ((a) & ~0x40)
-+enum {
-+      VI_CMDMODE_BIT = 0x40000000,
-+      /* 0x80000000 bit flags KEYCODE_xxx */
-+};
-+
-+#if ENABLE_FEATURE_REVERSE_SEARCH
-+/* Mimic readline Ctrl-R reverse history search.
-+ * When invoked, it shows the following prompt:
-+ * (reverse-i-search)'': user_input [cursor pos unchanged by Ctrl-R]
-+ * and typing results in search being performed:
-+ * (reverse-i-search)'tmp': cd /tmp [cursor under t in /tmp]
-+ * Search is performed by looking at progressively older lines in history.
-+ * Ctrl-R again searches for the next match in history.
-+ * Backspace deletes last matched char.
-+ * Control keys exit search and return to normal editing (at current history line).
-+ */
-+static int32_t reverse_i_search(void)
-+{
-+      char match_buf[128]; /* for user input */
-+      char read_key_buffer[KEYCODE_BUFFER_SIZE];
-+      const char *matched_history_line;
-+      const char *saved_prompt;
-+      int32_t ic;
-+
-+      matched_history_line = NULL;
-+      read_key_buffer[0] = 0;
-+      match_buf[0] = '\0';
-+
-+      /* Save and replace the prompt */
-+      saved_prompt = cmdedit_prompt;
-+      goto set_prompt;
-+
-+      while (1) {
-+              int h;
-+              unsigned match_buf_len = strlen(match_buf);
-+
-+              fflush_all();
-+//FIXME: correct timeout?
-+              ic = lineedit_read_key(read_key_buffer);
-+
-+              switch (ic) {
-+              case CTRL('R'): /* searching for the next match */
-+                      break;
-+
-+              case '\b':
-+              case '\x7f':
-+                      /* Backspace */
-+                      if (unicode_status == UNICODE_ON) {
-+                              while (match_buf_len != 0) {
-+                                      uint8_t c = match_buf[--match_buf_len];
-+                                      if ((c & 0xc0) != 0x80) /* start of UTF-8 char? */
-+                                              break; /* yes */
-+                              }
-+                      } else {
-+                              if (match_buf_len != 0)
-+                                      match_buf_len--;
-+                      }
-+                      match_buf[match_buf_len] = '\0';
-+                      break;
-+
-+              default:
-+                      if (ic < ' '
-+                       || (!ENABLE_UNICODE_SUPPORT && ic >= 256)
-+                       || (ENABLE_UNICODE_SUPPORT && ic >= VI_CMDMODE_BIT)
-+                      ) {
-+                              goto ret;
-+                      }
-+
-+                      /* Append this char */
-+#if ENABLE_UNICODE_SUPPORT
-+                      if (unicode_status == UNICODE_ON) {
-+                              mbstate_t mbstate = { 0 };
-+                              char buf[MB_CUR_MAX + 1];
-+                              int len = wcrtomb(buf, ic, &mbstate);
-+                              if (len > 0) {
-+                                      buf[len] = '\0';
-+                                      if (match_buf_len + len < sizeof(match_buf))
-+                                              strcpy(match_buf + match_buf_len, buf);
-+                              }
-+                      } else
-+#endif
-+                      if (match_buf_len < sizeof(match_buf) - 1) {
-+                              match_buf[match_buf_len] = ic;
-+                              match_buf[match_buf_len + 1] = '\0';
-+                      }
-+                      break;
-+              } /* switch (ic) */
-+
-+              /* Search in history for match_buf */
-+              h = state->cur_history;
-+              if (ic == CTRL('R'))
-+                      h--;
-+              while (h >= 0) {
-+                      if (state->history[h]) {
-+                              char *match = strstr(state->history[h], match_buf);
-+                              if (match) {
-+                                      state->cur_history = h;
-+                                      matched_history_line = state->history[h];
-+                                      command_len = load_string(matched_history_line);
-+                                      cursor = match - matched_history_line;
-+//FIXME: cursor position for Unicode case
-+
-+                                      free((char*)cmdedit_prompt);
-+ set_prompt:
-+                                      cmdedit_prompt = xasprintf("(reverse-i-search)'%s': ", match_buf);
-+                                      cmdedit_prmt_len = strlen(cmdedit_prompt);
-+                                      goto do_redraw;
-+                              }
-+                      }
-+                      h--;
-+              }
-+
-+              /* Not found */
-+              match_buf[match_buf_len] = '\0';
-+              beep();
-+              continue;
-+
-+ do_redraw:
-+              redraw(cmdedit_y, command_len - cursor);
-+      } /* while (1) */
-+
-+ ret:
-+      if (matched_history_line)
-+              command_len = load_string(matched_history_line);
-+
-+      free((char*)cmdedit_prompt);
-+      cmdedit_prompt = saved_prompt;
-+      cmdedit_prmt_len = strlen(cmdedit_prompt);
-+      redraw(cmdedit_y, command_len - cursor);
-+
-+      return ic;
-+}
-+#endif
-+
- /* maxsize must be >= 2.
-  * Returns:
-  * -1 on read errors or EOF, or on bare Ctrl-D,
-@@ -2026,15 +2160,14 @@ int FAST_FUNC read_line_input(const char
-                * clutters the big switch a bit, but keeps all the code
-                * in one place.
-                */
--              enum {
--                      VI_CMDMODE_BIT = 0x40000000,
--                      /* 0x80000000 bit flags KEYCODE_xxx */
--              };
-               int32_t ic, ic_raw;
-               fflush_all();
-               ic = ic_raw = lineedit_read_key(read_key_buffer);
-+#if ENABLE_FEATURE_REVERSE_SEARCH
-+ again:
-+#endif
- #if ENABLE_FEATURE_EDITING_VI
-               newdelflag = 1;
-               if (vi_cmdmode) {
-@@ -2138,6 +2271,11 @@ int FAST_FUNC read_line_input(const char
-                       while (cursor > 0 && !BB_isspace(command_ps[cursor-1]))
-                               input_backspace();
-                       break;
-+#if ENABLE_FEATURE_REVERSE_SEARCH
-+              case CTRL('R'):
-+                      ic = ic_raw = reverse_i_search();
-+                      goto again;
-+#endif
- #if ENABLE_FEATURE_EDITING_VI
-               case 'i'|VI_CMDMODE_BIT:
-@@ -2291,7 +2429,7 @@ int FAST_FUNC read_line_input(const char
-                       /* Rewrite the line with the selected history item */
-                       /* change command */
-                       command_len = load_string(state->history[state->cur_history] ?
--                                      state->history[state->cur_history] : "", maxsize);
-+                                      state->history[state->cur_history] : "");
-                       /* redraw and go to eol (bol, in vi) */
-                       redraw(cmdedit_y, (state->flags & VI_MODE) ? 9999 : 0);
-                       break;
index fd45cbf..46ca1dc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/init/init.c
 +++ b/init/init.c
-@@ -562,6 +562,8 @@ static void run_actions(int action_type)
+@@ -563,6 +563,8 @@ static void run_actions(int action_type)
        for (a = init_action_list; a; a = a->next) {
                if (!(a->action_type & action_type))
                        continue;
diff --git a/debian/patches/obselete/ctrl_r-history-search.patch b/debian/patches/obselete/ctrl_r-history-search.patch
new file mode 100644 (file)
index 0000000..a952318
--- /dev/null
@@ -0,0 +1,241 @@
+libbb/lineedit: implement optional Ctrl-R history search
+Source: http://git.busybox.net/busybox/commit/?id=a669eca3a230e35e4a6894a30168a047000f3b75
+---
+
+--- a/libbb/Config.src
++++ b/libbb/Config.src
+@@ -93,6 +93,14 @@ config FEATURE_EDITING_SAVEHISTORY
+       help
+         Enable history saving in shells.
++config FEATURE_REVERSE_SEARCH
++      bool "Reverse history search"
++      default y
++      depends on FEATURE_EDITING_SAVEHISTORY
++      help
++        Enable readline-like Ctrl-R combination for reverse history search.
++        Increases code by about 0.5k.
++
+ config FEATURE_TAB_COMPLETION
+       bool "Tab completion"
+       default y
+--- a/libbb/lineedit.c
++++ b/libbb/lineedit.c
+@@ -202,9 +202,9 @@ static void deinit_S(void)
+ #if ENABLE_UNICODE_SUPPORT
+-static size_t load_string(const char *src, int maxsize)
++static size_t load_string(const char *src)
+ {
+-      ssize_t len = mbstowcs(command_ps, src, maxsize - 1);
++      ssize_t len = mbstowcs(command_ps, src, S.maxsize - 1);
+       if (len < 0)
+               len = 0;
+       command_ps[len] = BB_NUL;
+@@ -297,9 +297,9 @@ static wchar_t adjust_width_and_validate
+       return wc;
+ }
+ #else /* !UNICODE */
+-static size_t load_string(const char *src, int maxsize)
++static size_t load_string(const char *src)
+ {
+-      safe_strncpy(command_ps, src, maxsize);
++      safe_strncpy(command_ps, src, S.maxsize);
+       return strlen(command_ps);
+ }
+ # if ENABLE_FEATURE_TAB_COMPLETION
+@@ -1202,10 +1202,10 @@ static NOINLINE void input_tab(smallint 
+                       strcpy(match_buf, &command[cursor_mb]);
+                       /* where do we want to have cursor after all? */
+                       strcpy(&command[cursor_mb], chosen_match + match_pfx_len);
+-                      len = load_string(command, S.maxsize);
++                      len = load_string(command);
+                       /* add match and tail */
+                       sprintf(&command[cursor_mb], "%s%s", chosen_match + match_pfx_len, match_buf);
+-                      command_len = load_string(command, S.maxsize);
++                      command_len = load_string(command);
+                       /* write out the matched command */
+                       /* paranoia: load_string can return 0 on conv error,
+                        * prevent passing pos = (0 - 12) to redraw */
+@@ -1911,6 +1911,140 @@ static int isrtl_str(void)
+ #undef CTRL
+ #define CTRL(a) ((a) & ~0x40)
++enum {
++      VI_CMDMODE_BIT = 0x40000000,
++      /* 0x80000000 bit flags KEYCODE_xxx */
++};
++
++#if ENABLE_FEATURE_REVERSE_SEARCH
++/* Mimic readline Ctrl-R reverse history search.
++ * When invoked, it shows the following prompt:
++ * (reverse-i-search)'': user_input [cursor pos unchanged by Ctrl-R]
++ * and typing results in search being performed:
++ * (reverse-i-search)'tmp': cd /tmp [cursor under t in /tmp]
++ * Search is performed by looking at progressively older lines in history.
++ * Ctrl-R again searches for the next match in history.
++ * Backspace deletes last matched char.
++ * Control keys exit search and return to normal editing (at current history line).
++ */
++static int32_t reverse_i_search(void)
++{
++      char match_buf[128]; /* for user input */
++      char read_key_buffer[KEYCODE_BUFFER_SIZE];
++      const char *matched_history_line;
++      const char *saved_prompt;
++      int32_t ic;
++
++      matched_history_line = NULL;
++      read_key_buffer[0] = 0;
++      match_buf[0] = '\0';
++
++      /* Save and replace the prompt */
++      saved_prompt = cmdedit_prompt;
++      goto set_prompt;
++
++      while (1) {
++              int h;
++              unsigned match_buf_len = strlen(match_buf);
++
++              fflush_all();
++//FIXME: correct timeout?
++              ic = lineedit_read_key(read_key_buffer);
++
++              switch (ic) {
++              case CTRL('R'): /* searching for the next match */
++                      break;
++
++              case '\b':
++              case '\x7f':
++                      /* Backspace */
++                      if (unicode_status == UNICODE_ON) {
++                              while (match_buf_len != 0) {
++                                      uint8_t c = match_buf[--match_buf_len];
++                                      if ((c & 0xc0) != 0x80) /* start of UTF-8 char? */
++                                              break; /* yes */
++                              }
++                      } else {
++                              if (match_buf_len != 0)
++                                      match_buf_len--;
++                      }
++                      match_buf[match_buf_len] = '\0';
++                      break;
++
++              default:
++                      if (ic < ' '
++                       || (!ENABLE_UNICODE_SUPPORT && ic >= 256)
++                       || (ENABLE_UNICODE_SUPPORT && ic >= VI_CMDMODE_BIT)
++                      ) {
++                              goto ret;
++                      }
++
++                      /* Append this char */
++#if ENABLE_UNICODE_SUPPORT
++                      if (unicode_status == UNICODE_ON) {
++                              mbstate_t mbstate = { 0 };
++                              char buf[MB_CUR_MAX + 1];
++                              int len = wcrtomb(buf, ic, &mbstate);
++                              if (len > 0) {
++                                      buf[len] = '\0';
++                                      if (match_buf_len + len < sizeof(match_buf))
++                                              strcpy(match_buf + match_buf_len, buf);
++                              }
++                      } else
++#endif
++                      if (match_buf_len < sizeof(match_buf) - 1) {
++                              match_buf[match_buf_len] = ic;
++                              match_buf[match_buf_len + 1] = '\0';
++                      }
++                      break;
++              } /* switch (ic) */
++
++              /* Search in history for match_buf */
++              h = state->cur_history;
++              if (ic == CTRL('R'))
++                      h--;
++              while (h >= 0) {
++                      if (state->history[h]) {
++                              char *match = strstr(state->history[h], match_buf);
++                              if (match) {
++                                      state->cur_history = h;
++                                      matched_history_line = state->history[h];
++                                      command_len = load_string(matched_history_line);
++                                      cursor = match - matched_history_line;
++//FIXME: cursor position for Unicode case
++
++                                      free((char*)cmdedit_prompt);
++ set_prompt:
++                                      cmdedit_prompt = xasprintf("(reverse-i-search)'%s': ", match_buf);
++                                      cmdedit_prmt_len = strlen(cmdedit_prompt);
++                                      goto do_redraw;
++                              }
++                      }
++                      h--;
++              }
++
++              /* Not found */
++              match_buf[match_buf_len] = '\0';
++              beep();
++              continue;
++
++ do_redraw:
++              redraw(cmdedit_y, command_len - cursor);
++      } /* while (1) */
++
++ ret:
++      if (matched_history_line)
++              command_len = load_string(matched_history_line);
++
++      free((char*)cmdedit_prompt);
++      cmdedit_prompt = saved_prompt;
++      cmdedit_prmt_len = strlen(cmdedit_prompt);
++      redraw(cmdedit_y, command_len - cursor);
++
++      return ic;
++}
++#endif
++
+ /* maxsize must be >= 2.
+  * Returns:
+  * -1 on read errors or EOF, or on bare Ctrl-D,
+@@ -2026,15 +2160,14 @@ int FAST_FUNC read_line_input(const char
+                * clutters the big switch a bit, but keeps all the code
+                * in one place.
+                */
+-              enum {
+-                      VI_CMDMODE_BIT = 0x40000000,
+-                      /* 0x80000000 bit flags KEYCODE_xxx */
+-              };
+               int32_t ic, ic_raw;
+               fflush_all();
+               ic = ic_raw = lineedit_read_key(read_key_buffer);
++#if ENABLE_FEATURE_REVERSE_SEARCH
++ again:
++#endif
+ #if ENABLE_FEATURE_EDITING_VI
+               newdelflag = 1;
+               if (vi_cmdmode) {
+@@ -2138,6 +2271,11 @@ int FAST_FUNC read_line_input(const char
+                       while (cursor > 0 && !BB_isspace(command_ps[cursor-1]))
+                               input_backspace();
+                       break;
++#if ENABLE_FEATURE_REVERSE_SEARCH
++              case CTRL('R'):
++                      ic = ic_raw = reverse_i_search();
++                      goto again;
++#endif
+ #if ENABLE_FEATURE_EDITING_VI
+               case 'i'|VI_CMDMODE_BIT:
+@@ -2291,7 +2429,7 @@ int FAST_FUNC read_line_input(const char
+                       /* Rewrite the line with the selected history item */
+                       /* change command */
+                       command_len = load_string(state->history[state->cur_history] ?
+-                                      state->history[state->cur_history] : "", maxsize);
++                                      state->history[state->cur_history] : "");
+                       /* redraw and go to eol (bol, in vi) */
+                       redraw(cmdedit_y, (state->flags & VI_MODE) ? 9999 : 0);
+                       break;
diff --git a/debian/patches/obselete/showkey-any-stdin.patch b/debian/patches/obselete/showkey-any-stdin.patch
new file mode 100644 (file)
index 0000000..f4aca38
--- /dev/null
@@ -0,0 +1,87 @@
+Pull patch from BusyBox' git repo to make "showkey -a" work on any stdin
+Source: http://git.busybox.net/busybox/commit/?id=9beb68e3e2dc1c6f457acfb307cfed73cce65cd9
+---
+
+--- a/console-tools/showkey.c
++++ b/console-tools/showkey.c
+@@ -56,37 +56,45 @@ int showkey_main(int argc UNUSED_PARAM, 
+       // FIXME: aks are all mutually exclusive
+       getopt32(argv, "aks");
+-      // get keyboard settings
+-      xioctl(STDIN_FILENO, KDGKBMODE, &kbmode);
+-      printf("kb mode was %s\n\nPress any keys. Program terminates %s\n\n",
+-              kbmode == K_RAW ? "RAW" :
+-                      (kbmode == K_XLATE ? "XLATE" :
+-                              (kbmode == K_MEDIUMRAW ? "MEDIUMRAW" :
+-                                      (kbmode == K_UNICODE ? "UNICODE" : "UNKNOWN")))
+-              , (option_mask32 & OPT_a) ? "on EOF (ctrl-D)" : "10s after last keypress"
+-      );
+-
+       // prepare for raw mode
+       xget1(&tio, &tio0);
+       // put stdin in raw mode
+       xset1(&tio);
++#define press_keys "Press any keys, program terminates %s:\r\n\n"
++
+       if (option_mask32 & OPT_a) {
++              // just read stdin char by char
+               unsigned char c;
+-              // just read stdin char by char
++              printf(press_keys, "on EOF (ctrl-D)");
++
++              // read and show byte values
+               while (1 == read(STDIN_FILENO, &c, 1)) {
+                       printf("%3u 0%03o 0x%02x\r\n", c, c, c);
+                       if (04 /*CTRL-D*/ == c)
+                               break;
+               }
++
+       } else {
++                      // we assume a PC keyboard
++                      xioctl(STDIN_FILENO, KDGKBMODE, &kbmode);
++                      printf("Keyboard mode was %s.\r\n\n",
++                              kbmode == K_RAW ? "RAW" :
++                                      (kbmode == K_XLATE ? "XLATE" :
++                                              (kbmode == K_MEDIUMRAW ? "MEDIUMRAW" :
++                                                      (kbmode == K_UNICODE ? "UNICODE" : "UNKNOWN")))
++                      );
++
+               // set raw keyboard mode
+               xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)((option_mask32 & OPT_k) ? K_MEDIUMRAW : K_RAW));
+               // we should exit on any signal; signals should interrupt read
+               bb_signals_recursive_norestart(BB_FATAL_SIGS, record_signo);
++              // inform user that program ends after time of inactivity
++              printf(press_keys, "10s after last keypress");
++
+               // read and show scancodes
+               while (!bb_got_signal) {
+                       char buf[18];
+@@ -94,6 +102,7 @@ int showkey_main(int argc UNUSED_PARAM, 
+                       // setup 10s watchdog
+                       alarm(10);
++
+                       // read scancodes
+                       n = read(STDIN_FILENO, buf, sizeof(buf));
+                       i = 0;
+@@ -121,11 +130,13 @@ int showkey_main(int argc UNUSED_PARAM, 
+                       }
+                       puts("\r");
+               }
++
++              // restore keyboard mode
++              xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)kbmode);
+       }
+-      // restore keyboard and console settings
++      // restore console settings
+       xset1(&tio0);
+-      xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)kbmode);
+       return EXIT_SUCCESS;
+ }
index f9c0e8b..d052f3a 100644 (file)
@@ -1,10 +1,10 @@
 Parse the complete hostname when set from a file (busybox-1.10.2 behaviour)
-By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-09
+By Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/networking/hostname.c
 +++ b/networking/hostname.c
-@@ -17,7 +17,7 @@ static void do_sethostname(char *s, int
+@@ -35,7 +35,7 @@ static void do_sethostname(char *s, int
  //            return;
        if (isfile) {
                parser_t *parser = config_open2(s, xfopen_for_read);
index 08dbc87..61c84f3 100644 (file)
@@ -1,12 +1,12 @@
 Make "ps" accept (but ignore) all missing common options expected to be supported by "ps"
 This is required to not break scripts which are using these options
 
-By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-28
+By Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/procps/ps.c
 +++ b/procps/ps.c
-@@ -559,7 +559,7 @@ int ps_main(int argc UNUSED_PARAM, char 
+@@ -633,7 +633,7 @@ int ps_main(int argc UNUSED_PARAM, char
        /* -w is a bit complicated */
        int w_count = 0;
        opt_complementary = "-:ww";
@@ -15,7 +15,7 @@ By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-28
        /* if w is given once, GNU ps sets the width to 132,
         * if w is given more than once, it is "unlimited"
         */
-@@ -574,7 +574,7 @@ int ps_main(int argc UNUSED_PARAM, char 
+@@ -648,7 +648,7 @@ int ps_main(int argc UNUSED_PARAM, char
  # else
        /* -w is not supported, only -Z and/or -T */
        opt_complementary = "-";
index fe4d601..b86d70c 100644 (file)
@@ -17,9 +17,7 @@ supress-bad-number.patch
 parse-complete-hostname.patch
 
 #New patches as per reported issues by users
-showkey-any-stdin.patch
 showkey-default-option.patch
 ps-accept-and-ignore-missing-options.patch
 ash-history-buffer.patch
-ctrl_r-history-search.patch
 
index c55c92c..6830708 100644 (file)
@@ -1,6 +1,6 @@
 --- a/shell/ash.c
 +++ b/shell/ash.c
-@@ -1897,7 +1897,7 @@ static const struct {
+@@ -1904,7 +1904,7 @@ static const struct {
        { VSTRFIXED|VTEXTFIXED|VUNSET, "MAIL"      , changemail      },
        { VSTRFIXED|VTEXTFIXED|VUNSET, "MAILPATH"  , changemail      },
  #endif
diff --git a/debian/patches/showkey-any-stdin.patch b/debian/patches/showkey-any-stdin.patch
deleted file mode 100644 (file)
index f4aca38..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-Pull patch from BusyBox' git repo to make "showkey -a" work on any stdin
-Source: http://git.busybox.net/busybox/commit/?id=9beb68e3e2dc1c6f457acfb307cfed73cce65cd9
----
-
---- a/console-tools/showkey.c
-+++ b/console-tools/showkey.c
-@@ -56,37 +56,45 @@ int showkey_main(int argc UNUSED_PARAM, 
-       // FIXME: aks are all mutually exclusive
-       getopt32(argv, "aks");
--      // get keyboard settings
--      xioctl(STDIN_FILENO, KDGKBMODE, &kbmode);
--      printf("kb mode was %s\n\nPress any keys. Program terminates %s\n\n",
--              kbmode == K_RAW ? "RAW" :
--                      (kbmode == K_XLATE ? "XLATE" :
--                              (kbmode == K_MEDIUMRAW ? "MEDIUMRAW" :
--                                      (kbmode == K_UNICODE ? "UNICODE" : "UNKNOWN")))
--              , (option_mask32 & OPT_a) ? "on EOF (ctrl-D)" : "10s after last keypress"
--      );
--
-       // prepare for raw mode
-       xget1(&tio, &tio0);
-       // put stdin in raw mode
-       xset1(&tio);
-+#define press_keys "Press any keys, program terminates %s:\r\n\n"
-+
-       if (option_mask32 & OPT_a) {
-+              // just read stdin char by char
-               unsigned char c;
--              // just read stdin char by char
-+              printf(press_keys, "on EOF (ctrl-D)");
-+
-+              // read and show byte values
-               while (1 == read(STDIN_FILENO, &c, 1)) {
-                       printf("%3u 0%03o 0x%02x\r\n", c, c, c);
-                       if (04 /*CTRL-D*/ == c)
-                               break;
-               }
-+
-       } else {
-+                      // we assume a PC keyboard
-+                      xioctl(STDIN_FILENO, KDGKBMODE, &kbmode);
-+                      printf("Keyboard mode was %s.\r\n\n",
-+                              kbmode == K_RAW ? "RAW" :
-+                                      (kbmode == K_XLATE ? "XLATE" :
-+                                              (kbmode == K_MEDIUMRAW ? "MEDIUMRAW" :
-+                                                      (kbmode == K_UNICODE ? "UNICODE" : "UNKNOWN")))
-+                      );
-+
-               // set raw keyboard mode
-               xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)((option_mask32 & OPT_k) ? K_MEDIUMRAW : K_RAW));
-               // we should exit on any signal; signals should interrupt read
-               bb_signals_recursive_norestart(BB_FATAL_SIGS, record_signo);
-+              // inform user that program ends after time of inactivity
-+              printf(press_keys, "10s after last keypress");
-+
-               // read and show scancodes
-               while (!bb_got_signal) {
-                       char buf[18];
-@@ -94,6 +102,7 @@ int showkey_main(int argc UNUSED_PARAM, 
-                       // setup 10s watchdog
-                       alarm(10);
-+
-                       // read scancodes
-                       n = read(STDIN_FILENO, buf, sizeof(buf));
-                       i = 0;
-@@ -121,11 +130,13 @@ int showkey_main(int argc UNUSED_PARAM, 
-                       }
-                       puts("\r");
-               }
-+
-+              // restore keyboard mode
-+              xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)kbmode);
-       }
--      // restore keyboard and console settings
-+      // restore console settings
-       xset1(&tio0);
--      xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)kbmode);
-       return EXIT_SUCCESS;
- }
index 492c32e..7fbc0b4 100644 (file)
@@ -1,11 +1,22 @@
 Make the showkey's "-a" option default instead of "-k"
 
-By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-27
+By Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/console-tools/showkey.c
 +++ b/console-tools/showkey.c
-@@ -46,8 +46,8 @@ int showkey_main(int argc, char **argv) 
+@@ -11,8 +11,8 @@
+ //usage:       "[-a | -k | -s]"
+ //usage:#define showkey_full_usage "\n\n"
+ //usage:       "Show keys pressed\n"
+-//usage:     "\n      -a      Display decimal/octal/hex values of the keys"
+-//usage:     "\n      -k      Display interpreted keycodes (default)"
++//usage:     "\n      -a      Display decimal/octal/hex values of the keys (default)"
++//usage:     "\n      -k      Display interpreted keycodes"
+ //usage:     "\n      -s      Display raw scan-codes"
+ #include "libbb.h"
+@@ -54,8 +54,8 @@ int showkey_main(int argc, char **argv)
  int showkey_main(int argc UNUSED_PARAM, char **argv)
  {
        enum {
@@ -16,7 +27,7 @@ By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-27
                OPT_s = (1<<2), // display only the raw scan-codes
        };
  
-@@ -63,20 +63,7 @@ int showkey_main(int argc UNUSED_PARAM, 
+@@ -71,20 +71,7 @@ int showkey_main(int argc UNUSED_PARAM,
  
  #define press_keys "Press any keys, program terminates %s:\r\n\n"
  
@@ -35,10 +46,10 @@ By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-27
 -
 -      } else {
 +      if (option_mask32 & OPT_k || option_mask32 & OPT_s) {
-                       // we assume a PC keyboard
-                       xioctl(STDIN_FILENO, KDGKBMODE, &kbmode);
-                       printf("Keyboard mode was %s.\r\n\n",
-@@ -133,6 +120,19 @@ int showkey_main(int argc UNUSED_PARAM, 
+               // we assume a PC keyboard
+               xioctl(STDIN_FILENO, KDGKBMODE, &kbmode);
+               printf("Keyboard mode was %s.\r\n\n",
+@@ -141,6 +128,19 @@ int showkey_main(int argc UNUSED_PARAM,
  
                // restore keyboard mode
                xioctl(STDIN_FILENO, KDSKBMODE, (void *)(ptrdiff_t)kbmode);
@@ -57,17 +68,4 @@ By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-27
 +              }
        }
  
-       // // restore console settings
---- a/include/usage.src.h
-+++ b/include/usage.src.h
-@@ -3488,8 +3488,8 @@ INSERT
- #define showkey_full_usage "\n\n" \
-        "Show keys pressed\n" \
-      "\nOptions:" \
--     "\n      -a      Display decimal/octal/hex values of the keys" \
--     "\n      -k      Display interpreted keycodes (default)" \
-+     "\n      -a      Display decimal/octal/hex values of the keys (default)" \
-+     "\n      -k      Display interpreted keycodes" \
-      "\n      -s      Display raw scan-codes" \
- #define slattach_trivial_usage \
+       // restore console settings
index a6df6e9..eef43df 100644 (file)
@@ -1,10 +1,10 @@
 Do not show a message when testing an uninitialized variable (busybox-1.10.2 behaviour)
-By Dennis Groenen <dennis_groenen@hotmail.com> - 2011-05-02
+By Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/coreutils/test.c
 +++ b/coreutils/test.c
-@@ -413,7 +413,7 @@ static number_t getn(const char *s)
+@@ -436,7 +436,7 @@ static number_t getn(const char *s)
        if (errno != 0)
                syntax(s, "out of range");
  
index 4494a68..4cb0c0d 100644 (file)
@@ -1,12 +1,12 @@
 Change top to display RSS instead of VSZ.
 By Alexander Shishkin <ext-alexander.shishkin@nokia.com>
 
-Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-04-29  
+Ported to BusyBox 1.19 by Dennis Groenen <tj.groenen@gmail.com> - 2011-08-19
 ---
 
 --- a/procps/top.c
 +++ b/procps/top.c
-@@ -35,7 +35,7 @@
+@@ -54,7 +54,7 @@
  
  
  typedef struct top_status_t {
@@ -15,7 +15,7 @@ Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-0
  #if ENABLE_FEATURE_TOP_CPU_USAGE_PERCENTAGE
        unsigned long ticks;
        unsigned pcpu; /* delta of ticks */
-@@ -147,8 +147,8 @@ static int pid_sort(top_status_t *P, top
+@@ -166,8 +166,8 @@ static int pid_sort(top_status_t *P, top
  static int mem_sort(top_status_t *P, top_status_t *Q)
  {
        /* We want to avoid unsigned->signed and truncation errors */
@@ -26,16 +26,25 @@ Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-0
  }
  
  
-@@ -519,7 +519,7 @@ static NOINLINE void display_process_lis
+@@ -538,7 +538,7 @@ static NOINLINE void display_process_lis
  
        /* what info of the processes is shown */
        printf(OPT_BATCH_MODE ? "%.*s" : "\033[7m%.*s\033[0m", scr_width,
--              "  PID  PPID USER     STAT   VSZ %MEM"
+-              "  PID  PPID USER     STAT   VSZ %VSZ"
 +              "  PID  PPID USER     STAT   RSS %MEM"
                IF_FEATURE_TOP_SMP_PROCESS(" CPU")
                IF_FEATURE_TOP_CPU_USAGE_PERCENTAGE(" %CPU")
                " COMMAND");
-@@ -588,16 +588,16 @@ static NOINLINE void display_process_lis
+@@ -556,7 +556,7 @@ static NOINLINE void display_process_lis
+ # define FMT "%4u%%"
+ #endif
+       /*
+-       * %VSZ = s->vsz/MemTotal
++       * %MEM = s->vsz/MemTotal
+        */
+       pmem_shift = BITS_PER_INT-11;
+       pmem_scale = UPSCALE*(1U<<(BITS_PER_INT-11)) / total_memory;
+@@ -607,16 +607,16 @@ static NOINLINE void display_process_lis
        s = top;
        while (--lines_rem >= 0) {
                unsigned col;
@@ -51,13 +60,13 @@ Ported to BusyBox 1.18.4 by Dennis Groenen <dennis_groenen@hotmail.com> - 2011-0
 +                      sprintf(vsz_str_buf, "%6ldm", s->rss/1024);
                else
 -                      sprintf(vsz_str_buf, "%7ld", s->vsz);
--              /* PID PPID USER STAT VSZ %MEM [%CPU] COMMAND */
+-              /* PID PPID USER STAT VSZ %VSZ [%CPU] COMMAND */
 +                      sprintf(vsz_str_buf, "%7ld", s->rss);
 +              /* PID PPID USER STAT RSS %MEM %CPU COMMAND */
                col = snprintf(line_buf, scr_width,
                                "\n" "%5u%6u %-8.8s %s%s" FMT
                                IF_FEATURE_TOP_SMP_PROCESS(" %3d")
-@@ -930,7 +930,7 @@ int top_main(int argc UNUSED_PARAM, char
+@@ -1109,7 +1109,7 @@ int top_main(int argc UNUSED_PARAM, char
                                top = xrealloc_vector(top, 6, ntop++);
                                top[n].pid = p->pid;
                                top[n].ppid = p->ppid;
index 51413dc..a79925d 100644 (file)
@@ -7,6 +7,7 @@
 # By Dennis Groenen <tj.groenen@gmail.com>
 # Version 0.1 05-06-2011 (MM-DD-YYYY)
 # Version 0.2 08-02-2011 (MM-DD-YYYY)
+# Version 0.3 08-20-2011 (MM-DD-YYYY)
 #
 
 # Define all possible destinations for the provided utilities
@@ -14,10 +15,10 @@ DESTINATIONS="DEST_BIN DEST_SBIN DEST_USRBIN DEST_USRSBIN S_DEST_BIN S_DEST_SBIN
 
 # Define all utilities per destination
 # These will be symlinked to /bin/busybox
-DEST_BIN="bunzip2 bzcat bzip2 cpio cttyhack dnsdomainname dumpkmap ed fbset fdflush hush ip ipaddr iplink iproute iprule mountpoint mt nc pipe_progress popmaildir pscan usleep ash cat chgrp chmod chown cp date dd df dmesg echo false hostname ln ls mkdir mknod mktemp more mount mv pidof pwd readlink rm rmdir sed sleep stty sync tar touch true umount uname which grep egrep fgrep run-parts zcat gunzip gzip uncompress sh fsync kill ps fuser netstat"
-DEST_SBIN="blkid blockdev bootchartd crond fdisk ifenslave ip iptunnel klogd loadkmap logread makedevs mdev mkdosfs mke2fs mkfs.ext2 mkfs.vfat nbd-client raidautorun runlevel setconsole start-stop-daemon sulogin sysctl syslogd vconfig getty hwclock killall5 losetup mkswap swapoff swapon pivot_root halt reboot poweroff ifconfig nameif route slattach ifdown ifup zcip"
-DEST_USRBIN="adjtimex arping base64 beep brctl cal catv chattr chpst chrt chvt cryptpw dc deallocvt devmem diff dos2unix dumpleases eject envdir envuidgid ether-wake fdformat fgconsole flock freeramdisk ftpget ftpput hexdump ionice iostat ipcalc kbd_mode last length less linux32 linux64 loadfont lpd lpq lpr lsattr lsusb lzcat lzma lzop lzopcat makemime man microcom mkpasswd mpstat nmeter openvt patch pmap readahead reformime resize rev rpm rpm2cpio rtcwake runsv runsvdir rx script scriptreplay setarch setfont setkeycodes setlogcons setuidgid showkey smemcap softlimit strings sv svlogd tcpsvd telnet tftp timeout ttysize udhcpc udpsvd unix2dos unlzma unlzop unxz unzip uudecode uuencode vi volname wall wget xz xzcat zcipice [ [[ awk basename cksum clear cmp comm cut dirname du env expand expr find fold getopt head hostid id install logger logname md5sum mesg mkfifo nice nohup od printenv printf renice reset seq setsid sha1sum sort split stat sum tac tail tee test tr tty unexpand uniq wc which who whoami xargs yes ar time nslookup free pgrep pkill top uptime watch realpath killall chvt deallocvt openvt setkeycodes setlogcons kbd_mode"
-DEST_USRSBIN="acpid add-shell addgroup adduser arp chat chpasswd delgroup deluser dhcprelay fakeidentd ftpd hdparm httpd ifplugd inetd lspci ntpd rdate rdev readprofile remove-shell sendmail sha256sum sha512sum telnetd tftpd tunctl udhcpd watchdog chroot"
+DEST_BIN="bunzip2 bzcat bzip2 cpio cttyhack dnsdomainname dumpkmap ed fbset fdflush hush ip ipaddr iplink iproute iprule mountpoint mt nc pipe_progress popmaildir pscan usleep ash cat chgrp chmod chown cp date dd df dmesg echo false hostname ln ls mkdir mknod mktemp more mount mv pidof pwd readlink rm rmdir sed sleep stty sync tar touch true umount uname which grep egrep fgrep run-parts zcat gunzip gzip uncompress sh fsync kill ps fuser netstat groups users setserial"
+DEST_SBIN="blkid blockdev bootchartd crond fdisk ifenslave ip iptunnel klogd loadkmap logread makedevs mdev mkdosfs mke2fs mkfs.ext2 mkfs.vfat nbd-client raidautorun runlevel setconsole start-stop-daemon sulogin sysctl syslogd vconfig getty hwclock killall5 losetup mkswap swapoff swapon pivot_root halt reboot poweroff ifconfig nameif route slattach ifdown ifup zcip nameif"
+DEST_USRBIN="adjtimex arping base64 beep brctl cal catv chattr chpst chrt chvt cryptpw dc deallocvt devmem diff dos2unix dumpleases eject envdir envuidgid ether-wake fdformat fgconsole flock freeramdisk ftpget ftpput hexdump ionice iostat ipcalc kbd_mode last length less linux32 linux64 loadfont lpd lpq lpr lsattr lsusb lzcat lzma lzop lzopcat makemime man microcom mkpasswd mpstat nmeter openvt patch pmap readahead reformime resize rev rpm rpm2cpio rtcwake runsv runsvdir rx script scriptreplay setarch setfont setkeycodes setlogcons setuidgid showkey smemcap softlimit strings sv svlogd tcpsvd telnet tftp timeout ttysize udhcpc udpsvd unix2dos unlzma unlzop unxz unzip uudecode uuencode vi volname wall wget xz xzcat zcipice [ [[ awk basename cksum clear cmp comm cut dirname du env expand expr find fold getopt head hostid id install logger logname md5sum mesg mkfifo nice nohup od printenv printf renice reset seq setsid sha1sum sort split stat sum tac tail tee test tr tty unexpand uniq wc which who whoami xargs yes ar time nslookup free pgrep pkill top uptime watch realpath killall chvt deallocvt openvt setkeycodes setlogcons kbd_mode whois pstree pwdx"
+DEST_USRSBIN="acpid add-shell addgroup adduser arp chat chpasswd delgroup deluser dhcprelay fakeidentd ftpd hdparm httpd ifplugd inetd lspci ntpd rdate rdev readprofile remove-shell sendmail sha256sum sha512sum telnetd tftpd tunctl udhcpd watchdog chroot ubirsvol"
 
 # Define all utilities per destination which require the SUID bit to be set
 # These will be symlinked to /bin/busybox_root