Index: Makefile
===================================================================
RCS file: /exports/cvsroot-freebsd/ports/sysutils/busybox/Makefile,v
retrieving revision 1.8
diff -u -r1.8 Makefile
--- Makefile	18 Jan 2011 20:35:33 -0000	1.8
+++ Makefile	25 Jan 2011 18:30:00 -0000
@@ -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 @@
 MAINTAINER=	utisoft@gmail.com
 COMMENT=	Busybox for FreeBSD
 
+BUILD_DEPENDS=	gsed:${PORTSDIR}/textproc/gsed
+
 USE_BZIP2=	yes
 USE_GMAKE=	yes
 
@@ -22,10 +24,10 @@
 .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
Index: distinfo
===================================================================
RCS file: /exports/cvsroot-freebsd/ports/sysutils/busybox/distinfo,v
retrieving revision 1.2
diff -u -r1.2 distinfo
--- distinfo	25 Jun 2009 21:16:37 -0000	1.2
+++ distinfo	25 Jan 2011 18:33:40 -0000
@@ -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
Index: files/data-.config
===================================================================
RCS file: /exports/cvsroot-freebsd/ports/sysutils/busybox/files/data-.config,v
retrieving revision 1.2
diff -u -r1.2 data-.config
--- files/data-.config	26 Jun 2009 09:48:28 -0000	1.2
+++ files/data-.config	23 Jan 2011 12:17:44 -0000
@@ -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_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_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_SHARED_BUSYBOX is not set
 CONFIG_LFS=y
 CONFIG_CROSS_COMPILER_PREFIX=""
+CONFIG_EXTRA_CFLAGS=""
 
 #
 # Debugging Options
@@ -57,12 +73,10 @@
 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_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_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 @@
 #
 # 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_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_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_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_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_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_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 @@
 #
 # 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_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_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 @@
 #
 # 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 @@
 #
 # 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_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_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
Index: files/patch-002
===================================================================
RCS file: /exports/cvsroot-freebsd/ports/sysutils/busybox/files/patch-002,v
retrieving revision 1.2
diff -u -r1.2 patch-002
--- files/patch-002	25 Jun 2009 21:16:37 -0000	1.2
+++ files/patch-002	29 Jan 2011 09:45:16 -0000
@@ -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 @@
+ 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)
  
- 	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;
- 
- 	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;
+ 
+-#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
  
-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;
- }
+ /* 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);
+ 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 @@
+  */
  
- #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;
- 	}
- 
-@@ -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)
Index: files/patch-editors-vi.c
===================================================================
RCS file: files/patch-editors-vi.c
diff -N files/patch-editors-vi.c
--- files/patch-editors-vi.c	14 Jan 2011 09:59:17 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -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)
- {
Index: files/patch-include-platform.h
===================================================================
RCS file: files/patch-include-platform.h
diff -N files/patch-include-platform.h
--- files/patch-include-platform.h	14 Jan 2011 09:59:17 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -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__)
Index: files/patch-strnlen
===================================================================
RCS file: files/patch-strnlen
diff -N files/patch-strnlen
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-strnlen	29 Jan 2011 12:29:16 -0000
@@ -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) */
