aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils/busybox
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2011-02-05 16:48:13 +0800
committermiwi <miwi@FreeBSD.org>2011-02-05 16:48:13 +0800
commit06b98fb5e695277b475b6e29e7534fc95ed875e6 (patch)
tree617e5c673f66b5a634bcb2e0fe6c60dc905ba9a9 /sysutils/busybox
parent86709919628632e9251cd94dd65ff8566f64a82e (diff)
downloadfreebsd-ports-gnome-06b98fb5e695277b475b6e29e7534fc95ed875e6.tar.gz
freebsd-ports-gnome-06b98fb5e695277b475b6e29e7534fc95ed875e6.tar.zst
freebsd-ports-gnome-06b98fb5e695277b475b6e29e7534fc95ed875e6.zip
- Update to 1.18.2
- Unbreak for CURRENT PR: 154312 Submitted by: Chris Rees <utisoft@gmail.com> (maintainer) Feature safe: yes
Diffstat (limited to 'sysutils/busybox')
-rw-r--r--sysutils/busybox/Makefile12
-rw-r--r--sysutils/busybox/distinfo5
-rw-r--r--sysutils/busybox/files/data-.config299
-rw-r--r--sysutils/busybox/files/patch-002544
-rw-r--r--sysutils/busybox/files/patch-editors-vi.c34
-rw-r--r--sysutils/busybox/files/patch-include-platform.h17
-rw-r--r--sysutils/busybox/files/patch-strnlen24
7 files changed, 483 insertions, 452 deletions
diff --git a/sysutils/busybox/Makefile b/sysutils/busybox/Makefile
index 104be7c9ad88..6f38f22b3fde 100644
--- a/sysutils/busybox/Makefile
+++ b/sysutils/busybox/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= busybox
-PORTVERSION= 1.13.4
+PORTVERSION= 1.18.2
CATEGORIES= sysutils misc shells
MASTER_SITES= http://www.busybox.net/downloads/ \
http://distfiles.gentoo.org/distfiles/
@@ -14,6 +14,8 @@ MASTER_SITES= http://www.busybox.net/downloads/ \
MAINTAINER= utisoft@gmail.com
COMMENT= Busybox for FreeBSD
+BUILD_DEPENDS= gsed:${PORTSDIR}/textproc/gsed
+
USE_BZIP2= yes
USE_GMAKE= yes
@@ -22,10 +24,10 @@ PLIST_FILES= bin/busybox
.include <bsd.port.pre.mk>
post-patch:
- @${FIND} ${WRKSRC} -name '*.[ch]' | ${XARGS} \
- ${REINPLACE_CMD} -e 's/ dprintf(/ bb_dprintf(/g'
- ${REINPLACE_CMD} -e 's/fdprintf dprintf/fdprintf bb_dprintf/g' \
- ${WRKSRC}/include/platform.h
+ @${REINPLACE_CMD} -e 's/sed/gsed/' ${WRKSRC}/scripts/gen_build_files.sh
+ @${REINPLACE_CMD} -e 's/<malloc.h>/<stdlib.h>/' \
+ ${WRKSRC}/libbb/appletlib.c \
+ ${WRKSRC}/shell/hush.c
do-configure:
${CP} ${FILESDIR}/data-.config ${WRKSRC}/.config
diff --git a/sysutils/busybox/distinfo b/sysutils/busybox/distinfo
index 3103e4787744..7d453ee80f98 100644
--- a/sysutils/busybox/distinfo
+++ b/sysutils/busybox/distinfo
@@ -1,3 +1,2 @@
-MD5 (busybox-1.13.4.tar.bz2) = 8a5eb7f15d4077d18fa97bda7a4e5412
-SHA256 (busybox-1.13.4.tar.bz2) = 43ff187937f0bf38b23a926f4215be021c9f937b497912d785a91fbdf180b94b
-SIZE (busybox-1.13.4.tar.bz2) = 2047578
+SHA256 (busybox-1.18.2.tar.bz2) = aa7e1cec8cd9c7f4e56098b9e4bb2ab5d593d5a35f766ad9e6a312289bf57080
+SIZE (busybox-1.18.2.tar.bz2) = 2129503
diff --git a/sysutils/busybox/files/data-.config b/sysutils/busybox/files/data-.config
index f26edf32301b..5f2985be19f6 100644
--- a/sysutils/busybox/files/data-.config
+++ b/sysutils/busybox/files/data-.config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.13.4
-# Thu Jun 25 22:23:36 2009
+# Busybox version: 1.18.1
+# Tue Dec 21 19:47:40 2010
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -14,7 +14,9 @@ CONFIG_HAVE_DOT_CONFIG=y
#
# CONFIG_DESKTOP is not set
# CONFIG_EXTRA_COMPAT is not set
-# CONFIG_FEATURE_ASSUME_UNICODE is not set
+CONFIG_INCLUDE_SUSv2=y
+CONFIG_USE_PORTABLE_CODE=y
+# CONFIG_PLATFORM_LINUX 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,10 +24,23 @@ CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y
CONFIG_FEATURE_INSTALLER=y
+# CONFIG_INSTALL_NO_USR is not set
CONFIG_LOCALE_SUPPORT=y
-CONFIG_GETOPT_LONG=y
+CONFIG_UNICODE_SUPPORT=y
+# CONFIG_UNICODE_USING_LOCALE is not set
+# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
+CONFIG_SUBST_WCHAR=63
+CONFIG_LAST_SUPPORTED_WCHAR=767
+# 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 is not set
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_FEATURE_UTMP is not set
CONFIG_FEATURE_PIDFILE=y
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y
@@ -47,6 +62,7 @@ CONFIG_FEATURE_SYSLOG=y
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
+CONFIG_EXTRA_CFLAGS=""
#
# Debugging Options
@@ -57,12 +73,10 @@ 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
+# Installation Options ("make install" behavior)
#
-# CONFIG_INSTALL_NO_USR is not set
CONFIG_INSTALL_APPLET_SYMLINKS=y
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
@@ -79,6 +93,7 @@ CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=2
CONFIG_FEATURE_FAST_TOP=y
# CONFIG_FEATURE_ETC_NETWORKS is not set
+CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
# CONFIG_FEATURE_EDITING_VI is not set
@@ -87,6 +102,8 @@ CONFIG_FEATURE_EDITING_HISTORY=30
CONFIG_FEATURE_TAB_COMPLETION=y
# CONFIG_FEATURE_USERNAME_COMPLETION is not set
# CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set
+# 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 is not set
@@ -100,21 +117,27 @@ CONFIG_FEATURE_HWIB=y
#
# Archival Utilities
#
+CONFIG_FEATURE_SEAMLESS_XZ=y
CONFIG_FEATURE_SEAMLESS_LZMA=y
CONFIG_FEATURE_SEAMLESS_BZ2=y
CONFIG_FEATURE_SEAMLESS_GZ=y
CONFIG_FEATURE_SEAMLESS_Z=y
CONFIG_AR=y
CONFIG_FEATURE_AR_LONG_FILENAMES=y
+CONFIG_FEATURE_AR_CREATE=y
CONFIG_BUNZIP2=y
CONFIG_BZIP2=y
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_GZIP=y
+CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
+CONFIG_LZOP=y
+# CONFIG_LZOP_COMPR_HIGH is not set
CONFIG_RPM2CPIO=y
CONFIG_RPM=y
CONFIG_TAR=y
@@ -125,31 +148,48 @@ CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
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=y
+# CONFIG_FEATURE_TAR_SELINUX is not set
CONFIG_UNCOMPRESS=y
CONFIG_UNLZMA=y
CONFIG_FEATURE_LZMA_FAST=y
+CONFIG_LZMA=y
+CONFIG_UNXZ=y
+CONFIG_XZ=y
CONFIG_UNZIP=y
#
# Coreutils
#
CONFIG_BASENAME=y
-CONFIG_CAL=y
CONFIG_CAT=y
+# CONFIG_DATE is not set
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+# CONFIG_FEATURE_DATE_NANO is not set
+# CONFIG_FEATURE_DATE_COMPAT is not set
+CONFIG_TEST=y
+CONFIG_FEATURE_TEST_64=y
+CONFIG_TR=y
+CONFIG_FEATURE_TR_CLASSES=y
+CONFIG_FEATURE_TR_EQUIV=y
+# CONFIG_BASE64 is not set
+CONFIG_CAL=y
CONFIG_CATV=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
+CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
CONFIG_CHROOT=y
CONFIG_CKSUM=y
CONFIG_COMM=y
CONFIG_CP=y
+CONFIG_FEATURE_CP_LONG_OPTIONS=y
CONFIG_CUT=y
-# CONFIG_DATE is not set
-# CONFIG_FEATURE_DATE_ISOFMT is not set
CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
+CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
CONFIG_FEATURE_DD_IBS_OBS=y
# CONFIG_DF is not set
# CONFIG_FEATURE_DF_FANCY is not set
@@ -168,6 +208,7 @@ CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
CONFIG_FALSE=y
CONFIG_FOLD=y
+CONFIG_FSYNC=y
CONFIG_HEAD=y
CONFIG_FEATURE_FANCY_HEAD=y
CONFIG_HOSTID=y
@@ -207,6 +248,8 @@ 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=y
CONFIG_FEATURE_FLOAT_SLEEP=y
@@ -224,12 +267,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
@@ -261,14 +299,15 @@ 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
#
# Console Utilities
#
-CONFIG_CHVT=y
+# CONFIG_CHVT is not set
+# CONFIG_FGCONSOLE is not set
CONFIG_CLEAR=y
# CONFIG_DEALLOCVT is not set
# CONFIG_DUMPKMAP is not set
@@ -287,6 +326,8 @@ CONFIG_DEFAULT_SETFONT_DIR=""
# CONFIG_SETKEYCODES is not set
# CONFIG_SETLOGCONS is not set
# CONFIG_SHOWKEY is not set
+# CONFIG_FEATURE_LOADFONT_PSF2 is not set
+# CONFIG_FEATURE_LOADFONT_RAW is not set
#
# Debian Utilities
@@ -304,15 +345,14 @@ CONFIG_WHICH=y
#
# Editors
#
+CONFIG_PATCH=y
CONFIG_AWK=y
CONFIG_FEATURE_AWK_LIBM=y
CONFIG_CMP=y
CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_BINARY=y
+CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_FEATURE_DIFF_MINIMAL=y
CONFIG_ED=y
-CONFIG_PATCH=y
CONFIG_SED=y
CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=1024
@@ -326,6 +366,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
@@ -354,6 +395,7 @@ CONFIG_FEATURE_FIND_DELETE=y
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_REGEX=y
# CONFIG_FEATURE_FIND_CONTEXT is not set
+CONFIG_FEATURE_FIND_LINKS=y
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
@@ -367,6 +409,12 @@ 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_HALT is not set
+# CONFIG_FEATURE_CALL_TELINIT is not set
+CONFIG_TELINIT_PATH=""
# CONFIG_INIT is not set
# CONFIG_FEATURE_USE_INITTAB is not set
# CONFIG_FEATURE_KILL_REMOVED is not set
@@ -376,27 +424,31 @@ CONFIG_FEATURE_KILL_DELAY=0
# CONFIG_FEATURE_EXTRA_QUIET is not set
# CONFIG_FEATURE_INIT_COREDUMPS is not set
# CONFIG_FEATURE_INITRD is not set
-# CONFIG_HALT is not set
+CONFIG_INIT_TERMINAL_TYPE=""
# CONFIG_MESG is not set
#
# Login/Password Management Utilities
#
+# CONFIG_ADD_SHELL is not set
+# CONFIG_REMOVE_SHELL is not set
# CONFIG_FEATURE_SHADOWPASSWDS is not set
CONFIG_USE_BB_PWD_GRP=y
-CONFIG_USE_BB_SHADOW=y
+# CONFIG_USE_BB_SHADOW is not set
# CONFIG_USE_BB_CRYPT is not set
+# CONFIG_USE_BB_CRYPT_SHA is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
+# CONFIG_FEATURE_CHECK_NAMES is not set
+CONFIG_FIRST_SYSTEM_ID=100
+CONFIG_LAST_SYSTEM_ID=999
CONFIG_ADDGROUP=y
+CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
CONFIG_FEATURE_ADDUSER_TO_GROUP=y
+# CONFIG_DELUSER is not set
CONFIG_DELGROUP=y
CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
-# CONFIG_FEATURE_CHECK_NAMES is not set
-# CONFIG_ADDUSER is not set
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-# CONFIG_DELUSER is not set
# CONFIG_GETTY is not set
-# CONFIG_FEATURE_UTMP is not set
-# CONFIG_FEATURE_WTMP is not set
# CONFIG_LOGIN is not set
# CONFIG_PAM is not set
# CONFIG_LOGIN_SCRIPTS is not set
@@ -417,13 +469,9 @@ CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
#
CONFIG_CHATTR=y
# CONFIG_FSCK is not set
-CONFIG_LSATTR=y
-
-#
-# Linux Module Utilities
-#
-CONFIG_DEFAULT_MODULES_DIR=""
-CONFIG_DEFAULT_DEPMOD_FILE=""
+# CONFIG_LSATTR is not set
+# CONFIG_TUNE2FS 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
@@ -434,11 +482,8 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# 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
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
@@ -447,10 +492,16 @@ CONFIG_DEFAULT_DEPMOD_FILE=""
# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
# CONFIG_FEATURE_MODUTILS_ALIAS is not set
# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
+CONFIG_DEFAULT_MODULES_DIR=""
+CONFIG_DEFAULT_DEPMOD_FILE=""
#
# Linux System Utilities
#
+# CONFIG_BLOCKDEV is not set
+CONFIG_REV=y
+# CONFIG_ACPID is not set
+# CONFIG_FEATURE_ACPID_COMPAT is not set
# CONFIG_BLKID is not set
# CONFIG_DMESG is not set
# CONFIG_FEATURE_DMESG_PRETTY is not set
@@ -466,13 +517,19 @@ CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
# CONFIG_FEATURE_SGI_LABEL is not set
# CONFIG_FEATURE_SUN_LABEL is not set
# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_GPT_LABEL is not set
# CONFIG_FEATURE_FDISK_ADVANCED is not set
# CONFIG_FINDFS is not set
+CONFIG_FLOCK=y
# CONFIG_FREERAMDISK is not set
# 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=y
@@ -482,6 +539,8 @@ CONFIG_HD=y
# CONFIG_IPCRM is not set
# CONFIG_IPCS is not set
# CONFIG_LOSETUP is not set
+CONFIG_LSPCI=y
+CONFIG_LSUSB=y
# CONFIG_MDEV is not set
# CONFIG_FEATURE_MDEV_CONF is not set
# CONFIG_FEATURE_MDEV_RENAME is not set
@@ -489,26 +548,8 @@ CONFIG_HD=y
# CONFIG_FEATURE_MDEV_EXEC is not set
# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
# CONFIG_MKSWAP is not set
-# 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_REISERFS is not set
-# CONFIG_FEATURE_VOLUMEID_FAT is not set
-# CONFIG_FEATURE_VOLUMEID_HFS is not set
-# CONFIG_FEATURE_VOLUMEID_JFS is not set
-# CONFIG_FEATURE_VOLUMEID_XFS is not set
-# CONFIG_FEATURE_VOLUMEID_NTFS is not set
-# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
-# CONFIG_FEATURE_VOLUMEID_UDF is not set
-# CONFIG_FEATURE_VOLUMEID_LUKS is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
-# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
-# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
-# CONFIG_FEATURE_VOLUMEID_SYSV is not set
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
# CONFIG_MOUNT is not set
# CONFIG_FEATURE_MOUNT_FAKE is not set
# CONFIG_FEATURE_MOUNT_VERBOSE is not set
@@ -524,6 +565,7 @@ CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_READPROFILE=y
# CONFIG_RTCWAKE is not set
# CONFIG_SCRIPT is not set
+CONFIG_SCRIPTREPLAY=y
# CONFIG_SETARCH is not set
# CONFIG_SWAPONOFF is not set
# CONFIG_FEATURE_SWAPON_PRI is not set
@@ -531,13 +573,41 @@ CONFIG_READPROFILE=y
# CONFIG_UMOUNT is not set
# CONFIG_FEATURE_UMOUNT_ALL is not set
# CONFIG_FEATURE_MOUNT_LOOP is not set
+# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
# CONFIG_FEATURE_MTAB_SUPPORT is not set
+# 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
+# CONFIG_FEATURE_VOLUMEID_JFS is not set
+# CONFIG_FEATURE_VOLUMEID_XFS is not set
+# CONFIG_FEATURE_VOLUMEID_NTFS is not set
+# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
+# CONFIG_FEATURE_VOLUMEID_UDF is not set
+# CONFIG_FEATURE_VOLUMEID_LUKS is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
+# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
+# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
+# CONFIG_FEATURE_VOLUMEID_SYSV is not set
+# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
+# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
#
# Miscellaneous Utilities
#
+# CONFIG_CONSPY is not set
+# CONFIG_NANDWRITE is not set
+# CONFIG_NANDDUMP is not set
+# CONFIG_UBIATTACH is not set
+# CONFIG_UBIDETACH is not set
# CONFIG_ADJTIMEX is not set
# CONFIG_BBCONFIG is not set
+# CONFIG_FEATURE_COMPRESS_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
@@ -550,6 +620,7 @@ CONFIG_CHRT=y
# CONFIG_CROND is not set
# 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=y
@@ -562,6 +633,11 @@ CONFIG_FEATURE_DC_LIBM=y
# CONFIG_EJECT is not set
# 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 is not set
# CONFIG_FEATURE_LAST_SMALL is not set
@@ -570,11 +646,11 @@ CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
CONFIG_FEATURE_LESS_FLAGS=y
-# CONFIG_FEATURE_LESS_DASHCMD is not set
CONFIG_FEATURE_LESS_MARKS=y
CONFIG_FEATURE_LESS_REGEXP=y
-# CONFIG_FEATURE_LESS_LINENUMS 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
@@ -591,20 +667,30 @@ CONFIG_MICROCOM=y
# CONFIG_MT is not set
# CONFIG_RAIDAUTORUN is not set
# CONFIG_READAHEAD is not set
+# CONFIG_RFKILL is not set
# CONFIG_RUNLEVEL is not set
-CONFIG_RX=y
+# CONFIG_RX is not set
CONFIG_SETSID=y
CONFIG_STRINGS=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
# CONFIG_TIME is not set
+CONFIG_TIMEOUT=y
CONFIG_TTYSIZE=y
-CONFIG_WATCHDOG=n
+CONFIG_VOLNAME=y
+# CONFIG_WALL is not set
+# CONFIG_WATCHDOG is not set
#
# Networking Utilities
#
+# CONFIG_NBDCLIENT is not set
+CONFIG_NC=y
+# 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
@@ -615,6 +701,9 @@ CONFIG_WATCHDOG=n
CONFIG_DNSD=y
# CONFIG_ETHER_WAKE is not set
CONFIG_FAKEIDENTD=y
+CONFIG_FTPD=y
+CONFIG_FEATURE_FTP_WRITE=y
+CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
CONFIG_FTPGET=y
CONFIG_FTPPUT=y
CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
@@ -622,17 +711,16 @@ CONFIG_HOSTNAME=y
CONFIG_HTTPD=y
CONFIG_FEATURE_HTTPD_RANGES=y
# 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=y
CONFIG_FEATURE_HTTPD_AUTH_MD5=y
-CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES=y
CONFIG_FEATURE_HTTPD_CGI=y
CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
CONFIG_FEATURE_HTTPD_PROXY=y
+CONFIG_FEATURE_HTTPD_GZIP=y
# CONFIG_IFCONFIG is not set
# CONFIG_FEATURE_IFCONFIG_STATUS is not set
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
@@ -640,6 +728,7 @@ CONFIG_FEATURE_HTTPD_PROXY=y
# CONFIG_FEATURE_IFCONFIG_HW is not set
# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
# CONFIG_IFENSLAVE is not set
+# CONFIG_IFPLUGD is not set
# CONFIG_IFUPDOWN is not set
CONFIG_IFUPDOWN_IFSTATE_PATH=""
# CONFIG_FEATURE_IFUPDOWN_IP is not set
@@ -674,54 +763,64 @@ CONFIG_FEATURE_IPCALC_FANCY=y
CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
# CONFIG_NAMEIF is not set
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
-CONFIG_NC=y
-# CONFIG_NC_SERVER is not set
-# CONFIG_NC_EXTRA is not set
# CONFIG_NETSTAT is not set
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
-CONFIG_NSLOOKUP=y
+# CONFIG_NSLOOKUP is not set
+# CONFIG_NTPD is not set
+# CONFIG_FEATURE_NTPD_SERVER is not set
# CONFIG_PING is not set
# CONFIG_PING6 is not set
# CONFIG_FEATURE_FANCY_PING is not set
CONFIG_PSCAN=y
# CONFIG_ROUTE 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=y
CONFIG_FEATURE_TELNETD_STANDALONE=y
+CONFIG_FEATURE_TELNETD_INETD_WAIT=y
CONFIG_TFTP=y
CONFIG_TFTPD=y
+
+#
+# Common options for tftp/tftpd
+#
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
+CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
# CONFIG_TFTP_DEBUG is not set
-CONFIG_TRACEROUTE=n
+# CONFIG_TRACEROUTE is not set
+# 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 is not set
-# CONFIG_APP_DHCPRELAY is not set
-# CONFIG_APP_DUMPLEASES is not set
+# 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=""
-# CONFIG_APP_UDHCPC is not set
+# CONFIG_UDHCPC is not set
# CONFIG_FEATURE_UDHCPC_ARPING is not set
# CONFIG_FEATURE_UDHCP_PORT is not set
-# CONFIG_UDHCP_DEBUG is not set
+CONFIG_UDHCP_DEBUG=0
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
CONFIG_UDHCPC_DEFAULT_SCRIPT=""
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=
+CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
+CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
+# CONFIG_UDPSVD is not set
# CONFIG_VCONFIG is not set
CONFIG_WGET=y
CONFIG_FEATURE_WGET_STATUSBAR=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
+CONFIG_FEATURE_WGET_TIMEOUT=y
# CONFIG_ZCIP is not set
-# CONFIG_TCPSVD is not set
-# CONFIG_UDPSVD is not set
#
# Print Utilities
@@ -740,12 +839,15 @@ CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_REFORMIME is not set
# CONFIG_FEATURE_REFORMIME_COMPAT is not set
# CONFIG_SENDMAIL is not set
-# CONFIG_FEATURE_SENDMAIL_MAILX is not set
-# CONFIG_FEATURE_SENDMAIL_MAILXX is not set
#
# Process Utilities
#
+CONFIG_IOSTAT=y
+CONFIG_MPSTAT=y
+CONFIG_PMAP=y
+CONFIG_POWERTOP=y
+CONFIG_SMEMCAP=y
# CONFIG_FREE is not set
# CONFIG_FUSER is not set
CONFIG_KILL=y
@@ -760,6 +862,7 @@ CONFIG_PKILL=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
@@ -770,6 +873,7 @@ CONFIG_BB_SYSCTL=y
# 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=y
# CONFIG_UPTIME is not set
CONFIG_WATCH=y
@@ -806,22 +910,10 @@ CONFIG_SV_DEFAULT_SERVICE_DIR=""
#
# Shells
#
-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
-
-#
-# Ash Shell Options
-#
# CONFIG_ASH_BASH_COMPAT is not set
# CONFIG_ASH_JOB_CONTROL is not set
-# CONFIG_ASH_READ_NCHARS is not set
-# CONFIG_ASH_READ_TIMEOUT is not set
# CONFIG_ASH_ALIAS is not set
-CONFIG_ASH_MATH_SUPPORT=y
-# CONFIG_ASH_MATH_SUPPORT_64 is not set
# CONFIG_ASH_GETOPTS is not set
# CONFIG_ASH_BUILTIN_ECHO is not set
# CONFIG_ASH_BUILTIN_PRINTF is not set
@@ -831,24 +923,35 @@ CONFIG_ASH_MATH_SUPPORT=y
# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
# CONFIG_ASH_RANDOM_SUPPORT is not set
# CONFIG_ASH_EXPAND_PRMT is not set
+# CONFIG_CTTYHACK is not set
# CONFIG_HUSH is not set
+# CONFIG_HUSH_BASH_COMPAT is not set
+# CONFIG_HUSH_BRACE_EXPANSION is not set
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_INTERACTIVE is not set
+# CONFIG_HUSH_SAVEHISTORY 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_LASH is not set
+# CONFIG_HUSH_FUNCTIONS is not set
+# CONFIG_HUSH_LOCAL is not set
+# CONFIG_HUSH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH_EXPORT_N is not set
+# CONFIG_HUSH_MODE_X is not set
# CONFIG_MSH is not set
-
-#
-# Bourne Shell Options
-#
+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_SH_MATH_SUPPORT=y
+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_CTTYHACK is not set
#
# System Logging Utilities
@@ -857,9 +960,11 @@ 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=y
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
CONFIG_LOGREAD=y
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
# CONFIG_KLOGD is not set
+# CONFIG_FEATURE_KLOGD_KLOGCTL is not set
CONFIG_LOGGER=y
diff --git a/sysutils/busybox/files/patch-002 b/sysutils/busybox/files/patch-002
index 6aa761a5d461..d7c859a9cfa1 100644
--- a/sysutils/busybox/files/patch-002
+++ b/sysutils/busybox/files/patch-002
@@ -1,338 +1,290 @@
-diff -ubwr ./include/libbb.h ../../work.patched/busybox-1.13.4/include/libbb.h
---- ./include/libbb.h 2009-04-15 02:09:42.000000000 +0200
-+++ ../../work.patched/busybox-1.13.4/include/libbb.h 2009-06-25 23:05:54.000000000 +0200
-@@ -29,6 +29,10 @@
- #include <sys/ioctl.h>
- #include <sys/mman.h>
- #include <sys/socket.h>
-+#if defined __FreeBSD__
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
+diff --git a/include/libbb.h b/include/libbb.h
+index 5551031..28896ae 100644
+--- include/libbb.h
++++ include/libbb.h
+@@ -38,6 +38,12 @@
+ #include <time.h>
+ #include <unistd.h>
+ #include <sys/param.h>
++#ifndef HAVE_CLEARENV
++# define clearenv() environ[0] == NULL
+#endif
- #include <sys/stat.h>
- #include <sys/time.h>
- #include <sys/types.h>
-@@ -86,7 +90,11 @@
- /* This is declared here rather than #including <libgen.h> in order to avoid
- * confusing the two versions of basename. See the dirname/basename man page
- * for details. */
-+#if !defined __FreeBSD__
++#ifndef HAVE_FDATASYNC
++# define fdatasync fsync
+#endif
-+#if !defined __FreeBSD__
- char *dirname(char *path);
-+#endif
- /* Include our own copy of struct sysinfo to avoid binary compatibility
- * problems with Linux 2.4, which changed things. Grumble, grumble. */
- struct sysinfo {
-diff -ubwr ./include/platform.h ../../work.patched/busybox-1.13.4/include/platform.h
---- ./include/platform.h 2008-11-09 18:28:17.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/include/platform.h 2009-06-25 23:05:54.000000000 +0200
-@@ -116,6 +116,14 @@
- # include <sex.h>
- # define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN)
- # define __BYTE_ORDER BYTE_ORDER
-+#elif defined __FreeBSD__
-+char *strchrnul(const char *s, int c);
-+# include <sys/resource.h> // rlimit
-+# include <machine/endian.h>
-+# define bswap_64 __bswap64
-+# define bswap_32 __bswap32
-+# define bswap_16 __bswap16
-+# define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN)
- #elif !defined __APPLE__
- # include <byteswap.h>
- # include <endian.h>
-@@ -164,7 +172,7 @@
-
- #ifndef __APPLE__
- # include <arpa/inet.h>
--# ifndef __socklen_t_defined
-+# if !defined(__socklen_t_defined) && !defined(_SOCKLEN_T_DECLARED)
- typedef int socklen_t;
- # endif
- #else
-@@ -173,7 +181,7 @@
-
- /* ---- Compiler dependent settings ------------------------- */
-
--#if (defined __digital__ && defined __unix__) || defined __APPLE__
-+#if (defined __digital__ && defined __unix__) || defined __APPLE__ || defined __FreeBSD__
+ #ifdef HAVE_MNTENT_H
+ # include <mntent.h>
+ #endif
+diff --git a/include/platform.h b/include/platform.h
+index bbbc0a9..2bc88c3 100644
+--- include/platform.h
++++ include/platform.h
+@@ -10,9 +10,12 @@
+ /* Assume all these functions exist by default. Platforms where it is not
+ * true will #undef them below.
+ */
++#define HAVE_CLEARENV 1
++#define HAVE_FDATASYNC 1
+ #define HAVE_FDPRINTF 1
+ #define HAVE_MEMRCHR 1
+ #define HAVE_MKDTEMP 1
++#define HAVE_PTSNAME_R 1
+ #define HAVE_SETBIT 1
+ #define HAVE_SIGHANDLER_T 1
+ #define HAVE_STRCASESTR 1
+@@ -253,7 +256,10 @@ typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
+ #if (defined __digital__ && defined __unix__) \
+ || defined __APPLE__ \
+ || defined __FreeBSD__ || defined __OpenBSD__ || defined __NetBSD__
++# undef HAVE_CLEARENV
++# undef HAVE_FDATASYNC
# undef HAVE_MNTENT_H
++# undef HAVE_PTSNAME_R
# undef HAVE_SYS_STATFS_H
+ # undef HAVE_SIGHANDLER_T
#else
-diff -ubwr ./libbb/bb_askpass.c ../../work.patched/busybox-1.13.4/libbb/bb_askpass.c
---- ./libbb/bb_askpass.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/bb_askpass.c 2009-06-25 23:05:54.000000000 +0200
-@@ -35,6 +35,9 @@
- tcgetattr(STDIN_FILENO, &oldtio);
- tcflush(STDIN_FILENO, TCIFLUSH);
- tio = oldtio;
-+#if !defined IUCLC
-+#define IUCLC 0
-+#endif
- tio.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY);
- tio.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP);
- tcsetattr_stdin_TCSANOW(&tio);
-diff -ubwr ./libbb/getpty.c ../../work.patched/busybox-1.13.4/libbb/getpty.c
---- ./libbb/getpty.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/getpty.c 2009-06-25 23:09:02.000000000 +0200
-@@ -19,7 +19,7 @@
+diff --git a/libbb/getpty.c b/libbb/getpty.c
+index ea653b0..6a15cff 100644
+--- libbb/getpty.c
++++ libbb/getpty.c
+@@ -19,7 +19,7 @@ int FAST_FUNC xgetpty(char *line)
if (p > 0) {
grantpt(p); /* chmod+chown corresponding slave pty */
unlockpt(p); /* (what does this do?) */
-#if 0 /* if ptsname_r is not available... */
-+#if 1 /* if ptsname_r is not available... */
++#ifndef HAVE_PTSNAME_R
const char *name;
name = ptsname(p); /* find out the name of slave pty */
if (!name) {
-diff -ubwr ./libbb/lineedit.c ../../work.patched/busybox-1.13.4/libbb/lineedit.c
---- ./libbb/lineedit.c 2008-11-29 07:48:56.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/lineedit.c 2009-06-25 23:05:54.000000000 +0200
-@@ -78,6 +78,7 @@
- #if ENABLE_FEATURE_GETUSERNAME_AND_HOMEDIR
- static const char null_str[] ALIGN1 = "";
+diff --git a/include/platform.h b/include/platform.h
+index 2666eeb..6328ff6 100644
+--- include/platform.h
++++ include/platform.h
+@@ -14,6 +14,7 @@
+ #define HAVE_MEMRCHR 1
+ #define HAVE_MKDTEMP 1
+ #define HAVE_SETBIT 1
++#define HAVE_SIGHANDLER_T 1
+ #define HAVE_STRCASESTR 1
+ #define HAVE_STRCHRNUL 1
+ #define HAVE_STRSEP 1
+@@ -253,6 +254,7 @@ typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
+ || defined __FreeBSD__ || defined __OpenBSD__ || defined __NetBSD__
+ # undef HAVE_MNTENT_H
+ # undef HAVE_SYS_STATFS_H
++# undef HAVE_SIGHANDLER_T
+ #else
+ # define HAVE_MNTENT_H 1
+ # define HAVE_SYS_STATFS_H 1
+@@ -396,6 +398,10 @@ extern char *mkdtemp(char *template) FAST_FUNC;
+ # define clrbit(a, b) ((a)[(b) >> 3] &= ~(1 << ((b) & 7)))
#endif
-+typedef void (*sighandler_t)(int signum);
- /* We try to minimize both static and stack usage. */
- struct lineedit_statics {
-diff -ubwr ./libbb/login.c ../../work.patched/busybox-1.13.4/libbb/login.c
---- ./libbb/login.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/login.c 2009-06-25 23:05:54.000000000 +0200
-@@ -62,10 +62,12 @@
- case 'm':
- outbuf = uts.machine;
- break;
-+#if 0
- case 'D':
- case 'o':
- outbuf = uts.domainname;
- break;
++#ifndef HAVE_SIGHANDLER_T
++typedef void (*sighandler_t)(int);
+#endif
- case 'd':
- strftime(buf, sizeof(buf), fmtstr_d, localtime(&t));
- break;
-diff -ubwr ./libbb/makedev.c ../../work.patched/busybox-1.13.4/libbb/makedev.c
---- ./libbb/makedev.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/makedev.c 2009-06-25 23:05:54.000000000 +0200
-@@ -5,7 +5,7 @@
- *
- * Licensed under GPL version 2, see file LICENSE in this tarball for details.
- */
--
-+#if !defined __FreeBSD__
++
+ #ifndef HAVE_STRCASESTR
+ extern char *strcasestr(const char *s, const char *pattern) FAST_FUNC;
+ #endif
+diff --git a/include/libbb.h b/include/libbb.h
+index 5551031..31d9b74 100644
+--- include/libbb.h
++++ include/libbb.h
+@@ -58,6 +58,9 @@
+ #ifdef DMALLOC
+ # include <dmalloc.h>
+ #endif
++#ifndef HAVE_XTABS
++# define XTABS OXTABS
++#endif
+ #include <pwd.h>
+ #include <grp.h>
+ #if ENABLE_FEATURE_SHADOWPASSWDS
+diff --git a/include/platform.h b/include/platform.h
+index bbbc0a9..73bd59a 100644
+--- include/platform.h
++++ include/platform.h
+@@ -256,9 +256,12 @@ typedef uint32_t bb__aliased_uint32_t FIX_ALIASING;
+ # undef HAVE_MNTENT_H
+ # undef HAVE_SYS_STATFS_H
+ # undef HAVE_SIGHANDLER_T
++# undef HAVE_XTABS
++# undef HAVE_FDPRINTF
+ #else
+ # define HAVE_MNTENT_H 1
+ # define HAVE_SYS_STATFS_H 1
++# define HAVE_XTABS 1
+ #endif
+
+ /*----- Kernel versioning ------------------------------------*/
+diff --git a/libbb/makedev.c b/libbb/makedev.c
+index cf59e61..1809fda 100644
+--- libbb/makedev.c
++++ libbb/makedev.c
+@@ -8,8 +8,14 @@
+
/* We do not include libbb.h - #define makedev() is there! */
#include "platform.h"
- #include <features.h>
-@@ -22,3 +22,4 @@
- return makedev(major, minor);
- }
- #endif
-+#endif /* !__FreeBSD__ */
-diff -ubwr ./libbb/match_fstype.c ../../work.patched/busybox-1.13.4/libbb/match_fstype.c
---- ./libbb/match_fstype.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/match_fstype.c 2009-06-25 23:05:54.000000000 +0200
-@@ -10,6 +10,7 @@
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+-#include <features.h>
+-#include <sys/sysmacros.h>
++#if !(defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) \
++ || defined(__APPLE__) \
++ )
++# include <features.h>
++# include <sys/sysmacros.h>
++#else
++# include <sys/types.h>
++#endif
+
+ #ifdef __GLIBC__
+ /* At least glibc has horrendously large inline for this, so wrap it */
+diff --git a/libbb/match_fstype.c b/libbb/match_fstype.c
+index 83d6e67..655329b 100644
+--- libbb/match_fstype.c
++++ libbb/match_fstype.c
+@@ -10,6 +10,8 @@
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
*/
-+#if !defined __FreeBSD__
++#ifdef CONFIG_PLATFORM_LINUX
++
#include "libbb.h"
- int FAST_FUNC match_fstype(const struct mntent *mt, const char *fstype)
-@@ -42,3 +43,4 @@
-
- return -(no + 1);
- }
-+#endif /* !__FreeBSD__ */
-diff -ubwr ./libbb/safe_gethostname.c ../../work.patched/busybox-1.13.4/libbb/safe_gethostname.c
---- ./libbb/safe_gethostname.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/safe_gethostname.c 2009-06-25 23:05:54.000000000 +0200
-@@ -62,5 +62,5 @@
- struct utsname uts;
+ int FAST_FUNC match_fstype(const struct mntent *mt, const char *t_fstype)
+@@ -40,3 +42,5 @@ int FAST_FUNC match_fstype(const struct mntent *mt, const char *t_fstype)
- uname(&uts);
-- return xstrndup(!uts.domainname[0] ? "?" : uts.domainname, sizeof(uts.domainname));
-+ return xstrndup("?", 2); // !uts.domainname[0] ? "?" : uts.domainname, sizeof(uts.domainname));
+ return !match;
}
-diff -ubwr ./libbb/xconnect.c ../../work.patched/busybox-1.13.4/libbb/xconnect.c
---- ./libbb/xconnect.c 2008-12-31 04:06:45.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/xconnect.c 2009-06-25 23:05:54.000000000 +0200
-@@ -7,6 +7,7 @@
- */
++
++#endif /* CONFIG_PLATFORM_LINUX */
+diff --git a/coreutils/who.c b/coreutils/who.c
+index 8384d95..4c2606d 100644
+--- coreutils/who.c
++++ coreutils/who.c
+@@ -19,7 +19,9 @@
+ /* BB_AUDIT SUSv3 _NOT_ compliant -- missing options -b, -d, -l, -m, -p, -q, -r, -s, -t, -T, -u; Missing argument 'file'. */
- #include <netinet/in.h>
-+#include <sys/socket.h> // struct sockaddr
- #include <net/if.h>
#include "libbb.h"
-
-@@ -26,7 +27,7 @@
- /* Actually, ifr_name is at offset 0, and in practice
- * just giving char[IFNAMSIZ] instead of struct ifreq works too.
- * But just in case it's not true on some obscure arch... */
-- r = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr));
-+ r = -1; //setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr));
- if (r)
- bb_perror_msg("can't bind to interface %s", iface);
- return r;
-diff -ubwr ./libbb/xfuncs.c ../../work.patched/busybox-1.13.4/libbb/xfuncs.c
---- ./libbb/xfuncs.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/xfuncs.c 2009-06-25 23:05:54.000000000 +0200
-@@ -226,8 +226,9 @@
- long size;
-
- // If the ioctl works for this, return it.
--
-+#if !defined __FreeBSD__
- if (ioctl(fd, BLKGETSIZE, &size) >= 0) return size*512;
+-#include <utmp.h>
++#if ENABLE_FEATURE_UTMP
++# include <utmp.h>
+#endif
- // FIXME: explain why lseek(SEEK_END) is not used here!
+ static void idle_string(char *str6, time_t t)
+ {
+diff --git a/libbb/messages.c b/libbb/messages.c
+index 66e466f..90dd955 100644
+--- libbb/messages.c
++++ libbb/messages.c
+@@ -48,15 +48,17 @@ const int const_int_1 = 1;
+ * and it will end up in bss */
+ const int const_int_0 = 0;
-diff -ubwr ./libbb/xfuncs_printf.c ../../work.patched/busybox-1.13.4/libbb/xfuncs_printf.c
---- ./libbb/xfuncs_printf.c 2008-11-09 18:28:09.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libbb/xfuncs_printf.c 2009-06-25 23:05:54.000000000 +0200
-@@ -294,8 +294,8 @@
- return string_ptr;
- }
+-#include <utmp.h>
++#if ENABLE_FEATURE_UTMP
++# include <utmp.h>
+ /* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */
+ const char bb_path_wtmp_file[] ALIGN1 =
+-#if defined _PATH_WTMP
++# if defined _PATH_WTMP
+ _PATH_WTMP;
+-#elif defined WTMP_FILE
++# elif defined WTMP_FILE
+ WTMP_FILE;
+-#else
+-#error unknown path to wtmp file
++# else
++# error unknown path to wtmp file
++# endif
+ #endif
+
+ /* We use it for "global" data via *(struct global*)&bb_common_bufsiz1.
+diff --git a/libbb/utmp.c b/libbb/utmp.c
+index 2bf9c11..a055de7 100644
+--- libbb/utmp.c
++++ libbb/utmp.c
+@@ -6,8 +6,9 @@
+ *
+ * Licensed under GPLv2, see file LICENSE in this source tree.
+ */
+-#include "libbb.h"
+-#include <utmp.h>
++#if ENABLE_FEATURE_UTMP
++# include "libbb.h"
++# include <utmp.h>
--#if 0 /* If we will ever meet a libc which hasn't [f]dprintf... */
--int FAST_FUNC fdprintf(int fd, const char *format, ...)
-+#if 1 /* If we will ever meet a libc which hasn't [f]dprintf... */
-+int FAST_FUNC dprintf(int fd, const char *format, ...)
+ static void touch(const char *filename)
{
- va_list p;
- int r;
-@@ -326,6 +326,32 @@
- return r;
+@@ -53,11 +54,11 @@ void FAST_FUNC write_new_utmp(pid_t pid, int new_type, const char *tty_name, con
+ pututline(&utent);
+ endutent();
+
+-#if ENABLE_FEATURE_WTMP
++# if ENABLE_FEATURE_WTMP
+ /* "man utmp" says wtmp file should *not* be created automagically */
+ /*touch(bb_path_wtmp_file);*/
+ updwtmp(bb_path_wtmp_file, &utent);
+-#endif
++# endif
}
- #endif
-+char *strchrnul(const char *s, int c)
-+{
-+ char *r = strchr(s, c);
-+ if (r == NULL)
-+ r = (char *)s + strlen(s);
-+ return r;
-+}
-+#if 0
-+void *memrchr(const void *s, int c, size_t n)
-+{
-+ const char *p = s;
-+ for (p += n - 1; p != s; p--)
-+ if (*p == c) break;
-+ return (*p == c ? p : NULL);
-+}
-+#endif
-+
-+size_t strnlen(const char *s, size_t maxlen)
-+{
-+ size_t i;
-+ for (i = 0; i < maxlen; i++) {
-+ if (s[i] == '\0')
-+ break;
-+ }
-+ return i;
-+}
- void FAST_FUNC xsetenv(const char *key, const char *value)
- {
-diff -ubwr ./libpwdgrp/pwd_grp.c ../../work.patched/busybox-1.13.4/libpwdgrp/pwd_grp.c
---- ./libpwdgrp/pwd_grp.c 2008-11-09 18:28:19.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/libpwdgrp/pwd_grp.c 2009-06-25 23:05:54.000000000 +0200
-@@ -19,7 +19,9 @@
+ /*
+@@ -125,9 +126,10 @@ void FAST_FUNC update_utmp(pid_t pid, int new_type, const char *tty_name, const
+ pututline(&utent);
+ endutent();
+
+-#if ENABLE_FEATURE_WTMP
++# if ENABLE_FEATURE_WTMP
+ /* "man utmp" says wtmp file should *not* be created automagically */
+ /*touch(bb_path_wtmp_file);*/
+ updwtmp(bb_path_wtmp_file, &utent);
+-#endif
++# endif
+ }
++#endif /* ENABLE_FEATURE_UTMP */
+diff --git a/miscutils/last.c b/miscutils/last.c
+index fec5b70..354af42 100644
+--- miscutils/last.c
++++ miscutils/last.c
+@@ -8,7 +8,9 @@
*/
#include "libbb.h"
-+#if !defined __FreeBSD__
- #include <features.h>
+-#include <utmp.h>
++#if ENABLE_FEATURE_UTMP
++# include <utmp.h>
+#endif
- #include <assert.h>
- #ifndef _PATH_SHADOW
-diff -ubwr ./networking/nslookup.c ../../work.patched/busybox-1.13.4/networking/nslookup.c
---- ./networking/nslookup.c 2008-11-09 18:27:59.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/networking/nslookup.c 2009-06-25 23:05:54.000000000 +0200
-@@ -11,6 +11,8 @@
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ /* NB: ut_name and ut_user are the same field, use only one name (ut_user)
+ * to reduce confusion */
+diff --git a/miscutils/runlevel.c b/miscutils/runlevel.c
+index 363e450..b31736a 100644
+--- miscutils/runlevel.c
++++ miscutils/runlevel.c
+@@ -12,7 +12,9 @@
+ * initially busyboxified by Bernhard Reutner-Fischer
*/
-
-+#include <netinet/in.h>
-+#include <sys/socket.h>
- #include <resolv.h>
#include "libbb.h"
+-#include <utmp.h>
++#if ENABLE_FEATURE_UTMP
++# include <utmp.h>
++#endif
-diff -ubwr ./networking/telnetd.c ../../work.patched/busybox-1.13.4/networking/telnetd.c
---- ./networking/telnetd.c 2008-11-09 18:27:59.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/networking/telnetd.c 2009-06-25 23:05:54.000000000 +0200
-@@ -254,7 +254,7 @@
- * cooked mode, and with XTABS CRMOD enabled (see tty(4)). */
- tcgetattr(0, &termbuf);
- termbuf.c_lflag |= ECHO; /* if we use readline we dont want this */
-- termbuf.c_oflag |= ONLCR | XTABS;
-+ termbuf.c_oflag |= ONLCR | OXTABS;
- termbuf.c_iflag |= ICRNL;
- termbuf.c_iflag &= ~IXOFF;
- /*termbuf.c_lflag &= ~ICANON;*/
-diff -ubwr ./networking/traceroute.c ../../work.patched/busybox-1.13.4/networking/traceroute.c
---- ./networking/traceroute.c 2008-11-09 18:27:59.000000000 +0100
-+++ ../../work.patched/busybox-1.13.4/networking/traceroute.c 2009-06-25 23:05:54.000000000 +0200
-@@ -205,9 +205,10 @@
- //#define CONFIG_FEATURE_TRACEROUTE_USE_ICMP
-
-
--#include <net/if.h>
- #include <arpa/inet.h>
- #include <netinet/in.h>
-+#include <sys/socket.h>
-+#include <net/if.h>
- #include <netinet/udp.h>
- #include <netinet/ip.h>
- #include <netinet/ip_icmp.h>
-@@ -638,7 +639,7 @@
- outicmp->icmp_seq = htons(seq);
- else
- #endif
-- outudp->dest = htons(port + seq);
-+ outudp->uh_dport = htons(port + seq);
-
- #if ENABLE_FEATURE_TRACEROUTE_USE_ICMP
- if (useicmp) {
-@@ -660,11 +661,11 @@
- ui->ui_src = oui->ui_src;
- ui->ui_dst = oui->ui_dst;
- ui->ui_pr = oui->ui_pr;
-- ui->ui_len = outudp->len;
-- outudp->check = 0;
-- outudp->check = in_cksum((uint16_t *)ui, packlen);
-- if (outudp->check == 0)
-- outudp->check = 0xffff;
-+ ui->ui_len = outudp->uh_ulen;
-+ outudp->uh_sum = 0;
-+ outudp->uh_sum = in_cksum((uint16_t *)ui, packlen);
-+ if (outudp->uh_sum == 0)
-+ outudp->uh_sum = 0xffff;
- *outip = tip;
- }
+ int runlevel_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int runlevel_main(int argc UNUSED_PARAM, char **argv)
+diff --git a/miscutils/wall.c b/miscutils/wall.c
+index eecfc16..738726e 100644
+--- miscutils/wall.c
++++ miscutils/wall.c
+@@ -7,7 +7,9 @@
+ */
-@@ -792,8 +793,8 @@
- /* XXX 8 is a magic number */
- if (hlen + 12 <= cc &&
- hip->ip_p == IPPROTO_UDP &&
-- up->source == htons(ident) &&
-- up->dest == htons(port + seq))
-+ up->uh_sport == htons(ident) &&
-+ up->uh_dport == htons(port + seq))
- return (type == ICMP_TIMXCEED ? -1 : code + 1);
- }
- }
-@@ -1148,8 +1149,8 @@
- {
- outip->ip_p = IPPROTO_UDP;
- outudp = (struct udphdr *)outp;
-- outudp->source = htons(ident);
-- outudp->len = htons((uint16_t)(packlen - (sizeof(*outip) + optlen)));
-+ outudp->uh_sport = htons(ident);
-+ outudp->uh_ulen = htons((uint16_t)(packlen - (sizeof(*outip) + optlen)));
- outdata = (outdata_t *)(outudp + 1);
- }
+ #include "libbb.h"
+-#include <utmp.h>
++#if ENABLE_FEATURE_UTMP
++# include <utmp.h>
++#endif
+ int wall_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int wall_main(int argc UNUSED_PARAM, char **argv)
diff --git a/sysutils/busybox/files/patch-editors-vi.c b/sysutils/busybox/files/patch-editors-vi.c
deleted file mode 100644
index 13d688c0cec1..000000000000
--- a/sysutils/busybox/files/patch-editors-vi.c
+++ /dev/null
@@ -1,34 +0,0 @@
---- editors/vi.c.orig 2008-11-09 17:28:21.000000000 +0000
-+++ editors/vi.c 2010-12-15 20:27:20.000000000 +0000
-@@ -383,6 +383,31 @@
- static int crashme = 0;
- #endif
-
-+/* Test for existance of memrchr() */
-+
-+#include <sys/param.h>
-+#if (__FreeBSD_version < 603103) || (__FreeBSD_version < 700109 && __FreeBSD_version >= 700000) || (__FreeBSD_version < 800034 && __FreeBSD_version >=800000)
-+static void *
-+memrchr(const void *buf, int c, size_t num)
-+{
-+ unsigned char *pMem = (unsigned char *) buf;
-+
-+ for (;;) {
-+ if (num-- == 0) {
-+ return NULL;
-+ }
-+
-+ if (*pMem-- == (unsigned char) c) {
-+ break;
-+ }
-+
-+ }
-+
-+ return (void *) (pMem + 1);
-+
-+}
-+#endif
-+
-
- static void write1(const char *out)
- {
diff --git a/sysutils/busybox/files/patch-include-platform.h b/sysutils/busybox/files/patch-include-platform.h
deleted file mode 100644
index 8f64523b1213..000000000000
--- a/sysutils/busybox/files/patch-include-platform.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- include/platform.h.orig 2011-01-14 10:33:51.000000000 +0100
-+++ include/platform.h 2011-01-14 10:37:09.000000000 +0100
-@@ -224,12 +224,14 @@
- typedef long intmax_t;
- typedef unsigned long uintmax_t;
- #else
-+#if !defined(__FreeBSD__)
- __extension__
- typedef long long intmax_t;
- __extension__
- typedef unsigned long long uintmax_t;
- #endif
- #endif
-+#endif
-
- /* Size-saving "small" ints (arch-dependent) */
- #if defined(i386) || defined(__x86_64__) || defined(__mips__) || defined(__cris__)
diff --git a/sysutils/busybox/files/patch-strnlen b/sysutils/busybox/files/patch-strnlen
new file mode 100644
index 000000000000..bd16f428e69b
--- /dev/null
+++ b/sysutils/busybox/files/patch-strnlen
@@ -0,0 +1,24 @@
+diff --git a/sysklogd/logread.c b/sysklogd/logread.c
+index 52c97aa..93b886f 100644
+--- sysklogd/logread.c
++++ sysklogd/logread.c
+@@ -14,6 +14,19 @@
+ #include <sys/sem.h>
+ #include <sys/shm.h>
+
++#include <osreldate.h>
++#if __FreeBSD_version < 800067
++size_t strnlen(const char *s, size_t maxlen)
++{
++ size_t i;
++ for (i = 0; i < maxlen; i++) {
++ if (s[i] == '\0')
++ break;
++ }
++ return i;
++}
++#endif
++
+ #define DEBUG 0
+
+ /* our shared key (syslogd.c and logread.c must be in sync) */