busybox: added 1.7.2 from OE as non-default (Angstrom defconfig used)
run_parts.c is alternative implementation from BusyBox mailing list: http://www.busybox.net/lists/busybox/2007-September/028838.html (original one does not sorted entries before run == broken X11 session) Poky-image-sato with this version works on my c7x0. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2949 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
498b4f45da
commit
26b7ef0d11
|
@ -0,0 +1,69 @@
|
|||
#!/bin/sh
|
||||
MDEV=/sbin/mdev
|
||||
DESC="Busybox mdev setup"
|
||||
|
||||
# Complain if thing's aren't right
|
||||
if [ ! -e /proc/filesystems ]; then
|
||||
echo "mdev requires a mounted procfs, not started."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
|
||||
echo "mdev requires tmpfs support, not started."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d /sys/class/ ]; then
|
||||
echo "mdev requires a mounted sysfs, not started."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -e /proc/sys/kernel/hotplug ]; then
|
||||
echo "mdev requires hotplug support, not started."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# We need to unmount /dev/pts/ and remount it later over the tmpfs
|
||||
if mountpoint -q /dev/pts/; then
|
||||
umount -l /dev/pts/
|
||||
fi
|
||||
|
||||
if mountpoint -q /dev/shm/; then
|
||||
umount -l /dev/shm/
|
||||
fi
|
||||
|
||||
# Create tmpfs for /dev
|
||||
echo "Creating tmpfs at /dev"
|
||||
mount -t tmpfs tmpfs /dev -o size=800k
|
||||
|
||||
# Register mdev as hotplug event helper
|
||||
echo "$MDEV" > /proc/sys/kernel/hotplug
|
||||
|
||||
# Populate /dev from /sys info
|
||||
echo "Populating /dev using mdev"
|
||||
$MDEV -s
|
||||
|
||||
# Touch .udev to inform scripts that /dev needs no further setup
|
||||
touch /dev/.udev
|
||||
|
||||
# Mount devpts
|
||||
TTYGRP=5
|
||||
TTYMODE=620
|
||||
mkdir -m 755 -p /dev/pts
|
||||
if [ ! -e /dev/ptmx ]; then
|
||||
mknod -m 666 /dev/ptmx c 5 2
|
||||
fi
|
||||
mount -t devpts devpts /dev/pts -onoexec,nosuid,gid=$TTYGRP,mode=$TTYMODE
|
||||
|
||||
# Make shm directory
|
||||
mkdir -m 755 -p /dev/shm
|
||||
|
||||
# Make extraneous links
|
||||
ln -sf /proc/self/fd /dev/fd
|
||||
ln -sf /proc/self/fd/0 /dev/stdin
|
||||
ln -sf /proc/self/fd/1 /dev/stdout
|
||||
ln -sf /proc/self/fd/2 /dev/stderr
|
||||
ln -sf /proc/kcore /dev/core
|
||||
ln -sf /proc/asound/oss/sndstat /dev/sndstat
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,753 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.7.2
|
||||
# Fri Oct 12 19:00:27 2007
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
#
|
||||
# Busybox Settings
|
||||
#
|
||||
|
||||
#
|
||||
# General Configuration
|
||||
#
|
||||
# CONFIG_NITPICK is not set
|
||||
# CONFIG_DESKTOP is not set
|
||||
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
|
||||
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
|
||||
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
|
||||
CONFIG_SHOW_USAGE=y
|
||||
# CONFIG_FEATURE_VERBOSE_USAGE is not set
|
||||
CONFIG_FEATURE_COMPRESS_USAGE=y
|
||||
# CONFIG_FEATURE_INSTALLER is not set
|
||||
CONFIG_LOCALE_SUPPORT=y
|
||||
CONFIG_GETOPT_LONG=y
|
||||
CONFIG_FEATURE_DEVPTS=y
|
||||
# CONFIG_FEATURE_CLEAN_UP is not set
|
||||
CONFIG_FEATURE_PIDFILE=y
|
||||
CONFIG_FEATURE_SUID=y
|
||||
CONFIG_FEATURE_SUID_CONFIG=y
|
||||
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
|
||||
# CONFIG_SELINUX is not set
|
||||
# CONFIG_FEATURE_PREFER_APPLETS is not set
|
||||
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
|
||||
CONFIG_FEATURE_SYSLOG=y
|
||||
CONFIG_FEATURE_HAVE_RPC=y
|
||||
|
||||
#
|
||||
# Build Options
|
||||
#
|
||||
# CONFIG_STATIC is not set
|
||||
# CONFIG_BUILD_LIBBUSYBOX is not set
|
||||
# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
|
||||
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
|
||||
CONFIG_LFS=y
|
||||
CONFIG_BUILD_AT_ONCE=y
|
||||
|
||||
#
|
||||
# Debugging Options
|
||||
#
|
||||
# CONFIG_DEBUG is not set
|
||||
# CONFIG_WERROR is not set
|
||||
CONFIG_NO_DEBUG_LIB=y
|
||||
# CONFIG_DMALLOC is not set
|
||||
# CONFIG_EFENCE is not set
|
||||
# CONFIG_INCLUDE_SUSv2 is not set
|
||||
|
||||
#
|
||||
# Installation Options
|
||||
#
|
||||
# CONFIG_INSTALL_NO_USR is not set
|
||||
CONFIG_INSTALL_APPLET_SYMLINKS=y
|
||||
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
|
||||
# CONFIG_INSTALL_APPLET_DONT is not set
|
||||
CONFIG_PREFIX="./_install"
|
||||
|
||||
#
|
||||
# Busybox Library Tuning
|
||||
#
|
||||
CONFIG_PASSWORD_MINLEN=6
|
||||
CONFIG_MD5_SIZE_VS_SPEED=2
|
||||
CONFIG_FEATURE_FAST_TOP=y
|
||||
# CONFIG_FEATURE_ETC_NETWORKS is not set
|
||||
CONFIG_FEATURE_EDITING=y
|
||||
CONFIG_FEATURE_EDITING_MAX_LEN=1024
|
||||
# CONFIG_FEATURE_EDITING_FANCY_KEYS is not set
|
||||
# CONFIG_FEATURE_EDITING_VI is not set
|
||||
CONFIG_FEATURE_EDITING_HISTORY=15
|
||||
CONFIG_FEATURE_EDITING_SAVEHISTORY=y
|
||||
CONFIG_FEATURE_TAB_COMPLETION=y
|
||||
CONFIG_FEATURE_USERNAME_COMPLETION=y
|
||||
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
|
||||
CONFIG_MONOTONIC_SYSCALL=y
|
||||
CONFIG_IOCTL_HEX2STR_ERROR=y
|
||||
|
||||
#
|
||||
# Applets
|
||||
#
|
||||
|
||||
#
|
||||
# Archival Utilities
|
||||
#
|
||||
CONFIG_AR=y
|
||||
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
|
||||
CONFIG_BUNZIP2=y
|
||||
CONFIG_CPIO=y
|
||||
# CONFIG_DPKG is not set
|
||||
# CONFIG_DPKG_DEB is not set
|
||||
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
|
||||
CONFIG_GUNZIP=y
|
||||
# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
|
||||
CONFIG_GZIP=y
|
||||
# CONFIG_RPM2CPIO is not set
|
||||
# CONFIG_RPM is not set
|
||||
# CONFIG_FEATURE_RPM_BZ2 is not set
|
||||
CONFIG_TAR=y
|
||||
CONFIG_FEATURE_TAR_CREATE=y
|
||||
CONFIG_FEATURE_TAR_BZIP2=y
|
||||
# CONFIG_FEATURE_TAR_LZMA is not set
|
||||
CONFIG_FEATURE_TAR_FROM=y
|
||||
CONFIG_FEATURE_TAR_GZIP=y
|
||||
# CONFIG_FEATURE_TAR_COMPRESS is not set
|
||||
# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
|
||||
# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
|
||||
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
|
||||
# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
|
||||
# CONFIG_UNCOMPRESS is not set
|
||||
# CONFIG_UNLZMA is not set
|
||||
# CONFIG_FEATURE_LZMA_FAST is not set
|
||||
CONFIG_UNZIP=y
|
||||
|
||||
#
|
||||
# Common options for cpio and tar
|
||||
#
|
||||
# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
|
||||
# CONFIG_FEATURE_DEB_TAR_GZ is not set
|
||||
# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
|
||||
# CONFIG_FEATURE_DEB_TAR_LZMA is not set
|
||||
|
||||
#
|
||||
# Coreutils
|
||||
#
|
||||
CONFIG_BASENAME=y
|
||||
# CONFIG_CAL is not set
|
||||
CONFIG_CAT=y
|
||||
# CONFIG_CATV is not set
|
||||
CONFIG_CHGRP=y
|
||||
CONFIG_CHMOD=y
|
||||
CONFIG_CHOWN=y
|
||||
CONFIG_CHROOT=y
|
||||
# CONFIG_CKSUM is not set
|
||||
# CONFIG_COMM is not set
|
||||
CONFIG_CP=y
|
||||
CONFIG_CUT=y
|
||||
CONFIG_DATE=y
|
||||
# CONFIG_FEATURE_DATE_ISOFMT is not set
|
||||
CONFIG_DD=y
|
||||
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
|
||||
# CONFIG_FEATURE_DD_IBS_OBS is not set
|
||||
CONFIG_DF=y
|
||||
CONFIG_DIRNAME=y
|
||||
# CONFIG_DOS2UNIX is not set
|
||||
# CONFIG_UNIX2DOS is not set
|
||||
CONFIG_DU=y
|
||||
CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
|
||||
CONFIG_ECHO=y
|
||||
CONFIG_FEATURE_FANCY_ECHO=y
|
||||
CONFIG_ENV=y
|
||||
CONFIG_FEATURE_ENV_LONG_OPTIONS=y
|
||||
# CONFIG_EXPAND is not set
|
||||
# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
|
||||
CONFIG_EXPR=y
|
||||
# CONFIG_EXPR_MATH_SUPPORT_64 is not set
|
||||
CONFIG_FALSE=y
|
||||
# CONFIG_FOLD is not set
|
||||
CONFIG_HEAD=y
|
||||
# CONFIG_FEATURE_FANCY_HEAD is not set
|
||||
# CONFIG_HOSTID is not set
|
||||
CONFIG_ID=y
|
||||
# CONFIG_INSTALL is not set
|
||||
# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
|
||||
# CONFIG_LENGTH is not set
|
||||
CONFIG_LN=y
|
||||
CONFIG_LOGNAME=y
|
||||
CONFIG_LS=y
|
||||
CONFIG_FEATURE_LS_FILETYPES=y
|
||||
CONFIG_FEATURE_LS_FOLLOWLINKS=y
|
||||
CONFIG_FEATURE_LS_RECURSIVE=y
|
||||
CONFIG_FEATURE_LS_SORTFILES=y
|
||||
CONFIG_FEATURE_LS_TIMESTAMPS=y
|
||||
CONFIG_FEATURE_LS_USERNAME=y
|
||||
CONFIG_FEATURE_LS_COLOR=y
|
||||
# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
|
||||
CONFIG_MD5SUM=y
|
||||
CONFIG_MKDIR=y
|
||||
CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
|
||||
CONFIG_MKFIFO=y
|
||||
CONFIG_MKNOD=y
|
||||
CONFIG_MV=y
|
||||
# CONFIG_FEATURE_MV_LONG_OPTIONS is not set
|
||||
# CONFIG_NICE is not set
|
||||
CONFIG_NOHUP=y
|
||||
CONFIG_OD=y
|
||||
# CONFIG_PRINTENV is not set
|
||||
CONFIG_PRINTF=y
|
||||
CONFIG_PWD=y
|
||||
CONFIG_READLINK=y
|
||||
CONFIG_FEATURE_READLINK_FOLLOW=y
|
||||
CONFIG_REALPATH=y
|
||||
CONFIG_RM=y
|
||||
CONFIG_RMDIR=y
|
||||
CONFIG_SEQ=y
|
||||
# CONFIG_SHA1SUM is not set
|
||||
CONFIG_SLEEP=y
|
||||
CONFIG_FEATURE_FANCY_SLEEP=y
|
||||
CONFIG_SORT=y
|
||||
CONFIG_FEATURE_SORT_BIG=y
|
||||
# CONFIG_SPLIT is not set
|
||||
# CONFIG_FEATURE_SPLIT_FANCY is not set
|
||||
# CONFIG_STAT is not set
|
||||
# CONFIG_FEATURE_STAT_FORMAT is not set
|
||||
CONFIG_STTY=y
|
||||
# CONFIG_SUM is not set
|
||||
CONFIG_SYNC=y
|
||||
CONFIG_TAIL=y
|
||||
CONFIG_FEATURE_FANCY_TAIL=y
|
||||
CONFIG_TEE=y
|
||||
# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
|
||||
CONFIG_TEST=y
|
||||
# CONFIG_FEATURE_TEST_64 is not set
|
||||
CONFIG_TOUCH=y
|
||||
CONFIG_TR=y
|
||||
CONFIG_FEATURE_TR_CLASSES=y
|
||||
# CONFIG_FEATURE_TR_EQUIV is not set
|
||||
CONFIG_TRUE=y
|
||||
CONFIG_TTY=y
|
||||
CONFIG_UNAME=y
|
||||
# CONFIG_UNEXPAND is not set
|
||||
# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
|
||||
CONFIG_UNIQ=y
|
||||
CONFIG_USLEEP=y
|
||||
# CONFIG_UUDECODE is not set
|
||||
# CONFIG_UUENCODE is not set
|
||||
CONFIG_WC=y
|
||||
# CONFIG_FEATURE_WC_LARGE is not set
|
||||
CONFIG_WHO=y
|
||||
CONFIG_WHOAMI=y
|
||||
CONFIG_YES=y
|
||||
|
||||
#
|
||||
# Common options for cp and mv
|
||||
#
|
||||
# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
|
||||
|
||||
#
|
||||
# Common options for ls, more and telnet
|
||||
#
|
||||
CONFIG_FEATURE_AUTOWIDTH=y
|
||||
|
||||
#
|
||||
# Common options for df, du, ls
|
||||
#
|
||||
CONFIG_FEATURE_HUMAN_READABLE=y
|
||||
|
||||
#
|
||||
# Common options for md5sum, sha1sum
|
||||
#
|
||||
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
|
||||
|
||||
#
|
||||
# Console Utilities
|
||||
#
|
||||
CONFIG_CHVT=y
|
||||
CONFIG_CLEAR=y
|
||||
CONFIG_DEALLOCVT=y
|
||||
CONFIG_DUMPKMAP=y
|
||||
CONFIG_LOADFONT=y
|
||||
CONFIG_LOADKMAP=y
|
||||
CONFIG_OPENVT=y
|
||||
CONFIG_RESET=y
|
||||
# CONFIG_RESIZE is not set
|
||||
# CONFIG_FEATURE_RESIZE_PRINT is not set
|
||||
CONFIG_SETCONSOLE=y
|
||||
# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
|
||||
# CONFIG_SETKEYCODES is not set
|
||||
# CONFIG_SETLOGCONS is not set
|
||||
|
||||
#
|
||||
# Debian Utilities
|
||||
#
|
||||
CONFIG_MKTEMP=y
|
||||
# CONFIG_PIPE_PROGRESS is not set
|
||||
CONFIG_RUN_PARTS=y
|
||||
# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
|
||||
# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
|
||||
CONFIG_START_STOP_DAEMON=y
|
||||
CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
|
||||
CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
|
||||
CONFIG_WHICH=y
|
||||
|
||||
#
|
||||
# Editors
|
||||
#
|
||||
CONFIG_AWK=y
|
||||
CONFIG_FEATURE_AWK_MATH=y
|
||||
# CONFIG_CMP is not set
|
||||
CONFIG_DIFF=y
|
||||
CONFIG_FEATURE_DIFF_BINARY=y
|
||||
CONFIG_FEATURE_DIFF_DIR=y
|
||||
# CONFIG_FEATURE_DIFF_MINIMAL is not set
|
||||
# CONFIG_ED is not set
|
||||
CONFIG_PATCH=y
|
||||
CONFIG_SED=y
|
||||
CONFIG_VI=y
|
||||
CONFIG_FEATURE_VI_MAX_LEN=1024
|
||||
CONFIG_FEATURE_VI_COLON=y
|
||||
CONFIG_FEATURE_VI_YANKMARK=y
|
||||
CONFIG_FEATURE_VI_SEARCH=y
|
||||
CONFIG_FEATURE_VI_USE_SIGNALS=y
|
||||
# CONFIG_FEATURE_VI_DOT_CMD is not set
|
||||
# CONFIG_FEATURE_VI_READONLY is not set
|
||||
# CONFIG_FEATURE_VI_SETOPTS is not set
|
||||
# CONFIG_FEATURE_VI_SET is not set
|
||||
CONFIG_FEATURE_VI_WIN_RESIZE=y
|
||||
CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
|
||||
CONFIG_FEATURE_ALLOW_EXEC=y
|
||||
|
||||
#
|
||||
# Finding Utilities
|
||||
#
|
||||
CONFIG_FIND=y
|
||||
CONFIG_FEATURE_FIND_PRINT0=y
|
||||
CONFIG_FEATURE_FIND_MTIME=y
|
||||
CONFIG_FEATURE_FIND_MMIN=y
|
||||
CONFIG_FEATURE_FIND_PERM=y
|
||||
CONFIG_FEATURE_FIND_TYPE=y
|
||||
CONFIG_FEATURE_FIND_XDEV=y
|
||||
CONFIG_FEATURE_FIND_MAXDEPTH=y
|
||||
CONFIG_FEATURE_FIND_NEWER=y
|
||||
# CONFIG_FEATURE_FIND_INUM is not set
|
||||
CONFIG_FEATURE_FIND_EXEC=y
|
||||
CONFIG_FEATURE_FIND_USER=y
|
||||
CONFIG_FEATURE_FIND_GROUP=y
|
||||
CONFIG_FEATURE_FIND_NOT=y
|
||||
CONFIG_FEATURE_FIND_DEPTH=y
|
||||
CONFIG_FEATURE_FIND_PAREN=y
|
||||
CONFIG_FEATURE_FIND_SIZE=y
|
||||
CONFIG_FEATURE_FIND_PRUNE=y
|
||||
# CONFIG_FEATURE_FIND_DELETE is not set
|
||||
CONFIG_FEATURE_FIND_PATH=y
|
||||
CONFIG_FEATURE_FIND_REGEX=y
|
||||
# CONFIG_FEATURE_FIND_CONTEXT is not set
|
||||
CONFIG_GREP=y
|
||||
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
|
||||
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
|
||||
CONFIG_FEATURE_GREP_CONTEXT=y
|
||||
CONFIG_XARGS=y
|
||||
# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
|
||||
# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
|
||||
# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
|
||||
# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
|
||||
|
||||
#
|
||||
# Init Utilities
|
||||
#
|
||||
# CONFIG_INIT is not set
|
||||
# CONFIG_DEBUG_INIT is not set
|
||||
# CONFIG_FEATURE_USE_INITTAB is not set
|
||||
# CONFIG_FEATURE_INIT_SCTTY is not set
|
||||
# CONFIG_FEATURE_INIT_SYSLOG is not set
|
||||
# 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_MESG is not set
|
||||
|
||||
#
|
||||
# Login/Password Management Utilities
|
||||
#
|
||||
# CONFIG_FEATURE_SHADOWPASSWDS is not set
|
||||
# CONFIG_USE_BB_SHADOW is not set
|
||||
# CONFIG_USE_BB_PWD_GRP is not set
|
||||
# CONFIG_ADDGROUP is not set
|
||||
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
|
||||
# CONFIG_DELGROUP is not set
|
||||
# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
|
||||
# CONFIG_ADDUSER is not set
|
||||
# CONFIG_DELUSER is not set
|
||||
# CONFIG_GETTY is not set
|
||||
CONFIG_FEATURE_UTMP=y
|
||||
# CONFIG_FEATURE_WTMP is not set
|
||||
# CONFIG_LOGIN is not set
|
||||
# CONFIG_PAM is not set
|
||||
# CONFIG_LOGIN_SCRIPTS is not set
|
||||
# CONFIG_FEATURE_NOLOGIN is not set
|
||||
# CONFIG_FEATURE_SECURETTY is not set
|
||||
# CONFIG_PASSWD is not set
|
||||
# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
|
||||
# CONFIG_CRYPTPW is not set
|
||||
# CONFIG_CHPASSWD is not set
|
||||
# CONFIG_SU is not set
|
||||
# CONFIG_FEATURE_SU_SYSLOG is not set
|
||||
# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
|
||||
# CONFIG_SULOGIN is not set
|
||||
# CONFIG_VLOCK is not set
|
||||
|
||||
#
|
||||
# Linux Ext2 FS Progs
|
||||
#
|
||||
CONFIG_CHATTR=y
|
||||
CONFIG_FSCK=y
|
||||
# CONFIG_LSATTR is not set
|
||||
|
||||
#
|
||||
# Linux Module Utilities
|
||||
#
|
||||
CONFIG_INSMOD=y
|
||||
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
|
||||
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
|
||||
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
|
||||
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
|
||||
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
|
||||
CONFIG_RMMOD=y
|
||||
CONFIG_LSMOD=y
|
||||
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
|
||||
CONFIG_MODPROBE=y
|
||||
CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
|
||||
CONFIG_FEATURE_MODPROBE_FANCY_ALIAS=y
|
||||
|
||||
#
|
||||
# Options common to multiple modutils
|
||||
#
|
||||
CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
|
||||
# CONFIG_FEATURE_2_4_MODULES is not set
|
||||
CONFIG_FEATURE_2_6_MODULES=y
|
||||
# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
|
||||
|
||||
#
|
||||
# Linux System Utilities
|
||||
#
|
||||
CONFIG_DMESG=y
|
||||
CONFIG_FEATURE_DMESG_PRETTY=y
|
||||
CONFIG_FBSET=y
|
||||
CONFIG_FEATURE_FBSET_FANCY=y
|
||||
CONFIG_FEATURE_FBSET_READMODE=y
|
||||
# CONFIG_FDFLUSH is not set
|
||||
# CONFIG_FDFORMAT is not set
|
||||
CONFIG_FDISK=y
|
||||
CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
|
||||
CONFIG_FEATURE_FDISK_WRITABLE=y
|
||||
# CONFIG_FEATURE_AIX_LABEL is not set
|
||||
# CONFIG_FEATURE_SGI_LABEL is not set
|
||||
# CONFIG_FEATURE_SUN_LABEL is not set
|
||||
# CONFIG_FEATURE_OSF_LABEL is not set
|
||||
# CONFIG_FEATURE_FDISK_ADVANCED is not set
|
||||
# CONFIG_FREERAMDISK is not set
|
||||
CONFIG_FSCK_MINIX=y
|
||||
CONFIG_MKFS_MINIX=y
|
||||
|
||||
#
|
||||
# Minix filesystem support
|
||||
#
|
||||
CONFIG_FEATURE_MINIX2=y
|
||||
# CONFIG_GETOPT is not set
|
||||
CONFIG_HEXDUMP=y
|
||||
CONFIG_HWCLOCK=y
|
||||
CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
|
||||
# CONFIG_IPCRM is not set
|
||||
# CONFIG_IPCS is not set
|
||||
CONFIG_LOSETUP=y
|
||||
# CONFIG_MDEV is not set
|
||||
# CONFIG_FEATURE_MDEV_CONF is not set
|
||||
# CONFIG_FEATURE_MDEV_EXEC is not set
|
||||
# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
|
||||
CONFIG_MKSWAP=y
|
||||
# CONFIG_FEATURE_MKSWAP_V0 is not set
|
||||
CONFIG_MORE=y
|
||||
CONFIG_FEATURE_USE_TERMIOS=y
|
||||
CONFIG_MOUNT=y
|
||||
CONFIG_FEATURE_MOUNT_NFS=y
|
||||
# CONFIG_FEATURE_MOUNT_CIFS is not set
|
||||
CONFIG_FEATURE_MOUNT_FLAGS=y
|
||||
CONFIG_FEATURE_MOUNT_FSTAB=y
|
||||
CONFIG_PIVOT_ROOT=y
|
||||
CONFIG_RDATE=y
|
||||
# CONFIG_READPROFILE is not set
|
||||
# CONFIG_SETARCH is not set
|
||||
CONFIG_SWAPONOFF=y
|
||||
CONFIG_SWITCH_ROOT=y
|
||||
CONFIG_UMOUNT=y
|
||||
# CONFIG_FEATURE_UMOUNT_ALL is not set
|
||||
|
||||
#
|
||||
# Common options for mount/umount
|
||||
#
|
||||
CONFIG_FEATURE_MOUNT_LOOP=y
|
||||
# CONFIG_FEATURE_MTAB_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Miscellaneous Utilities
|
||||
#
|
||||
# CONFIG_ADJTIMEX is not set
|
||||
# CONFIG_BBCONFIG is not set
|
||||
# CONFIG_CHRT is not set
|
||||
# CONFIG_CROND is not set
|
||||
# CONFIG_DEBUG_CROND_OPTION is not set
|
||||
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
|
||||
# CONFIG_CRONTAB is not set
|
||||
CONFIG_DC=y
|
||||
# CONFIG_DEVFSD is not set
|
||||
# CONFIG_DEVFSD_MODLOAD is not set
|
||||
# CONFIG_DEVFSD_FG_NP is not set
|
||||
# CONFIG_DEVFSD_VERBOSE is not set
|
||||
# CONFIG_FEATURE_DEVFS is not set
|
||||
# CONFIG_EJECT is not set
|
||||
# CONFIG_LAST is not set
|
||||
CONFIG_LESS=y
|
||||
CONFIG_FEATURE_LESS_MAXLINES=9999999
|
||||
CONFIG_FEATURE_LESS_BRACKETS=y
|
||||
CONFIG_FEATURE_LESS_FLAGS=y
|
||||
# CONFIG_FEATURE_LESS_FLAGCS is not set
|
||||
# CONFIG_FEATURE_LESS_MARKS is not set
|
||||
# CONFIG_FEATURE_LESS_REGEXP 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
|
||||
# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
|
||||
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
|
||||
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
|
||||
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
|
||||
# CONFIG_MAKEDEVS is not set
|
||||
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
|
||||
# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
|
||||
# CONFIG_MOUNTPOINT is not set
|
||||
# CONFIG_MT is not set
|
||||
# CONFIG_RAIDAUTORUN is not set
|
||||
# CONFIG_READAHEAD is not set
|
||||
# CONFIG_RUNLEVEL is not set
|
||||
# CONFIG_RX is not set
|
||||
CONFIG_STRINGS=y
|
||||
# CONFIG_SETSID is not set
|
||||
# CONFIG_TASKSET is not set
|
||||
# CONFIG_FEATURE_TASKSET_FANCY is not set
|
||||
CONFIG_TIME=y
|
||||
# CONFIG_TTYSIZE is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
|
||||
#
|
||||
# Networking Utilities
|
||||
#
|
||||
CONFIG_FEATURE_IPV6=y
|
||||
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
|
||||
# CONFIG_ARP is not set
|
||||
# CONFIG_ARPING is not set
|
||||
# CONFIG_DNSD is not set
|
||||
# CONFIG_ETHER_WAKE is not set
|
||||
# CONFIG_FAKEIDENTD is not set
|
||||
# CONFIG_FTPGET is not set
|
||||
# CONFIG_FTPPUT is not set
|
||||
# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
|
||||
CONFIG_HOSTNAME=y
|
||||
# CONFIG_HTTPD is not set
|
||||
# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
|
||||
# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
|
||||
# CONFIG_FEATURE_HTTPD_SETUID is not set
|
||||
# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
|
||||
# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
|
||||
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
|
||||
# CONFIG_FEATURE_HTTPD_CGI is not set
|
||||
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
|
||||
# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
|
||||
# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
|
||||
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
|
||||
CONFIG_IFCONFIG=y
|
||||
CONFIG_FEATURE_IFCONFIG_STATUS=y
|
||||
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
|
||||
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
|
||||
CONFIG_FEATURE_IFCONFIG_HW=y
|
||||
# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
|
||||
CONFIG_IFUPDOWN=y
|
||||
CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
|
||||
# CONFIG_FEATURE_IFUPDOWN_IP is not set
|
||||
# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
|
||||
CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN=y
|
||||
CONFIG_FEATURE_IFUPDOWN_IPV4=y
|
||||
CONFIG_FEATURE_IFUPDOWN_IPV6=y
|
||||
CONFIG_FEATURE_IFUPDOWN_MAPPING=y
|
||||
# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
|
||||
# CONFIG_INETD is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
|
||||
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
|
||||
# CONFIG_FEATURE_INETD_RPC is not set
|
||||
CONFIG_IP=y
|
||||
CONFIG_FEATURE_IP_ADDRESS=y
|
||||
CONFIG_FEATURE_IP_LINK=y
|
||||
CONFIG_FEATURE_IP_ROUTE=y
|
||||
CONFIG_FEATURE_IP_TUNNEL=y
|
||||
# CONFIG_FEATURE_IP_RULE is not set
|
||||
# CONFIG_FEATURE_IP_SHORT_FORMS is not set
|
||||
# CONFIG_IPADDR is not set
|
||||
# CONFIG_IPLINK is not set
|
||||
# CONFIG_IPROUTE is not set
|
||||
# CONFIG_IPTUNNEL is not set
|
||||
# CONFIG_IPRULE is not set
|
||||
# CONFIG_IPCALC is not set
|
||||
# CONFIG_FEATURE_IPCALC_FANCY is not set
|
||||
# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
|
||||
# CONFIG_NAMEIF is not set
|
||||
CONFIG_NC=y
|
||||
# CONFIG_NC_SERVER is not set
|
||||
# CONFIG_NC_EXTRA is not set
|
||||
CONFIG_NETSTAT=y
|
||||
# CONFIG_FEATURE_NETSTAT_WIDE is not set
|
||||
CONFIG_NSLOOKUP=y
|
||||
CONFIG_PING=y
|
||||
CONFIG_PING6=y
|
||||
# CONFIG_PSCAN is not set
|
||||
CONFIG_FEATURE_FANCY_PING=y
|
||||
CONFIG_ROUTE=y
|
||||
# CONFIG_SLATTACH is not set
|
||||
CONFIG_TELNET=y
|
||||
# CONFIG_FEATURE_TELNET_TTYPE is not set
|
||||
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
|
||||
# CONFIG_TELNETD is not set
|
||||
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
|
||||
CONFIG_TFTP=y
|
||||
CONFIG_FEATURE_TFTP_GET=y
|
||||
CONFIG_FEATURE_TFTP_PUT=y
|
||||
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
|
||||
# CONFIG_DEBUG_TFTP is not set
|
||||
CONFIG_TRACEROUTE=y
|
||||
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
|
||||
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
|
||||
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
|
||||
CONFIG_APP_UDHCPD=y
|
||||
# CONFIG_APP_DHCPRELAY is not set
|
||||
CONFIG_APP_DUMPLEASES=y
|
||||
# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
|
||||
CONFIG_APP_UDHCPC=y
|
||||
# CONFIG_FEATURE_UDHCP_DEBUG is not set
|
||||
# CONFIG_FEATURE_RFC3397 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_ZCIP is not set
|
||||
|
||||
#
|
||||
# Process Utilities
|
||||
#
|
||||
CONFIG_FREE=y
|
||||
CONFIG_FUSER=y
|
||||
CONFIG_KILL=y
|
||||
CONFIG_KILLALL=y
|
||||
# CONFIG_KILLALL5 is not set
|
||||
# CONFIG_NMETER is not set
|
||||
CONFIG_PIDOF=y
|
||||
# CONFIG_FEATURE_PIDOF_SINGLE is not set
|
||||
# CONFIG_FEATURE_PIDOF_OMIT is not set
|
||||
CONFIG_PS=y
|
||||
CONFIG_FEATURE_PS_WIDE=y
|
||||
CONFIG_RENICE=y
|
||||
CONFIG_BB_SYSCTL=y
|
||||
CONFIG_TOP=y
|
||||
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
|
||||
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
|
||||
# CONFIG_FEATURE_TOP_DECIMALS is not set
|
||||
CONFIG_UPTIME=y
|
||||
CONFIG_WATCH=y
|
||||
|
||||
#
|
||||
# Shells
|
||||
#
|
||||
CONFIG_FEATURE_SH_IS_ASH=y
|
||||
# CONFIG_FEATURE_SH_IS_HUSH is not set
|
||||
# CONFIG_FEATURE_SH_IS_LASH 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_JOB_CONTROL=y
|
||||
# CONFIG_ASH_READ_NCHARS is not set
|
||||
# CONFIG_ASH_READ_TIMEOUT is not set
|
||||
CONFIG_ASH_ALIAS=y
|
||||
CONFIG_ASH_MATH_SUPPORT=y
|
||||
# CONFIG_ASH_MATH_SUPPORT_64 is not set
|
||||
CONFIG_ASH_GETOPTS=y
|
||||
# CONFIG_ASH_BUILTIN_ECHO is not set
|
||||
CONFIG_ASH_BUILTIN_TEST=y
|
||||
# CONFIG_ASH_CMDCMD is not set
|
||||
# CONFIG_ASH_MAIL is not set
|
||||
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_ASH_RANDOM_SUPPORT is not set
|
||||
CONFIG_ASH_EXPAND_PRMT=y
|
||||
# CONFIG_HUSH is not set
|
||||
# CONFIG_HUSH_HELP is not set
|
||||
# CONFIG_HUSH_INTERACTIVE is not set
|
||||
# CONFIG_HUSH_JOB is not set
|
||||
# CONFIG_HUSH_TICK is not set
|
||||
# CONFIG_HUSH_IF is not set
|
||||
# CONFIG_HUSH_LOOPS is not set
|
||||
# CONFIG_LASH is not set
|
||||
# CONFIG_MSH is not set
|
||||
|
||||
#
|
||||
# Bourne Shell Options
|
||||
#
|
||||
CONFIG_FEATURE_SH_EXTRA_QUIET=y
|
||||
# CONFIG_FEATURE_SH_STANDALONE is not set
|
||||
# CONFIG_CTTYHACK is not set
|
||||
|
||||
#
|
||||
# System Logging Utilities
|
||||
#
|
||||
CONFIG_SYSLOGD=y
|
||||
CONFIG_FEATURE_ROTATE_LOGFILE=y
|
||||
CONFIG_FEATURE_REMOTE_LOG=y
|
||||
CONFIG_FEATURE_IPC_SYSLOG=y
|
||||
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
|
||||
CONFIG_LOGREAD=y
|
||||
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
|
||||
CONFIG_KLOGD=y
|
||||
CONFIG_LOGGER=y
|
||||
|
||||
#
|
||||
# Runit Utilities
|
||||
#
|
||||
# CONFIG_RUNSV is not set
|
||||
# CONFIG_RUNSVDIR is not set
|
||||
# CONFIG_SV is not set
|
||||
# CONFIG_SVLOGD is not set
|
||||
# CONFIG_CHPST is not set
|
||||
# CONFIG_SETUIDGID is not set
|
||||
# CONFIG_ENVUIDGID is not set
|
||||
# CONFIG_ENVDIR is not set
|
||||
# CONFIG_SOFTLIMIT is not set
|
||||
# CONFIG_CHCON is not set
|
||||
# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
|
||||
# CONFIG_GETENFORCE is not set
|
||||
# CONFIG_GETSEBOOL is not set
|
||||
# CONFIG_LOAD_POLICY is not set
|
||||
# CONFIG_MATCHPATHCON is not set
|
||||
# CONFIG_RESTORECON is not set
|
||||
# CONFIG_RUNCON is not set
|
||||
# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
|
||||
# CONFIG_SELINUXENABLED is not set
|
||||
# CONFIG_SETENFORCE is not set
|
||||
# CONFIG_SETFILES is not set
|
||||
# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
|
||||
|
||||
#
|
||||
# ipsvd utilities
|
||||
#
|
||||
# CONFIG_TCPSVD is not set
|
||||
# CONFIG_UDPSVD is not set
|
|
@ -0,0 +1,174 @@
|
|||
/* vi: set sw=4 ts=4: */
|
||||
/*
|
||||
* Mini run-parts implementation for busybox
|
||||
*
|
||||
* Copyright (C) 2007 Bernhard Fischer
|
||||
*
|
||||
* Based on a older version that was in busybox which was 1k big..
|
||||
* Copyright (C) 2001 by Emanuele Aina <emanuele.aina@tiscali.it>
|
||||
*
|
||||
* Based on the Debian run-parts program, version 1.15
|
||||
* Copyright (C) 1996 Jeff Noxon <jeff@router.patch.net>,
|
||||
* Copyright (C) 1996-1999 Guy Maor <maor@debian.org>
|
||||
*
|
||||
*
|
||||
* Licensed under GPL v2 or later, see file LICENSE in this tarball for details.
|
||||
*/
|
||||
|
||||
/* This is my first attempt to write a program in C (well, this is my first
|
||||
* attempt to write a program! :-) . */
|
||||
|
||||
/* This piece of code is heavily based on the original version of run-parts,
|
||||
* taken from debian-utils. I've only removed the long options and a the
|
||||
* report mode. As the original run-parts support only long options, I've
|
||||
* broken compatibility because the BusyBox policy doesn't allow them.
|
||||
* The supported options are:
|
||||
* -t test. Print the name of the files to be executed, without
|
||||
* execute them.
|
||||
* -a ARG argument. Pass ARG as an argument the program executed. It can
|
||||
* be repeated to pass multiple arguments.
|
||||
* -u MASK umask. Set the umask of the program executed to MASK.
|
||||
*/
|
||||
|
||||
#include <getopt.h>
|
||||
|
||||
#include "libbb.h"
|
||||
|
||||
struct globals {
|
||||
char **names;
|
||||
int cur;
|
||||
char *cmd[1];
|
||||
};
|
||||
#define G (*(struct globals*)&bb_common_bufsiz1)
|
||||
#define names (G.names)
|
||||
#define cur (G.cur )
|
||||
#define cmd (G.cmd )
|
||||
|
||||
enum { NUM_CMD = (COMMON_BUFSIZE - sizeof(struct globals)) / sizeof(cmd[0]) };
|
||||
|
||||
enum {
|
||||
RUN_PARTS_OPT_a = (1 << 0),
|
||||
RUN_PARTS_OPT_u = (1 << 1),
|
||||
RUN_PARTS_OPT_t = (1 << 2),
|
||||
RUN_PARTS_OPT_l = (1 << 3) * ENABLE_FEATURE_RUN_PARTS_FANCY,
|
||||
};
|
||||
|
||||
#if ENABLE_FEATURE_RUN_PARTS_FANCY
|
||||
#define list_mode (option_mask32 & RUN_PARTS_OPT_l)
|
||||
#else
|
||||
#define list_mode 0
|
||||
#endif
|
||||
|
||||
/* Is this a valid filename (upper/lower alpha, digits,
|
||||
* underscores, and hyphens only?)
|
||||
*/
|
||||
static bool invalid_name(const char *c)
|
||||
{
|
||||
c = bb_basename(c);
|
||||
|
||||
while (*c && (isalnum(*c) || *c == '_' || *c == '-'))
|
||||
c++;
|
||||
|
||||
return *c; /* TRUE (!0) if terminating NUL is not reached */
|
||||
}
|
||||
|
||||
static int bb_alphasort(const void *p1, const void *p2)
|
||||
{
|
||||
return strcmp(*(char **) p1, *(char **) p2);
|
||||
}
|
||||
|
||||
static int act(const char *file, struct stat *statbuf, void *args, int depth)
|
||||
{
|
||||
if (depth == 1)
|
||||
return TRUE;
|
||||
|
||||
if (depth == 2
|
||||
&& ( !(statbuf->st_mode & (S_IFREG | S_IFLNK))
|
||||
|| invalid_name(file)
|
||||
|| (!list_mode && access(file, X_OK) != 0))
|
||||
) {
|
||||
return SKIP;
|
||||
}
|
||||
|
||||
names = xrealloc(names, (cur + 2) * sizeof(names[0]));
|
||||
names[cur++] = xstrdup(file);
|
||||
names[cur] = NULL;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if ENABLE_FEATURE_RUN_PARTS_LONG_OPTIONS
|
||||
static const char runparts_longopts[] ALIGN1 =
|
||||
"arg\0" Required_argument "a"
|
||||
"umask\0" Required_argument "u"
|
||||
"test\0" No_argument "t"
|
||||
#if ENABLE_FEATURE_RUN_PARTS_FANCY
|
||||
"list\0" No_argument "l"
|
||||
//TODO: "reverse\0" No_argument "r"
|
||||
//TODO: "verbose\0" No_argument "v"
|
||||
#endif
|
||||
;
|
||||
#endif
|
||||
|
||||
int run_parts_main(int argc, char **argv);
|
||||
int run_parts_main(int argc, char **argv)
|
||||
{
|
||||
const char *umask_p = "22";
|
||||
llist_t *arg_list = NULL;
|
||||
unsigned n;
|
||||
int ret;
|
||||
|
||||
#if ENABLE_FEATURE_RUN_PARTS_LONG_OPTIONS
|
||||
applet_long_options = runparts_longopts;
|
||||
#endif
|
||||
/* We require exactly one argument: the directory name */
|
||||
opt_complementary = "=1:a::";
|
||||
getopt32(argv, "a:u:t"USE_FEATURE_RUN_PARTS_FANCY("l"), &arg_list, &umask_p);
|
||||
|
||||
umask(xstrtou_range(umask_p, 8, 0, 07777));
|
||||
|
||||
n = 1;
|
||||
while (arg_list && n < NUM_CMD) {
|
||||
cmd[n] = arg_list->data;
|
||||
arg_list = arg_list->link;
|
||||
n++;
|
||||
}
|
||||
/* cmd[n] = NULL; - is already zeroed out */
|
||||
|
||||
/* run-parts has to sort executables by name before running them */
|
||||
|
||||
recursive_action(argv[optind],
|
||||
ACTION_RECURSE|ACTION_FOLLOWLINKS,
|
||||
act, /* file action */
|
||||
act, /* dir action */
|
||||
NULL, /* user data */
|
||||
1 /* depth */
|
||||
);
|
||||
|
||||
if (!names)
|
||||
return 0;
|
||||
|
||||
qsort(names, cur, sizeof(char *), bb_alphasort);
|
||||
|
||||
n = 0;
|
||||
while (1) {
|
||||
char *name = *names++;
|
||||
if (!name)
|
||||
break;
|
||||
if (option_mask32 & (RUN_PARTS_OPT_t | RUN_PARTS_OPT_l)) {
|
||||
puts(name);
|
||||
continue;
|
||||
}
|
||||
cmd[0] = name;
|
||||
ret = wait4pid(spawn(cmd));
|
||||
if (ret == 0)
|
||||
continue;
|
||||
n = 1;
|
||||
if (ret < 0)
|
||||
bb_perror_msg("failed to exec %s", name);
|
||||
else /* ret > 0 */
|
||||
bb_error_msg("%s exited with return code %d", name, ret);
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
#
|
||||
# Patch managed by http://www.holgerschurig.de/patcher.html
|
||||
#
|
||||
|
||||
--- busybox-1.00-rc3/examples/udhcp/simple.script~udhcpscript
|
||||
+++ busybox-1.00-rc3/examples/udhcp/simple.script
|
||||
@@ -17,8 +17,7 @@
|
||||
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
|
||||
|
||||
if [ -n "$router" ] ; then
|
||||
- echo "deleting routers"
|
||||
- while route del default gw 0.0.0.0 dev $interface ; do
|
||||
+ while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
|
||||
:
|
||||
done
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
DESCRIPTION = "BusyBox combines tiny versions of many common UNIX utilities into a single \
|
||||
small executable. It provides minimalist replacements for most of the \
|
||||
utilities you usually find in GNU fileutils, shellutils, etc. The utilities \
|
||||
in BusyBox generally have fewer options than their full-featured GNU \
|
||||
cousins; however, the options that are included provide the expected \
|
||||
functionality and behave very much like their GNU counterparts. BusyBox \
|
||||
provides a fairly complete POSIX environment for any small or embedded \
|
||||
system."
|
||||
HOMEPAGE = "http://www.busybox.net"
|
||||
LICENSE = "GPL"
|
||||
SECTION = "base"
|
||||
PRIORITY = "required"
|
||||
|
||||
SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
|
||||
file://busybox-cron \
|
||||
file://busybox-httpd \
|
||||
file://busybox-udhcpd \
|
||||
file://default.script \
|
||||
file://dhcp-hostname.patch;patch=1 \
|
||||
file://hwclock.sh \
|
||||
file://ifupdown-spurious-environ.patch;patch=1 \
|
||||
file://mount.busybox \
|
||||
file://syslog \
|
||||
file://syslog.conf \
|
||||
file://udhcpscript.patch;patch=1 \
|
||||
file://umount.busybox"
|
||||
|
||||
SRC_URI_append_nylon = " file://xargs-double-size.patch;patch=1"
|
||||
|
||||
export EXTRA_CFLAGS = "${CFLAGS}"
|
||||
EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
|
||||
PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
|
||||
|
||||
FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
|
||||
FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
|
||||
|
||||
FILES_${PN} += " ${datadir}/udhcpc"
|
||||
|
||||
INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"
|
||||
INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
|
||||
INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
|
||||
INITSCRIPT_NAME_${PN} = "syslog"
|
||||
CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
|
||||
|
||||
# This disables the syslog startup links in slugos (see slugos-init)
|
||||
INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ."
|
||||
|
||||
inherit cml1 update-rc.d
|
||||
|
||||
do_compile () {
|
||||
unset CFLAGS
|
||||
base_do_compile
|
||||
}
|
||||
|
||||
pkg_postinst_${PN} () {
|
||||
# If we are not making an image we create links for the utilities that doesn't exist
|
||||
# so the update-alternatives script will get the utilities it needs
|
||||
# (update-alternatives have no problem replacing links later anyway)
|
||||
test -n 2> /dev/null || alias test='busybox test'
|
||||
if test "x$D" = "x"; then while read link; do if test ! -h "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln -s $to $link; fi; done </etc/busybox.links; fi
|
||||
|
||||
# This adds the links, remember that this has to work when building an image too, hence the $D
|
||||
while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done <$D/etc/busybox.links
|
||||
}
|
|
@ -0,0 +1,123 @@
|
|||
require busybox.inc
|
||||
|
||||
PR = "r2"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
|
||||
file://busybox-cron \
|
||||
file://busybox-httpd \
|
||||
file://busybox-udhcpd \
|
||||
file://default.script \
|
||||
file://hwclock.sh \
|
||||
file://mount.busybox \
|
||||
file://syslog \
|
||||
file://syslog.conf \
|
||||
file://udhcpscript.patch;patch=1 \
|
||||
file://umount.busybox \
|
||||
file://run_parts.c"
|
||||
|
||||
|
||||
SRC_URI += "http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-ash.patch;patch=1 \
|
||||
http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-iptun.patch;patch=1 \
|
||||
http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-logger.patch;patch=1 \
|
||||
http://busybox.net/downloads/fixes-1.7.2/busybox-1.7.2-tail.patch;patch=1 \
|
||||
file://defconfig"
|
||||
|
||||
EXTRA_OEMAKE_append = " V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX}"
|
||||
|
||||
do_configure () {
|
||||
# default run-parts does not sort entries == X11 session broken
|
||||
install -m 0644 ${WORKDIR}/run_parts.c ${S}/debianutils/
|
||||
|
||||
install -m 0644 ${WORKDIR}/defconfig ${S}/.config
|
||||
cml1_do_configure
|
||||
}
|
||||
|
||||
do_compile () {
|
||||
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
|
||||
base_do_compile
|
||||
}
|
||||
|
||||
do_install () {
|
||||
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
oe_runmake "PREFIX=${D}" install
|
||||
cp -pPR ${S}/_install/* ${D}/
|
||||
|
||||
# Move everything to /busybox (not supposed to end up in any package)
|
||||
install -d ${D}/busybox
|
||||
ls ${D} -R
|
||||
|
||||
cp -dPr ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/
|
||||
# Move the busybox binary back to /bin
|
||||
install -d ${D}${base_bindir}
|
||||
mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/
|
||||
# Move back the sh symlink
|
||||
test -h ${D}/busybox${base_bindir}/sh && mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/
|
||||
|
||||
install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/
|
||||
install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/
|
||||
if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then
|
||||
# Move crond back to /usr/sbin/crond
|
||||
install -d ${D}${sbindir}
|
||||
mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/
|
||||
|
||||
install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
|
||||
fi
|
||||
if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then
|
||||
# Move httpd back to /usr/sbin/httpd
|
||||
install -d ${D}${sbindir}
|
||||
mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/
|
||||
|
||||
install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
|
||||
install -d ${D}/srv/www
|
||||
fi
|
||||
if grep "CONFIG_APP_UDHCPD=y" ${WORKDIR}/defconfig; then
|
||||
# Move udhcpd back to /usr/sbin/udhcpd
|
||||
install -d ${D}${sbindir}
|
||||
mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
|
||||
|
||||
install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
|
||||
fi
|
||||
if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then
|
||||
# Move hwclock back to /sbin/hwclock
|
||||
install -d ${D}${base_sbindir}
|
||||
mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/
|
||||
|
||||
install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
|
||||
fi
|
||||
if grep "CONFIG_APP_UDHCPC=y" ${WORKDIR}/defconfig; then
|
||||
# Move dhcpc back to /usr/sbin/udhcpc
|
||||
install -d ${D}${base_sbindir}
|
||||
mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
|
||||
|
||||
install -d ${D}${sysconfdir}/udhcpc.d
|
||||
install -d ${D}${datadir}/udhcpc
|
||||
install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default
|
||||
install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
|
||||
fi
|
||||
|
||||
install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
|
||||
}
|
||||
|
||||
pkg_prerm_${PN} () {
|
||||
# This is so you can make busybox commit suicide - removing busybox with no other packages
|
||||
# providing its files, this will make update-alternatives work, but the update-rc.d part
|
||||
# for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
|
||||
tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX`
|
||||
ln -s /bin/busybox $tmpdir/[
|
||||
ln -s /bin/busybox $tmpdir/test
|
||||
ln -s /bin/busybox $tmpdir/head
|
||||
ln -s /bin/busybox $tmpdir/sh
|
||||
ln -s /bin/busybox $tmpdir/basename
|
||||
ln -s /bin/busybox $tmpdir/echo
|
||||
ln -s /bin/busybox $tmpdir/mv
|
||||
ln -s /bin/busybox $tmpdir/ln
|
||||
ln -s /bin/busybox $tmpdir/dirname
|
||||
ln -s /bin/busybox $tmpdir/rm
|
||||
ln -s /bin/busybox $tmpdir/sed
|
||||
ln -s /bin/busybox $tmpdir/sort
|
||||
export PATH=$PATH:$tmpdir
|
||||
while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; sh /usr/bin/update-alternatives --remove $bn $to; done </etc/busybox.links
|
||||
}
|
Loading…
Reference in New Issue