mirror of
https://github.com/hak5/wifipineapple-openwrt.git
synced 2025-10-29 16:57:19 +00:00
packages: clean up the package folder
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37007 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
52
package/utils/admswconfig/Makefile
Normal file
52
package/utils/admswconfig/Makefile
Normal file
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (C) 2007 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=admswconfig
|
||||
PKG_VERSION:=0.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://downloads.openwrt.org/sources
|
||||
PKG_MD5SUM:=faafd4618f970119a665b11b21ac6a26
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/admswconfig
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=ADM5120 Switch configuration tool
|
||||
DEPENDS:=@TARGET_adm5120
|
||||
URL:=http://sharon.esrac.ele.tue.nl/users/pe1rxq/linux-adm/admswconfig/
|
||||
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
|
||||
endef
|
||||
|
||||
define Package/admswconfig/description
|
||||
A program to configure the internal ethernet switch of an ADM5120 processor.
|
||||
You need the corresponding driver for the switch in the kernel.
|
||||
With this program you can configure which ports of the switch belong
|
||||
to the different ethernet devices.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(TARGET_CC) $(TARGET_CFLAGS) -Os $(PKG_BUILD_DIR)/admswconfig.c -o $(PKG_BUILD_DIR)/$(PKG_NAME)
|
||||
endef
|
||||
|
||||
define Package/admswconfig/install
|
||||
$(INSTALL_DIR) $(1)/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/admswconfig $(1)/sbin/
|
||||
$(INSTALL_DIR) $(1)/lib/network/
|
||||
$(INSTALL_DATA) ./files/admswswitch.sh $(1)/lib/network/admswswitch.sh
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_BIN) ./files/admswconfig $(1)/etc/init.d/admswconfig
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,admswconfig))
|
||||
68
package/utils/admswconfig/files/admswconfig
Normal file
68
package/utils/admswconfig/files/admswconfig
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
|
||||
START=05
|
||||
|
||||
start() {
|
||||
[ -e /etc/config/network ] && exit 0
|
||||
|
||||
mkdir -p /etc/config
|
||||
|
||||
board_name=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /system type/ {print $2}' /proc/cpuinfo)
|
||||
|
||||
case "$board_name" in
|
||||
"Compex WP54"*)
|
||||
board="Compex WP54";;
|
||||
esac
|
||||
|
||||
echo "$board" |awk '
|
||||
function p(cfgname, name) {
|
||||
if (c[name] != "") print " option " cfgname " \"" c[name] "\""
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
FS="="
|
||||
c["lan_ifname"]="eth0"
|
||||
c["wan_ifname"]="eth1"
|
||||
c["eth0ports"]="1 2 3 4"
|
||||
c["eth1ports"]="0"
|
||||
}
|
||||
END {
|
||||
board=$1
|
||||
if (board == "Compex WP54") {
|
||||
c["eth0ports"]="0"
|
||||
c["eth1ports"]="1"
|
||||
}
|
||||
|
||||
print "#### VLAN configuration "
|
||||
print "config switch"
|
||||
p("eth0", "eth0ports")
|
||||
p("eth1", "eth1ports")
|
||||
print ""
|
||||
print ""
|
||||
print "#### Loopback configuration"
|
||||
print "config interface loopback"
|
||||
print " option ifname \"lo\""
|
||||
print " option proto static"
|
||||
print " option ipaddr 127.0.0.1"
|
||||
print " option netmask 255.0.0.0"
|
||||
print ""
|
||||
print ""
|
||||
print "#### LAN configuration"
|
||||
print "config interface lan"
|
||||
print " option type bridge"
|
||||
p("ifname", "lan_ifname")
|
||||
p("macaddr", "lan_macaddr")
|
||||
print " option proto static"
|
||||
print " option ipaddr 192.168.1.1"
|
||||
print " option netmask 255.255.255.0"
|
||||
print ""
|
||||
print ""
|
||||
print "#### WAN configuration"
|
||||
print "config interface wan"
|
||||
p("ifname", "wan_ifname")
|
||||
p("macaddr", "wan_macaddr")
|
||||
print " option proto dhcp"
|
||||
}' > /etc/config/network
|
||||
}
|
||||
|
||||
28
package/utils/admswconfig/files/admswswitch.sh
Normal file
28
package/utils/admswconfig/files/admswswitch.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
|
||||
setup_switch_vlan() {
|
||||
config_get ports "$CONFIG_SECTION" "eth$1"
|
||||
ports=`echo "$ports"| sed s/" "/""/g`
|
||||
ifconfig eth$1 down
|
||||
admswconfig eth$1 ${ports}c
|
||||
ifconfig eth$1 up
|
||||
}
|
||||
|
||||
setup_switch() {
|
||||
config_cb() {
|
||||
case "$1" in
|
||||
switch)
|
||||
option_cb() {
|
||||
case "$1" in
|
||||
eth*) setup_switch_vlan "${1##eth}";;
|
||||
esac
|
||||
}
|
||||
;;
|
||||
*)
|
||||
option_cb() { return 0; }
|
||||
;;
|
||||
esac
|
||||
}
|
||||
config_load network
|
||||
}
|
||||
15
package/utils/admswconfig/patches/001-matrix.patch
Normal file
15
package/utils/admswconfig/patches/001-matrix.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
--- a/admswconfig.c
|
||||
+++ b/admswconfig.c
|
||||
@@ -111,9 +111,9 @@ int main(int argc, char **argv)
|
||||
}
|
||||
} else {
|
||||
/* display matrix */
|
||||
- printf("ethX\tport0\tport1\tport2\tport3\tport4");
|
||||
- if (info.ports == 6)
|
||||
- printf("\tport5");
|
||||
+ printf("ethX");
|
||||
+ for (i = 0; i < info.ports; i++)
|
||||
+ printf("\tport%d", i);
|
||||
printf("\tCPU\n");
|
||||
for (i = 0; i < info.ports; i++) {
|
||||
printf("%d", i);
|
||||
6
package/utils/busybox/Config.in
Normal file
6
package/utils/busybox/Config.in
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
if PACKAGE_busybox
|
||||
|
||||
source "package/utils/busybox/config/Config.in"
|
||||
|
||||
endif
|
||||
117
package/utils/busybox/Makefile
Normal file
117
package/utils/busybox/Makefile
Normal file
@@ -0,0 +1,117 @@
|
||||
#
|
||||
# Copyright (C) 2006-2013 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=busybox
|
||||
PKG_VERSION:=1.19.4
|
||||
PKG_RELEASE:=6
|
||||
PKG_FLAGS:=essential
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
|
||||
http://distfiles.gentoo.org/distfiles/
|
||||
PKG_MD5SUM:=9c0cae5a0379228e7b55e5b29528df8e
|
||||
|
||||
PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_FEATURE_HAVE_RPC:librpc
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_LICENSE:=GPLv2 BSD-4c
|
||||
PKG_LICENSE_FILES:=LICENSE archival/libarchive/bz/LICENSE
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
ifeq ($(DUMP),)
|
||||
STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell $(SH_FUNC) grep '^CONFIG_BUSYBOX_' $(TOPDIR)/.config | md5s)
|
||||
endif
|
||||
|
||||
ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
|
||||
BB_MAKE_VERBOSE := V=1
|
||||
else
|
||||
BB_MAKE_VERBOSE :=
|
||||
endif
|
||||
|
||||
init-y :=
|
||||
init-$(CONFIG_BUSYBOX_CONFIG_CROND) += cron
|
||||
init-$(CONFIG_BUSYBOX_CONFIG_TELNETD) += telnet
|
||||
|
||||
define Package/busybox
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
MAINTAINER:=Nicolas Thill <nico@openwrt.org>
|
||||
TITLE:=Core utilities for embedded Linux
|
||||
URL:=http://busybox.net/
|
||||
DEPENDS:=+BUSYBOX_CONFIG_FEATURE_HAVE_RPC:librpc
|
||||
MENU:=1
|
||||
endef
|
||||
|
||||
define Package/busybox/description
|
||||
The Swiss Army Knife of embedded Linux.
|
||||
It slices, it dices, it makes Julian Fries.
|
||||
endef
|
||||
|
||||
define Package/busybox/config
|
||||
source "$(SOURCE)/Config.in"
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
rm -f $(PKG_BUILD_DIR)/.configured*
|
||||
grep 'CONFIG_BUSYBOX_' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_BUSYBOX_\\(.*\\),\\1\\2,g" > $(PKG_BUILD_DIR)/.config
|
||||
yes 'n' | $(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
CC="$(TARGET_CC)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
KBUILD_HAVE_NLS=no \
|
||||
ARCH="$(ARCH)" \
|
||||
$(BB_MAKE_VERBOSE) \
|
||||
oldconfig
|
||||
endef
|
||||
|
||||
ifdef CONFIG_GCC_VERSION_LLVM
|
||||
TARGET_CFLAGS += -fnested-functions
|
||||
endif
|
||||
|
||||
LDLIBS:=m crypt
|
||||
ifdef CONFIG_BUSYBOX_CONFIG_FEATURE_HAVE_RPC
|
||||
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
|
||||
export LDFLAGS=$(TARGET_LDFLAGS)
|
||||
LDLIBS += rpc
|
||||
endif
|
||||
|
||||
define Build/Compile
|
||||
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CC="$(TARGET_CC)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
KBUILD_HAVE_NLS=no \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
ARCH="$(ARCH)" \
|
||||
SKIP_STRIP=y \
|
||||
LDLIBS="$(LDLIBS)" \
|
||||
$(BB_MAKE_VERBOSE) \
|
||||
all
|
||||
rm -rf $(PKG_INSTALL_DIR)
|
||||
$(FIND) $(PKG_BUILD_DIR) -lname "*busybox" -exec rm \{\} \;
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
CC="$(TARGET_CC)" \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
ARCH="$(ARCH)" \
|
||||
CONFIG_PREFIX="$(PKG_INSTALL_DIR)" \
|
||||
LDLIBS="$(LDLIBS)" \
|
||||
$(BB_MAKE_VERBOSE) \
|
||||
install
|
||||
endef
|
||||
|
||||
define Package/busybox/install
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(CP) $(PKG_INSTALL_DIR)/* $(1)/
|
||||
for tmp in $(init-y); do \
|
||||
$(INSTALL_BIN) ./files/$$$$tmp $(1)/etc/init.d/$$$$tmp; \
|
||||
done
|
||||
-rm -rf $(1)/lib64
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,busybox))
|
||||
778
package/utils/busybox/config/Config.in
Normal file
778
package/utils/busybox/config/Config.in
Normal file
@@ -0,0 +1,778 @@
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
|
||||
bool
|
||||
default y
|
||||
|
||||
menu "Busybox Settings"
|
||||
|
||||
menu "General Configuration"
|
||||
|
||||
config BUSYBOX_CONFIG_DESKTOP
|
||||
bool "Enable options for full-blown desktop systems"
|
||||
default n
|
||||
help
|
||||
Enable options and features which are not essential.
|
||||
Select this only if you plan to use busybox on full-blown
|
||||
desktop machine with common Linux distro, not on an embedded box.
|
||||
|
||||
config BUSYBOX_CONFIG_EXTRA_COMPAT
|
||||
bool "Provide compatible behavior for rare corner cases (bigger code)"
|
||||
default n
|
||||
help
|
||||
This option makes grep, sed etc handle rare corner cases
|
||||
(embedded NUL bytes and such). This makes code bigger and uses
|
||||
some GNU extensions in libc. You probably only need this option
|
||||
if you plan to run busybox on desktop.
|
||||
|
||||
config BUSYBOX_CONFIG_INCLUDE_SUSv2
|
||||
bool "Enable obsolete features removed before SUSv3"
|
||||
default y
|
||||
help
|
||||
This option will enable backwards compatibility with SuSv2,
|
||||
specifically, old-style numeric options ('command -1 <file>')
|
||||
will be supported in head, tail, and fold. (Note: should
|
||||
affect renice too.)
|
||||
|
||||
config BUSYBOX_CONFIG_USE_PORTABLE_CODE
|
||||
bool "Avoid using GCC-specific code constructs"
|
||||
default n
|
||||
help
|
||||
Use this option if you are trying to compile busybox with
|
||||
compiler other than gcc.
|
||||
If you do use gcc, this option may needlessly increase code size.
|
||||
|
||||
config BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
bool "Enable Linux-specific applets and features"
|
||||
default y
|
||||
help
|
||||
For the most part, busybox requires only POSIX compatibility
|
||||
from the target system, but some applets and features use
|
||||
Linux-specific interfaces.
|
||||
|
||||
Answering 'N' here will disable such applets and hide the
|
||||
corresponding configuration options.
|
||||
|
||||
choice
|
||||
prompt "Buffer allocation policy"
|
||||
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
help
|
||||
There are 3 ways BusyBox can handle buffer allocations:
|
||||
- Use malloc. This costs code size for the call to xmalloc.
|
||||
- Put them on stack. For some very small machines with limited stack
|
||||
space, this can be deadly. For most folks, this works just fine.
|
||||
- Put them in BSS. This works beautifully for computers with a real
|
||||
MMU (and OS support), but wastes runtime RAM for uCLinux. This
|
||||
behavior was the only one available for BusyBox versions 0.48 and
|
||||
earlier.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
|
||||
bool "Allocate with Malloc"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
||||
bool "Allocate on the Stack"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
|
||||
bool "Allocate in the .bss section"
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_SHOW_USAGE
|
||||
bool "Show terse applet usage messages"
|
||||
default y
|
||||
help
|
||||
All BusyBox applets will show help messages when invoked with
|
||||
wrong arguments. You can turn off printing these terse usage
|
||||
messages if you say no here.
|
||||
This will save you up to 7k.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
|
||||
bool "Show verbose applet usage messages"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SHOW_USAGE
|
||||
help
|
||||
All BusyBox applets will show more verbose help messages when
|
||||
busybox is invoked with --help. This will add a lot of text to the
|
||||
busybox binary. In the default configuration, this will add about
|
||||
13k, but it can add much more depending on your configuration.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
|
||||
bool "Store applet usage messages in compressed form"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SHOW_USAGE
|
||||
help
|
||||
Store usage messages in compressed form, uncompress them on-the-fly
|
||||
when <applet> --help is called.
|
||||
|
||||
If you have a really tiny busybox with few applets enabled (and
|
||||
bunzip2 isn't one of them), the overhead of the decompressor might
|
||||
be noticeable. Also, if you run executables directly from ROM
|
||||
and have very little memory, this might not be a win. Otherwise,
|
||||
you probably want this.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSTALLER
|
||||
bool "Support --install [-s] to install applet links at runtime"
|
||||
default n
|
||||
help
|
||||
Enable 'busybox --install [-s]' support. This will allow you to use
|
||||
busybox at runtime to create hard links or symlinks for all the
|
||||
applets that are compiled into busybox.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_NO_USR
|
||||
bool "Don't use /usr"
|
||||
default n
|
||||
help
|
||||
Disable use of /usr. busybox --install and "make install"
|
||||
will install applets only to /bin and /sbin,
|
||||
never to /usr/bin or /usr/sbin.
|
||||
|
||||
config BUSYBOX_CONFIG_LOCALE_SUPPORT
|
||||
bool "Enable locale support (system needs locale for this to work)"
|
||||
default n
|
||||
help
|
||||
Enable this if your system has locale support and you would like
|
||||
busybox to support locale settings.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
bool "Support Unicode"
|
||||
default n
|
||||
help
|
||||
This makes various applets aware that one byte is not
|
||||
one character on screen.
|
||||
|
||||
Busybox aims to eventually work correctly with Unicode displays.
|
||||
Any older encodings are not guaranteed to work.
|
||||
Probably by the time when busybox will be fully Unicode-clean,
|
||||
other encodings will be mainly of historic interest.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
bool "Use libc routines for Unicode (else uses internal ones)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
|
||||
help
|
||||
With this option on, Unicode support is implemented using libc
|
||||
routines. Otherwise, internal implementation is used.
|
||||
Internal implementation is smaller.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
|
||||
bool "Check $LANG environment variable"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
help
|
||||
With this option on, Unicode support is activated
|
||||
only if LANG variable has the value of the form "xxxx.utf8"
|
||||
|
||||
Otherwise, Unicode support will be always enabled and active.
|
||||
|
||||
config BUSYBOX_CONFIG_SUBST_WCHAR
|
||||
int "Character code to substitute unprintable characters with"
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
default 63
|
||||
help
|
||||
Typical values are 63 for '?' (works with any output device),
|
||||
30 for ASCII substitute control code,
|
||||
65533 (0xfffd) for Unicode replacement character.
|
||||
|
||||
config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
|
||||
int "Range of supported Unicode characters"
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
default 767
|
||||
help
|
||||
Any character with Unicode value bigger than this is assumed
|
||||
to be non-printable on output device. Many applets replace
|
||||
such chars with substitution character.
|
||||
|
||||
The idea is that many valid printable Unicode chars are
|
||||
nevertheless are not displayed correctly. Think about
|
||||
combining charachers, double-wide hieroglyphs, obscure
|
||||
characters in dozens of ancient scripts...
|
||||
Many terminals, terminal emulators, xterms etc will fail
|
||||
to handle them correctly. Choose the smallest value
|
||||
which suits your needs.
|
||||
|
||||
Typical values are:
|
||||
126 - ASCII only
|
||||
767 (0x2ff) - there are no combining chars in [0..767] range
|
||||
(the range includes Latin 1, Latin Ext. A and B),
|
||||
code is ~700 bytes smaller for this case.
|
||||
4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
|
||||
code is ~300 bytes smaller for this case.
|
||||
12799 (0x31ff) - nearly all non-ideographic characters are
|
||||
available in [0..12799] range, including
|
||||
East Asian scripts like katakana, hiragana, hangul,
|
||||
bopomofo...
|
||||
0 - off, any valid printable Unicode character will be printed.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
|
||||
bool "Allow zero-width Unicode characters on output"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
With this option off, any Unicode char with width of 0
|
||||
is substituted on output.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
|
||||
bool "Allow wide Unicode characters on output"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
With this option off, any Unicode char with width > 1
|
||||
is substituted on output.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
|
||||
bool "Bidirectional character-aware line input"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
|
||||
help
|
||||
With this option on, right-to-left Unicode characters
|
||||
are treated differently on input (e.g. cursor movement).
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
|
||||
bool "In bidi input, support non-ASCII neutral chars too"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
|
||||
help
|
||||
In most cases it's enough to treat only ASCII non-letters
|
||||
(i.e. punctuation, numbers and space) as characters
|
||||
with neutral directionality.
|
||||
With this option on, more extensive (and bigger) table
|
||||
of neutral chars will be used.
|
||||
|
||||
config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
|
||||
bool "Make it possible to enter sequences of chars which are not Unicode"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
|
||||
help
|
||||
With this option on, on line-editing input (such as used by shells)
|
||||
invalid UTF-8 bytes are not substituted with the selected
|
||||
substitution character.
|
||||
For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
|
||||
at shell prompt will list file named 0xff (single char name
|
||||
with char value 255), not file named '?'.
|
||||
|
||||
config BUSYBOX_CONFIG_LONG_OPTS
|
||||
bool "Support for --long-options"
|
||||
default y
|
||||
help
|
||||
Enable this if you want busybox applets to use the gnu --long-option
|
||||
style, in addition to single character -a -b -c style options.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DEVPTS
|
||||
bool "Use the devpts filesystem for Unix98 PTYs"
|
||||
default y
|
||||
help
|
||||
Enable if you want BusyBox to use Unix98 PTY support. If enabled,
|
||||
busybox will use /dev/ptmx for the master side of the pseudoterminal
|
||||
and /dev/pts/<number> for the slave side. Otherwise, BSD style
|
||||
/dev/ttyp<number> will be used. To use this option, you should have
|
||||
devpts mounted.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
|
||||
bool "Clean up all memory before exiting (usually not needed)"
|
||||
default n
|
||||
help
|
||||
As a size optimization, busybox normally exits without explicitly
|
||||
freeing dynamically allocated memory or closing files. This saves
|
||||
space since the OS will clean up for us, but it can confuse debuggers
|
||||
like valgrind, which report tons of memory and resource leaks.
|
||||
|
||||
Don't enable this unless you have a really good reason to clean
|
||||
things up manually.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UTMP
|
||||
bool "Support utmp file"
|
||||
default n
|
||||
help
|
||||
The file /var/run/utmp is used to track who is currently logged in.
|
||||
With this option on, certain applets (getty, login, telnetd etc)
|
||||
will create and delete entries there.
|
||||
"who" applet requires this option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WTMP
|
||||
bool "Support wtmp file"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_UTMP
|
||||
help
|
||||
The file /var/run/wtmp is used to track when users have logged into
|
||||
and logged out of the system.
|
||||
With this option on, certain applets (getty, login, telnetd etc)
|
||||
will append new entries there.
|
||||
"last" applet requires this option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PIDFILE
|
||||
bool "Support writing pidfiles"
|
||||
default y
|
||||
help
|
||||
This option makes some applets (e.g. crond, syslogd, inetd) write
|
||||
a pidfile in /var/run. Some applications rely on them.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SUID
|
||||
bool "Support for SUID/SGID handling"
|
||||
default y
|
||||
help
|
||||
With this option you can install the busybox binary belonging
|
||||
to root with the suid bit set, enabling some applets to perform
|
||||
root-level operations even when run by ordinary users
|
||||
(for example, mounting of user mounts in fstab needs this).
|
||||
|
||||
Busybox will automatically drop priviledges for applets
|
||||
that don't need root access.
|
||||
|
||||
If you are really paranoid and don't want to do this, build two
|
||||
busybox binaries with different applets in them (and the appropriate
|
||||
symlinks pointing to each binary), and only set the suid bit on the
|
||||
one that needs it.
|
||||
|
||||
The applets which require root rights (need suid bit or
|
||||
to be run by root) and will refuse to execute otherwise:
|
||||
crontab, login, passwd, su, vlock, wall.
|
||||
|
||||
The applets which will use root rights if they have them
|
||||
(via suid bit, or because run by root), but would try to work
|
||||
without root right nevertheless:
|
||||
findfs, ping[6], traceroute[6], mount.
|
||||
|
||||
Note that if you DONT select this option, but DO make busybox
|
||||
suid root, ALL applets will run under root, which is a huge
|
||||
security hole (think "cp /some/file /etc/passwd").
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
|
||||
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_SUID
|
||||
help
|
||||
Allow the SUID / SGID state of an applet to be determined at runtime
|
||||
by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
|
||||
The format of this file is as follows:
|
||||
|
||||
APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
|
||||
|
||||
s: USER or GROUP is allowed to execute APPLET.
|
||||
APPLET will run under USER or GROUP
|
||||
(reagardless of who's running it).
|
||||
S: USER or GROUP is NOT allowed to execute APPLET.
|
||||
APPLET will run under USER or GROUP.
|
||||
This option is not very sensical.
|
||||
x: USER/GROUP/others are allowed to execute APPLET.
|
||||
No UID/GID change will be done when it is run.
|
||||
-: USER/GROUP/others are not allowed to execute APPLET.
|
||||
|
||||
An example might help:
|
||||
|
||||
[SUID]
|
||||
su = ssx root.0 # applet su can be run by anyone and runs with
|
||||
# euid=0/egid=0
|
||||
su = ssx # exactly the same
|
||||
|
||||
mount = sx- root.disk # applet mount can be run by root and members
|
||||
# of group disk (but not anyone else)
|
||||
# and runs with euid=0 (egid is not changed)
|
||||
|
||||
cp = --- # disable applet cp for everyone
|
||||
|
||||
The file has to be owned by user root, group root and has to be
|
||||
writeable only by root:
|
||||
(chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
|
||||
The busybox executable has to be owned by user root, group
|
||||
root and has to be setuid root for this to work:
|
||||
(chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
|
||||
|
||||
Robert 'sandman' Griebl has more information here:
|
||||
<url: http://www.softforge.de/bb/suid.html >.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
|
||||
bool "Suppress warning message if /etc/busybox.conf is not readable"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
|
||||
help
|
||||
/etc/busybox.conf should be readable by the user needing the SUID,
|
||||
check this option to avoid users to be notified about missing
|
||||
permissions.
|
||||
|
||||
config BUSYBOX_CONFIG_SELINUX
|
||||
bool "Support NSA Security Enhanced Linux"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Enable support for SELinux in applets ls, ps, and id. Also provide
|
||||
the option of compiling in SELinux applets.
|
||||
|
||||
If you do not have a complete SELinux userland installed, this stuff
|
||||
will not compile. Go visit
|
||||
http://www.nsa.gov/selinux/index.html
|
||||
to download the necessary stuff to allow busybox to compile with
|
||||
this option enabled. Specifially, libselinux 1.28 or better is
|
||||
directly required by busybox. If the installation is located in a
|
||||
non-standard directory, provide it by invoking make as follows:
|
||||
CFLAGS=-I<libselinux-include-path> \
|
||||
LDFLAGS=-L<libselinux-lib-path> \
|
||||
make
|
||||
|
||||
Most people will leave this set to 'N'.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
|
||||
bool "exec prefers applets"
|
||||
default y
|
||||
help
|
||||
This is an experimental option which directs applets about to
|
||||
call 'exec' to try and find an applicable busybox applet before
|
||||
searching the PATH. This is typically done by exec'ing
|
||||
/proc/self/exe.
|
||||
This may affect shell, find -exec, xargs and similar applets.
|
||||
They will use applets even if /bin/<applet> -> busybox link
|
||||
is missing (or is not a link to busybox). However, this causes
|
||||
problems in chroot jails without mounted /proc and with ps/top
|
||||
(command name can be shown as 'exe' for applets started this way).
|
||||
|
||||
config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
|
||||
string "Path to BusyBox executable"
|
||||
default "/proc/self/exe"
|
||||
help
|
||||
When Busybox applets need to run other busybox applets, BusyBox
|
||||
sometimes needs to exec() itself. When the /proc filesystem is
|
||||
mounted, /proc/self/exe always points to the currently running
|
||||
executable. If you haven't got /proc, set this to wherever you
|
||||
want to run BusyBox from.
|
||||
|
||||
# These are auto-selected by other options
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
bool #No description makes it a hidden option
|
||||
default y
|
||||
#help
|
||||
# This option is auto-selected when you select any applet which may
|
||||
# send its output to syslog. You do not need to select it manually.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HAVE_RPC
|
||||
bool #No description makes it a hidden option
|
||||
default n
|
||||
#help
|
||||
# This is automatically selected if any of enabled applets need it.
|
||||
# You do not need to select it manually.
|
||||
|
||||
endmenu
|
||||
|
||||
menu 'Build Options'
|
||||
|
||||
config BUSYBOX_CONFIG_STATIC
|
||||
bool "Build BusyBox as a static binary (no shared libs)"
|
||||
default n
|
||||
help
|
||||
If you want to build a static BusyBox binary, which does not
|
||||
use or require any shared libraries, then enable this option.
|
||||
This can cause BusyBox to be considerably larger, so you should
|
||||
leave this option false unless you have a good reason (i.e.
|
||||
your target platform does not support shared libraries, or
|
||||
you are building an initrd which doesn't need anything but
|
||||
BusyBox, etc).
|
||||
|
||||
Most people will leave this set to 'N'.
|
||||
|
||||
config BUSYBOX_CONFIG_PIE
|
||||
bool "Build BusyBox as a position independent executable"
|
||||
default n
|
||||
depends on !BUSYBOX_CONFIG_STATIC
|
||||
help
|
||||
Hardened code option. PIE binaries are loaded at a different
|
||||
address at each invocation. This has some overhead,
|
||||
particularly on x86-32 which is short on registers.
|
||||
|
||||
Most people will leave this set to 'N'.
|
||||
|
||||
config BUSYBOX_CONFIG_NOMMU
|
||||
bool "Force NOMMU build"
|
||||
default n
|
||||
help
|
||||
Busybox tries to detect whether architecture it is being
|
||||
built against supports MMU or not. If this detection fails,
|
||||
or if you want to build NOMMU version of busybox for testing,
|
||||
you may force NOMMU build here.
|
||||
|
||||
Most people will leave this set to 'N'.
|
||||
|
||||
# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
|
||||
# build system does not support that
|
||||
config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
|
||||
bool "Build shared libbusybox"
|
||||
default n
|
||||
depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS && !BUSYBOX_CONFIG_PIE && !BUSYBOX_CONFIG_STATIC
|
||||
help
|
||||
Build a shared library libbusybox.so.N.N.N which contains all
|
||||
busybox code.
|
||||
|
||||
This feature allows every applet to be built as a tiny
|
||||
separate executable. Enabling it for "one big busybox binary"
|
||||
approach serves no purpose and increases code size.
|
||||
You should almost certainly say "no" to this.
|
||||
|
||||
### config FEATURE_FULL_LIBBUSYBOX
|
||||
### bool "Feature-complete libbusybox"
|
||||
### default n if !FEATURE_SHARED_BUSYBOX
|
||||
### depends on BUILD_LIBBUSYBOX
|
||||
### help
|
||||
### Build a libbusybox with the complete feature-set, disregarding
|
||||
### the actually selected config.
|
||||
###
|
||||
### Normally, libbusybox will only contain the features which are
|
||||
### used by busybox itself. If you plan to write a separate
|
||||
### standalone application which uses libbusybox say 'Y'.
|
||||
###
|
||||
### Note: libbusybox is GPL, not LGPL, and exports no stable API that
|
||||
### might act as a copyright barrier. We can and will modify the
|
||||
### exported function set between releases (even minor version number
|
||||
### changes), and happily break out-of-tree features.
|
||||
###
|
||||
### Say 'N' if in doubt.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
|
||||
bool "Produce a binary for each applet, linked against libbusybox"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
|
||||
help
|
||||
If your CPU architecture doesn't allow for sharing text/rodata
|
||||
sections of running binaries, but allows for runtime dynamic
|
||||
libraries, this option will allow you to reduce memory footprint
|
||||
when you have many different applets running at once.
|
||||
|
||||
If your CPU architecture allows for sharing text/rodata,
|
||||
having single binary is more optimal.
|
||||
|
||||
Each applet will be a tiny program, dynamically linked
|
||||
against libbusybox.so.N.N.N.
|
||||
|
||||
You need to have a working dynamic linker.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
|
||||
bool "Produce additional busybox binary linked against libbusybox"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
|
||||
help
|
||||
Build busybox, dynamically linked against libbusybox.so.N.N.N.
|
||||
|
||||
You need to have a working dynamic linker.
|
||||
|
||||
### config BUILD_AT_ONCE
|
||||
### bool "Compile all sources at once"
|
||||
### default n
|
||||
### help
|
||||
### Normally each source-file is compiled with one invocation of
|
||||
### the compiler.
|
||||
### If you set this option, all sources are compiled at once.
|
||||
### This gives the compiler more opportunities to optimize which can
|
||||
### result in smaller and/or faster binaries.
|
||||
###
|
||||
### Setting this option will consume alot of memory, e.g. if you
|
||||
### enable all applets with all features, gcc uses more than 300MB
|
||||
### RAM during compilation of busybox.
|
||||
###
|
||||
### This option is most likely only beneficial for newer compilers
|
||||
### such as gcc-4.1 and above.
|
||||
###
|
||||
### Say 'N' unless you know what you are doing.
|
||||
|
||||
config BUSYBOX_CONFIG_LFS
|
||||
bool
|
||||
default y
|
||||
help
|
||||
If you want to build BusyBox with large file support, then enable
|
||||
this option. This will have no effect if your kernel or your C
|
||||
library lacks large file support for large files. Some of the
|
||||
programs that can benefit from large file support include dd, gzip,
|
||||
cp, mount, tar, and many others. If you want to access files larger
|
||||
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
|
||||
|
||||
config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
|
||||
string "Cross Compiler prefix"
|
||||
default ""
|
||||
help
|
||||
If you want to build BusyBox with a cross compiler, then you
|
||||
will need to set this to the cross-compiler prefix, for example,
|
||||
"i386-uclibc-".
|
||||
|
||||
Note that CROSS_COMPILE environment variable or
|
||||
"make CROSS_COMPILE=xxx ..." will override this selection.
|
||||
|
||||
Native builds leave this empty.
|
||||
|
||||
config BUSYBOX_CONFIG_EXTRA_CFLAGS
|
||||
string "Additional CFLAGS"
|
||||
default ""
|
||||
help
|
||||
Additional CFLAGS to pass to the compiler verbatim.
|
||||
|
||||
endmenu
|
||||
|
||||
menu 'Debugging Options'
|
||||
|
||||
config BUSYBOX_CONFIG_DEBUG
|
||||
bool "Build BusyBox with extra Debugging symbols"
|
||||
default n
|
||||
help
|
||||
Say Y here if you wish to examine BusyBox internals while applets are
|
||||
running. This increases the size of the binary considerably, and
|
||||
should only be used when doing development. If you are doing
|
||||
development and want to debug BusyBox, answer Y.
|
||||
|
||||
Most people should answer N.
|
||||
|
||||
config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
|
||||
bool "Disable compiler optimizations"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DEBUG
|
||||
help
|
||||
The compiler's optimization of source code can eliminate and reorder
|
||||
code, resulting in an executable that's hard to understand when
|
||||
stepping through it with a debugger. This switches it off, resulting
|
||||
in a much bigger executable that more closely matches the source
|
||||
code.
|
||||
|
||||
config BUSYBOX_CONFIG_WERROR
|
||||
bool "Abort compilation on any warning"
|
||||
default n
|
||||
help
|
||||
Selecting this will add -Werror to gcc command line.
|
||||
|
||||
Most people should answer N.
|
||||
|
||||
choice
|
||||
prompt "Additional debugging library"
|
||||
default BUSYBOX_CONFIG_NO_DEBUG_LIB
|
||||
help
|
||||
Using an additional debugging library will make BusyBox become
|
||||
considerable larger and will cause it to run more slowly. You
|
||||
should always leave this option disabled for production use.
|
||||
|
||||
dmalloc support:
|
||||
----------------
|
||||
This enables compiling with dmalloc ( http://dmalloc.com/ )
|
||||
which is an excellent public domain mem leak and malloc problem
|
||||
detector. To enable dmalloc, before running busybox you will
|
||||
want to properly set your environment, for example:
|
||||
export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
|
||||
The 'debug=' value is generated using the following command
|
||||
dmalloc -p log-stats -p log-non-free -p log-bad-space \
|
||||
-p log-elapsed-time -p check-fence -p check-heap \
|
||||
-p check-lists -p check-blank -p check-funcs -p realloc-copy \
|
||||
-p allow-free-null
|
||||
|
||||
Electric-fence support:
|
||||
-----------------------
|
||||
This enables compiling with Electric-fence support. Electric
|
||||
fence is another very useful malloc debugging library which uses
|
||||
your computer's virtual memory hardware to detect illegal memory
|
||||
accesses. This support will make BusyBox be considerable larger
|
||||
and run slower, so you should leave this option disabled unless
|
||||
you are hunting a hard to find memory problem.
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_NO_DEBUG_LIB
|
||||
bool "None"
|
||||
|
||||
config BUSYBOX_CONFIG_DMALLOC
|
||||
bool "Dmalloc"
|
||||
|
||||
config BUSYBOX_CONFIG_EFENCE
|
||||
bool "Electric-fence"
|
||||
|
||||
endchoice
|
||||
|
||||
endmenu
|
||||
|
||||
menu 'Installation Options ("make install" behavior)'
|
||||
|
||||
choice
|
||||
prompt "What kind of applet links to install"
|
||||
default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
|
||||
help
|
||||
Choose what kind of links to applets are created by "make install".
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
|
||||
bool "as soft-links"
|
||||
help
|
||||
Install applets as soft-links to the busybox binary. This needs some
|
||||
free inodes on the filesystem, but might help with filesystem
|
||||
generators that can't cope with hard-links.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
|
||||
bool "as hard-links"
|
||||
help
|
||||
Install applets as hard-links to the busybox binary. This might
|
||||
count on a filesystem with few inodes.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
|
||||
bool "as script wrappers"
|
||||
help
|
||||
Install applets as script wrappers that call the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
|
||||
bool "not installed"
|
||||
help
|
||||
Do not install applet links. Useful when you plan to use
|
||||
busybox --install for installing links, or plan to use
|
||||
a standalone shell and thus don't need applet links.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "/bin/sh applet link"
|
||||
default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
|
||||
depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
|
||||
help
|
||||
Choose how you install /bin/sh applet link.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
|
||||
bool "as soft-link"
|
||||
help
|
||||
Install /bin/sh applet as soft-link to the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
|
||||
bool "as hard-link"
|
||||
help
|
||||
Install /bin/sh applet as hard-link to the busybox binary.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
|
||||
bool "as script wrapper"
|
||||
help
|
||||
Install /bin/sh applet as script wrapper that calls
|
||||
the busybox binary.
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_PREFIX
|
||||
string "BusyBox installation prefix"
|
||||
default "./_install"
|
||||
help
|
||||
Define your directory to install BusyBox files/subdirs in.
|
||||
|
||||
endmenu
|
||||
|
||||
source package/utils/busybox/config/libbb/Config.in
|
||||
|
||||
endmenu
|
||||
|
||||
comment "Applets"
|
||||
|
||||
source package/utils/busybox/config/archival/Config.in
|
||||
source package/utils/busybox/config/coreutils/Config.in
|
||||
source package/utils/busybox/config/console-tools/Config.in
|
||||
source package/utils/busybox/config/debianutils/Config.in
|
||||
source package/utils/busybox/config/editors/Config.in
|
||||
source package/utils/busybox/config/findutils/Config.in
|
||||
source package/utils/busybox/config/init/Config.in
|
||||
source package/utils/busybox/config/loginutils/Config.in
|
||||
source package/utils/busybox/config/e2fsprogs/Config.in
|
||||
source package/utils/busybox/config/modutils/Config.in
|
||||
source package/utils/busybox/config/util-linux/Config.in
|
||||
source package/utils/busybox/config/miscutils/Config.in
|
||||
source package/utils/busybox/config/networking/Config.in
|
||||
source package/utils/busybox/config/printutils/Config.in
|
||||
source package/utils/busybox/config/mailutils/Config.in
|
||||
source package/utils/busybox/config/procps/Config.in
|
||||
source package/utils/busybox/config/runit/Config.in
|
||||
source package/utils/busybox/config/selinux/Config.in
|
||||
source package/utils/busybox/config/shell/Config.in
|
||||
source package/utils/busybox/config/sysklogd/Config.in
|
||||
380
package/utils/busybox/config/archival/Config.in
Normal file
380
package/utils/busybox/config/archival/Config.in
Normal file
@@ -0,0 +1,380 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Archival Utilities"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ
|
||||
bool "Make tar, rpm, modprobe etc understand .xz data"
|
||||
default n
|
||||
help
|
||||
Make tar, rpm, modprobe etc understand .xz data.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
|
||||
bool "Make tar, rpm, modprobe etc understand .lzma data"
|
||||
default n
|
||||
help
|
||||
Make tar, rpm, modprobe etc understand .lzma data.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2
|
||||
bool "Make tar, rpm, modprobe etc understand .bz2 data"
|
||||
default n
|
||||
help
|
||||
Make tar, rpm, modprobe etc understand .bz2 data.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
|
||||
bool "Make tar, rpm, modprobe etc understand .gz data"
|
||||
default y
|
||||
help
|
||||
Make tar, rpm, modprobe etc understand .gz data.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
|
||||
bool "Make tar and gunzip understand .Z data"
|
||||
default n
|
||||
help
|
||||
Make tar and gunzip understand .Z data.
|
||||
|
||||
config BUSYBOX_CONFIG_AR
|
||||
bool "ar"
|
||||
default n # needs to be improved to be able to replace binutils ar
|
||||
help
|
||||
ar is an archival utility program used to create, modify, and
|
||||
extract contents from archives. An archive is a single file holding
|
||||
a collection of other files in a structure that makes it possible to
|
||||
retrieve the original individual files (called archive members).
|
||||
The original files' contents, mode (permissions), timestamp, owner,
|
||||
and group are preserved in the archive, and can be restored on
|
||||
extraction.
|
||||
|
||||
The stored filename is limited to 15 characters. (for more information
|
||||
see long filename support).
|
||||
ar has 60 bytes of overheads for every stored file.
|
||||
|
||||
This implementation of ar can extract archives, it cannot create or
|
||||
modify them.
|
||||
On an x86 system, the ar applet adds about 1K.
|
||||
|
||||
Unless you have a specific application which requires ar, you should
|
||||
probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
|
||||
bool "Support for long filenames (not needed for debs)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_AR
|
||||
help
|
||||
By default the ar format can only store the first 15 characters
|
||||
of the filename, this option removes that limitation.
|
||||
It supports the GNU ar long filename method which moves multiple long
|
||||
filenames into a the data section of a new ar entry.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_AR_CREATE
|
||||
bool "Support archive creation"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_AR
|
||||
help
|
||||
This enables archive creation (-c and -r) with busybox ar.
|
||||
|
||||
config BUSYBOX_CONFIG_BUNZIP2
|
||||
bool "bunzip2"
|
||||
default y
|
||||
help
|
||||
bunzip2 is a compression utility using the Burrows-Wheeler block
|
||||
sorting text compression algorithm, and Huffman coding. Compression
|
||||
is generally considerably better than that achieved by more
|
||||
conventional LZ77/LZ78-based compressors, and approaches the
|
||||
performance of the PPM family of statistical compressors.
|
||||
|
||||
Unless you have a specific application which requires bunzip2, you
|
||||
should probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_BZIP2
|
||||
bool "bzip2"
|
||||
default n
|
||||
help
|
||||
bzip2 is a compression utility using the Burrows-Wheeler block
|
||||
sorting text compression algorithm, and Huffman coding. Compression
|
||||
is generally considerably better than that achieved by more
|
||||
conventional LZ77/LZ78-based compressors, and approaches the
|
||||
performance of the PPM family of statistical compressors.
|
||||
|
||||
Unless you have a specific application which requires bzip2, you
|
||||
should probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_CPIO
|
||||
bool "cpio"
|
||||
default n
|
||||
help
|
||||
cpio is an archival utility program used to create, modify, and
|
||||
extract contents from archives.
|
||||
cpio has 110 bytes of overheads for every stored file.
|
||||
|
||||
This implementation of cpio can extract cpio archives created in the
|
||||
"newc" or "crc" format, it cannot create or modify them.
|
||||
|
||||
Unless you have a specific application which requires cpio, you
|
||||
should probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CPIO_O
|
||||
bool "Support for archive creation"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CPIO
|
||||
help
|
||||
This implementation of cpio can create cpio archives in the "newc"
|
||||
format only.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CPIO_P
|
||||
bool "Support for passthrough mode"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_CPIO_O
|
||||
help
|
||||
Passthrough mode. Rarely used.
|
||||
|
||||
config BUSYBOX_CONFIG_DPKG
|
||||
bool "dpkg"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
|
||||
help
|
||||
dpkg is a medium-level tool to install, build, remove and manage
|
||||
Debian packages.
|
||||
|
||||
This implementation of dpkg has a number of limitations,
|
||||
you should use the official dpkg if possible.
|
||||
|
||||
config BUSYBOX_CONFIG_DPKG_DEB
|
||||
bool "dpkg_deb"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
|
||||
help
|
||||
dpkg-deb unpacks and provides information about Debian archives.
|
||||
|
||||
This implementation of dpkg-deb cannot pack archives.
|
||||
|
||||
Unless you have a specific application which requires dpkg-deb,
|
||||
say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
|
||||
bool "Extract only (-x)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DPKG_DEB
|
||||
help
|
||||
This reduces dpkg-deb to the equivalent of
|
||||
"ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
|
||||
of the extra dpkg-deb, ar or tar options are needed, they are linked
|
||||
to internally.
|
||||
|
||||
config BUSYBOX_CONFIG_GUNZIP
|
||||
bool "gunzip"
|
||||
default y
|
||||
help
|
||||
gunzip is used to decompress archives created by gzip.
|
||||
You can use the `-t' option to test the integrity of
|
||||
an archive, without decompressing it.
|
||||
|
||||
config BUSYBOX_CONFIG_GZIP
|
||||
bool "gzip"
|
||||
default y
|
||||
help
|
||||
gzip is used to compress files.
|
||||
It's probably the most widely used UNIX compression program.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable use of long options, increases size by about 106 Bytes
|
||||
|
||||
config BUSYBOX_CONFIG_LZOP
|
||||
bool "lzop"
|
||||
default n
|
||||
help
|
||||
Lzop compression/decompresion.
|
||||
|
||||
config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
|
||||
bool "lzop compression levels 7,8,9 (not very useful)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LZOP
|
||||
help
|
||||
High levels (7,8,9) of lzop compression. These levels
|
||||
are actually slower than gzip at equivalent compression ratios
|
||||
and take up 3.2K of code.
|
||||
|
||||
config BUSYBOX_CONFIG_RPM2CPIO
|
||||
bool "rpm2cpio"
|
||||
default n
|
||||
help
|
||||
Converts a RPM file into a CPIO archive.
|
||||
|
||||
config BUSYBOX_CONFIG_RPM
|
||||
bool "rpm"
|
||||
default n
|
||||
help
|
||||
Mini RPM applet - queries and extracts RPM packages.
|
||||
|
||||
config BUSYBOX_CONFIG_TAR
|
||||
bool "tar"
|
||||
default y
|
||||
help
|
||||
tar is an archiving program. It's commonly used with gzip to
|
||||
create compressed archives. It's probably the most widely used
|
||||
UNIX archive program.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
|
||||
bool "Enable archive creation"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_TAR
|
||||
help
|
||||
If you enable this option you'll be able to create
|
||||
tar archives using the `-c' option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
|
||||
bool "Autodetect compressed tarballs"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR && (BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ)
|
||||
help
|
||||
With this option tar can automatically detect compressed
|
||||
tarballs. Currently it works only on files (not pipes etc).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_FROM
|
||||
bool "Enable -X (exclude from) and -T (include from) options)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_TAR
|
||||
help
|
||||
If you enable this option you'll be able to specify
|
||||
a list of files to include or exclude from an archive.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
|
||||
bool "Support for old tar header format"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
|
||||
help
|
||||
This option is required to unpack archives created in
|
||||
the old GNU format; help to kill this old format by
|
||||
repacking your ancient archives with the new format.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
|
||||
bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
|
||||
help
|
||||
This option is required to unpack archives created by some old
|
||||
version of Sun's tar (it was calculating checksum using signed
|
||||
arithmetic). It is said to be fixed in newer Sun tar, but "old"
|
||||
tarballs still exist.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
|
||||
bool "Support for GNU tar extensions (long filenames)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
|
||||
help
|
||||
With this option busybox supports GNU long filenames and
|
||||
linknames.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable use of long options, increases size by about 400 Bytes
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_TO_COMMAND
|
||||
bool "Support for writing to an external program"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
|
||||
help
|
||||
If you enable this option you'll be able to instruct tar to send
|
||||
the contents of each extracted file to the standard input of an
|
||||
external program.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
|
||||
bool "Enable use of user and group names"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR
|
||||
help
|
||||
Enables use of user and group names in tar. This affects contents
|
||||
listings (-t) and preserving permissions when unpacking (-p).
|
||||
+200 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
|
||||
bool "Enable -m (do not preserve time) option"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR
|
||||
help
|
||||
With this option busybox supports GNU tar -m
|
||||
(do not preserve time) option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAR_SELINUX
|
||||
bool "Support for extracting SELinux labels"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
With this option busybox supports restoring SELinux labels
|
||||
when extracting files from tar archives.
|
||||
|
||||
config BUSYBOX_CONFIG_UNCOMPRESS
|
||||
bool "uncompress"
|
||||
default n
|
||||
help
|
||||
uncompress is used to decompress archives created by compress.
|
||||
Not much used anymore, replaced by gzip/gunzip.
|
||||
|
||||
config BUSYBOX_CONFIG_UNLZMA
|
||||
bool "unlzma"
|
||||
default n
|
||||
help
|
||||
unlzma is a compression utility using the Lempel-Ziv-Markov chain
|
||||
compression algorithm, and range coding. Compression
|
||||
is generally considerably better than that achieved by the bzip2
|
||||
compressors.
|
||||
|
||||
The BusyBox unlzma applet is limited to de-compression only.
|
||||
On an x86 system, this applet adds about 4K.
|
||||
|
||||
Unless you have a specific application which requires unlzma, you
|
||||
should probably say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
|
||||
bool "Optimize unlzma for speed"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNLZMA
|
||||
help
|
||||
This option reduces decompression time by about 25% at the cost of
|
||||
a 1K bigger binary.
|
||||
|
||||
config BUSYBOX_CONFIG_LZMA
|
||||
bool "Provide lzma alias which supports only unpacking"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNLZMA
|
||||
help
|
||||
Enable this option if you want commands like "lzma -d" to work.
|
||||
IOW: you'll get lzma applet, but it will always require -d option.
|
||||
|
||||
config BUSYBOX_CONFIG_UNXZ
|
||||
bool "unxz"
|
||||
default n
|
||||
help
|
||||
unxz is a unlzma successor.
|
||||
|
||||
config BUSYBOX_CONFIG_XZ
|
||||
bool "Provide xz alias which supports only unpacking"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNXZ
|
||||
help
|
||||
Enable this option if you want commands like "xz -d" to work.
|
||||
IOW: you'll get xz applet, but it will always require -d option.
|
||||
|
||||
config BUSYBOX_CONFIG_UNZIP
|
||||
bool "unzip"
|
||||
default n
|
||||
help
|
||||
unzip will list or extract files from a ZIP archive,
|
||||
commonly found on DOS/WIN systems. The default behavior
|
||||
(with no options) is to extract the archive into the
|
||||
current directory. Use the `-d' option to extract to a
|
||||
directory of your choice.
|
||||
|
||||
endmenu
|
||||
177
package/utils/busybox/config/console-tools/Config.in
Normal file
177
package/utils/busybox/config/console-tools/Config.in
Normal file
@@ -0,0 +1,177 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Console Utilities"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_CHVT
|
||||
bool "chvt"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program is used to change to another terminal.
|
||||
Example: chvt 4 (change to terminal /dev/tty4)
|
||||
|
||||
config BUSYBOX_CONFIG_FGCONSOLE
|
||||
bool "fgconsole"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program prints active (foreground) console number.
|
||||
|
||||
config BUSYBOX_CONFIG_CLEAR
|
||||
bool "clear"
|
||||
default y
|
||||
help
|
||||
This program clears the terminal screen.
|
||||
|
||||
config BUSYBOX_CONFIG_DEALLOCVT
|
||||
bool "deallocvt"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program deallocates unused virtual consoles.
|
||||
|
||||
config BUSYBOX_CONFIG_DUMPKMAP
|
||||
bool "dumpkmap"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program dumps the kernel's keyboard translation table to
|
||||
stdout, in binary format. You can then use loadkmap to load it.
|
||||
|
||||
config BUSYBOX_CONFIG_KBD_MODE
|
||||
bool "kbd_mode"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program reports and sets keyboard mode.
|
||||
|
||||
config BUSYBOX_CONFIG_LOADFONT
|
||||
bool "loadfont"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program loads a console font from standard input.
|
||||
|
||||
config BUSYBOX_CONFIG_LOADKMAP
|
||||
bool "loadkmap"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program loads a keyboard translation table from
|
||||
standard input.
|
||||
|
||||
config BUSYBOX_CONFIG_OPENVT
|
||||
bool "openvt"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program is used to start a command on an unused
|
||||
virtual terminal.
|
||||
|
||||
config BUSYBOX_CONFIG_RESET
|
||||
bool "reset"
|
||||
default y
|
||||
help
|
||||
This program is used to reset the terminal screen, if it
|
||||
gets messed up.
|
||||
|
||||
config BUSYBOX_CONFIG_RESIZE
|
||||
bool "resize"
|
||||
default n
|
||||
help
|
||||
This program is used to (re)set the width and height of your current
|
||||
terminal.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
|
||||
bool "Print environment variables"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_RESIZE
|
||||
help
|
||||
Prints the newly set size (number of columns and rows) of
|
||||
the terminal.
|
||||
E.g.:
|
||||
COLUMNS=80;LINES=44;export COLUMNS LINES;
|
||||
|
||||
config BUSYBOX_CONFIG_SETCONSOLE
|
||||
bool "setconsole"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program redirects the system console to another device,
|
||||
like the current tty while logged in via telnet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the setconsole applet.
|
||||
|
||||
config BUSYBOX_CONFIG_SETFONT
|
||||
bool "setfont"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Allows to load console screen map. Useful for i18n.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SETFONT_TEXTUAL_MAP
|
||||
bool "Support reading textual screen maps"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SETFONT
|
||||
help
|
||||
Support reading textual screen maps.
|
||||
|
||||
config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
|
||||
string "Default directory for console-tools files"
|
||||
default ""
|
||||
depends on BUSYBOX_CONFIG_SETFONT
|
||||
help
|
||||
Directory to use if setfont's params are simple filenames
|
||||
(not /path/to/file or ./file). Default is "" (no default directory).
|
||||
|
||||
config BUSYBOX_CONFIG_SETKEYCODES
|
||||
bool "setkeycodes"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program loads entries into the kernel's scancode-to-keycode
|
||||
map, allowing unusual keyboards to generate usable keycodes.
|
||||
|
||||
config BUSYBOX_CONFIG_SETLOGCONS
|
||||
bool "setlogcons"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This program redirects the output console of kernel messages.
|
||||
|
||||
config BUSYBOX_CONFIG_SHOWKEY
|
||||
bool "showkey"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Shows keys pressed.
|
||||
|
||||
comment "Common options for loadfont and setfont"
|
||||
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
|
||||
bool "Support for PSF2 console fonts"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
|
||||
help
|
||||
Support PSF2 console fonts.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
|
||||
bool "Support for old (raw) console fonts"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
|
||||
help
|
||||
Support old (raw) console fonts.
|
||||
|
||||
endmenu
|
||||
913
package/utils/busybox/config/coreutils/Config.in
Normal file
913
package/utils/busybox/config/coreutils/Config.in
Normal file
@@ -0,0 +1,913 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Coreutils"
|
||||
|
||||
config BUSYBOX_CONFIG_BASENAME
|
||||
bool "basename"
|
||||
default y
|
||||
help
|
||||
basename is used to strip the directory and suffix from filenames,
|
||||
leaving just the filename itself. Enable this option if you wish
|
||||
to enable the 'basename' utility.
|
||||
config BUSYBOX_CONFIG_CAT
|
||||
bool "cat"
|
||||
default y
|
||||
help
|
||||
cat is used to concatenate files and print them to the standard
|
||||
output. Enable this option if you wish to enable the 'cat' utility.
|
||||
config BUSYBOX_CONFIG_DATE
|
||||
bool "date"
|
||||
default y
|
||||
help
|
||||
date is used to set the system date or display the
|
||||
current time in the given format.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
|
||||
bool "Enable ISO date format output (-I)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DATE
|
||||
help
|
||||
Enable option (-I) to output an ISO-8601 compliant
|
||||
date/time string.
|
||||
|
||||
# defaults to "no": stat's nanosecond field is a bit non-portable
|
||||
config BUSYBOX_CONFIG_FEATURE_DATE_NANO
|
||||
bool "Support %[num]N nanosecond format specifier"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DATE # syscall(__NR_clock_gettime)
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support %[num]N format specifier. Adds ~250 bytes of code.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
|
||||
bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DATE
|
||||
help
|
||||
System time can be set by 'date -s DATE' and simply 'date DATE',
|
||||
but formats of DATE string are different. 'date DATE' accepts
|
||||
a rather weird MMDDhhmm[[YY]YY][.ss] format with completely
|
||||
unnatural placement of year between minutes and seconds.
|
||||
date -s (and other commands like touch -d) use more sensible
|
||||
formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss).
|
||||
|
||||
With this option off, 'date DATE' is 'date -s DATE' support
|
||||
the same format. With it on, 'date DATE' additionally supports
|
||||
MMDDhhmm[[YY]YY][.ss] format.
|
||||
config BUSYBOX_CONFIG_ID
|
||||
bool "id"
|
||||
default y
|
||||
help
|
||||
id displays the current user and group ID names.
|
||||
config BUSYBOX_CONFIG_GROUPS
|
||||
bool "groups"
|
||||
default n
|
||||
help
|
||||
Print the group names associated with current user id.
|
||||
config BUSYBOX_CONFIG_TEST
|
||||
bool "test"
|
||||
default y
|
||||
help
|
||||
test is used to check file types and compare values,
|
||||
returning an appropriate exit code. The bash shell
|
||||
has test built in, ash can build it in optionally.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TEST_64
|
||||
bool "Extend test to 64 bit"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable 64-bit support in test.
|
||||
config BUSYBOX_CONFIG_TOUCH
|
||||
bool "touch"
|
||||
default y
|
||||
help
|
||||
touch is used to create or change the access and/or
|
||||
modification timestamp of specified files.
|
||||
config BUSYBOX_CONFIG_TR
|
||||
bool "tr"
|
||||
default y
|
||||
help
|
||||
tr is used to squeeze, and/or delete characters from standard
|
||||
input, writing to standard output.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
|
||||
bool "Enable character classes (such as [:upper:])"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TR
|
||||
help
|
||||
Enable character classes, enabling commands such as:
|
||||
tr [:upper:] [:lower:] to convert input into lowercase.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
|
||||
bool "Enable equivalence classes"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TR
|
||||
help
|
||||
Enable equivalence classes, which essentially add the enclosed
|
||||
character to the current set. For instance, tr [=a=] xyz would
|
||||
replace all instances of 'a' with 'xyz'. This option is mainly
|
||||
useful for cases when no other way of expressing a character
|
||||
is possible.
|
||||
config BUSYBOX_CONFIG_BASE64
|
||||
bool "base64"
|
||||
default n
|
||||
help
|
||||
Base64 encode and decode
|
||||
config BUSYBOX_CONFIG_WHO
|
||||
bool "who"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_UTMP
|
||||
help
|
||||
who is used to show who is logged on.
|
||||
config BUSYBOX_CONFIG_USERS
|
||||
bool "users"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_UTMP
|
||||
help
|
||||
Print users currently logged on.
|
||||
|
||||
config BUSYBOX_CONFIG_CAL
|
||||
bool "cal"
|
||||
default n
|
||||
help
|
||||
cal is used to display a monthly calender.
|
||||
|
||||
config BUSYBOX_CONFIG_CATV
|
||||
bool "catv"
|
||||
default n
|
||||
help
|
||||
Display nonprinting characters as escape sequences (like some
|
||||
implementations' cat -v option).
|
||||
|
||||
config BUSYBOX_CONFIG_CHGRP
|
||||
bool "chgrp"
|
||||
default y
|
||||
help
|
||||
chgrp is used to change the group ownership of files.
|
||||
|
||||
config BUSYBOX_CONFIG_CHMOD
|
||||
bool "chmod"
|
||||
default y
|
||||
help
|
||||
chmod is used to change the access permission of files.
|
||||
|
||||
config BUSYBOX_CONFIG_CHOWN
|
||||
bool "chown"
|
||||
default y
|
||||
help
|
||||
chown is used to change the user and/or group ownership
|
||||
of files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable use of long options
|
||||
|
||||
config BUSYBOX_CONFIG_CHROOT
|
||||
bool "chroot"
|
||||
default y
|
||||
help
|
||||
chroot is used to change the root directory and run a command.
|
||||
The default command is `/bin/sh'.
|
||||
|
||||
config BUSYBOX_CONFIG_CKSUM
|
||||
bool "cksum"
|
||||
default n
|
||||
help
|
||||
cksum is used to calculate the CRC32 checksum of a file.
|
||||
|
||||
config BUSYBOX_CONFIG_COMM
|
||||
bool "comm"
|
||||
default n
|
||||
help
|
||||
comm is used to compare two files line by line and return
|
||||
a three-column output.
|
||||
|
||||
config BUSYBOX_CONFIG_CP
|
||||
bool "cp"
|
||||
default y
|
||||
help
|
||||
cp is used to copy files and directories.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
|
||||
bool "Enable long options for cp"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable long options for cp.
|
||||
Also add support for --parents option.
|
||||
|
||||
config BUSYBOX_CONFIG_CUT
|
||||
bool "cut"
|
||||
default y
|
||||
help
|
||||
cut is used to print selected parts of lines from
|
||||
each file to stdout.
|
||||
|
||||
config BUSYBOX_CONFIG_DD
|
||||
bool "dd"
|
||||
default y
|
||||
help
|
||||
dd copies a file (from standard input to standard output,
|
||||
by default) using specific input and output blocksizes,
|
||||
while optionally performing conversions on it.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
|
||||
bool "Enable DD signal handling for status reporting"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DD
|
||||
help
|
||||
Sending a SIGUSR1 signal to a running `dd' process makes it
|
||||
print to standard error the number of records read and written
|
||||
so far, then to resume copying.
|
||||
|
||||
$ dd if=/dev/zero of=/dev/null&
|
||||
$ pid=$! kill -USR1 $pid; sleep 1; kill $pid
|
||||
10899206+0 records in
|
||||
10899206+0 records out
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DD_THIRD_STATUS_LINE
|
||||
bool "Enable the third status line upon signal"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DD && BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
|
||||
help
|
||||
Displays a coreutils-like third status line with transferred bytes,
|
||||
elapsed time and speed.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
|
||||
bool "Enable ibs, obs and conv options"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DD
|
||||
help
|
||||
Enables support for writing a certain number of bytes in and out,
|
||||
at a time, and performing conversions on the data stream.
|
||||
|
||||
config BUSYBOX_CONFIG_DF
|
||||
bool "df"
|
||||
default y
|
||||
help
|
||||
df reports the amount of disk space used and available
|
||||
on filesystems.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DF_FANCY
|
||||
bool "Enable -a, -i, -B"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DF
|
||||
help
|
||||
This option enables -a, -i and -B.
|
||||
|
||||
-a Show all filesystems
|
||||
-i Inodes
|
||||
-B <SIZE> Blocksize
|
||||
|
||||
config BUSYBOX_CONFIG_DIRNAME
|
||||
bool "dirname"
|
||||
default y
|
||||
help
|
||||
dirname is used to strip a non-directory suffix from
|
||||
a file name.
|
||||
|
||||
config BUSYBOX_CONFIG_DOS2UNIX
|
||||
bool "dos2unix/unix2dos"
|
||||
default n
|
||||
help
|
||||
dos2unix is used to convert a text file from DOS format to
|
||||
UNIX format, and vice versa.
|
||||
|
||||
config BUSYBOX_CONFIG_UNIX2DOS
|
||||
bool
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DOS2UNIX
|
||||
help
|
||||
unix2dos is used to convert a text file from UNIX format to
|
||||
DOS format, and vice versa.
|
||||
|
||||
config BUSYBOX_CONFIG_DU
|
||||
bool "du (default blocksize of 512 bytes)"
|
||||
default y
|
||||
help
|
||||
du is used to report the amount of disk space used
|
||||
for specified files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
|
||||
bool "Use a default blocksize of 1024 bytes (1K)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DU
|
||||
help
|
||||
Use a blocksize of (1K) instead of the default 512b.
|
||||
|
||||
config BUSYBOX_CONFIG_ECHO
|
||||
bool "echo (basic SuSv3 version taking no options)"
|
||||
default y
|
||||
help
|
||||
echo is used to print a specified string to stdout.
|
||||
|
||||
# this entry also appears in shell/Config.in, next to the echo builtin
|
||||
config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
|
||||
bool "Enable echo options (-n and -e)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO || BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
This adds options (-n and -e) to echo.
|
||||
|
||||
config BUSYBOX_CONFIG_ENV
|
||||
bool "env"
|
||||
default y
|
||||
help
|
||||
env is used to set an environment variable and run
|
||||
a command; without options it displays the current
|
||||
environment.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the env applet.
|
||||
|
||||
config BUSYBOX_CONFIG_EXPAND
|
||||
bool "expand"
|
||||
default n
|
||||
help
|
||||
By default, convert all tabs to spaces.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EXPAND_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_EXPAND && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the expand applet.
|
||||
|
||||
config BUSYBOX_CONFIG_EXPR
|
||||
bool "expr"
|
||||
default y
|
||||
help
|
||||
expr is used to calculate numbers and print the result
|
||||
to standard output.
|
||||
|
||||
config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
|
||||
bool "Extend Posix numbers support to 64 bit"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_EXPR
|
||||
help
|
||||
Enable 64-bit math support in the expr applet. This will make
|
||||
the applet slightly larger, but will allow computation with very
|
||||
large numbers.
|
||||
|
||||
config BUSYBOX_CONFIG_FALSE
|
||||
bool "false"
|
||||
default y
|
||||
help
|
||||
false returns an exit code of FALSE (1).
|
||||
|
||||
config BUSYBOX_CONFIG_FOLD
|
||||
bool "fold"
|
||||
default n
|
||||
help
|
||||
Wrap text to fit a specific width.
|
||||
|
||||
config BUSYBOX_CONFIG_FSYNC
|
||||
bool "fsync"
|
||||
default y
|
||||
help
|
||||
fsync is used to flush file-related cached blocks to disk.
|
||||
|
||||
config BUSYBOX_CONFIG_HEAD
|
||||
bool "head"
|
||||
default y
|
||||
help
|
||||
head is used to print the first specified number of lines
|
||||
from files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
|
||||
bool "Enable head options (-c, -q, and -v)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HEAD
|
||||
help
|
||||
This enables the head options (-c, -q, and -v).
|
||||
|
||||
config BUSYBOX_CONFIG_HOSTID
|
||||
bool "hostid"
|
||||
default y
|
||||
help
|
||||
hostid prints the numeric identifier (in hexadecimal) for
|
||||
the current host.
|
||||
|
||||
config BUSYBOX_CONFIG_INSTALL
|
||||
bool "install"
|
||||
default n
|
||||
help
|
||||
Copy files and set attributes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the install applet.
|
||||
|
||||
####config LENGTH
|
||||
#### bool "length"
|
||||
#### default y
|
||||
#### help
|
||||
#### length is used to print out the length of a specified string.
|
||||
|
||||
config BUSYBOX_CONFIG_LN
|
||||
bool "ln"
|
||||
default y
|
||||
help
|
||||
ln is used to create hard or soft links between files.
|
||||
|
||||
config BUSYBOX_CONFIG_LOGNAME
|
||||
bool "logname"
|
||||
default n
|
||||
help
|
||||
logname is used to print the current user's login name.
|
||||
|
||||
config BUSYBOX_CONFIG_LS
|
||||
bool "ls"
|
||||
default y
|
||||
help
|
||||
ls is used to list the contents of directories.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
|
||||
bool "Enable filetyping options (-p and -F)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS
|
||||
help
|
||||
Enable the ls options (-p and -F).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
|
||||
bool "Enable symlinks dereferencing (-L)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS
|
||||
help
|
||||
Enable the ls option (-L).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
|
||||
bool "Enable recursion (-R)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS
|
||||
help
|
||||
Enable the ls option (-R).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
|
||||
bool "Sort the file names"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS
|
||||
help
|
||||
Allow ls to sort file names alphabetically.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
|
||||
bool "Show file timestamps"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS
|
||||
help
|
||||
Allow ls to display timestamps for files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
|
||||
bool "Show username/groupnames"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS
|
||||
help
|
||||
Allow ls to display username/groupname for files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_COLOR
|
||||
bool "Allow use of color to identify file types"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
This enables the --color option to ls.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
|
||||
bool "Produce colored ls output by default"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FEATURE_LS_COLOR
|
||||
help
|
||||
Saying yes here will turn coloring on by default,
|
||||
even if no "--color" option is given to the ls command.
|
||||
This is not recommended, since the colors are not
|
||||
configurable, and the output may not be legible on
|
||||
many output screens.
|
||||
|
||||
config BUSYBOX_CONFIG_MD5SUM
|
||||
bool "md5sum"
|
||||
default y
|
||||
help
|
||||
md5sum is used to print or check MD5 checksums.
|
||||
|
||||
config BUSYBOX_CONFIG_MKDIR
|
||||
bool "mkdir"
|
||||
default y
|
||||
help
|
||||
mkdir is used to create directories with the specified names.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the mkdir applet.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFIFO
|
||||
bool "mkfifo"
|
||||
default y
|
||||
help
|
||||
mkfifo is used to create FIFOs (named pipes).
|
||||
The `mknod' program can also create FIFOs.
|
||||
|
||||
config BUSYBOX_CONFIG_MKNOD
|
||||
bool "mknod"
|
||||
default y
|
||||
help
|
||||
mknod is used to create FIFOs or block/character special
|
||||
files with the specified names.
|
||||
|
||||
config BUSYBOX_CONFIG_MV
|
||||
bool "mv"
|
||||
default y
|
||||
help
|
||||
mv is used to move or rename files or directories.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the mv applet.
|
||||
|
||||
config BUSYBOX_CONFIG_NICE
|
||||
bool "nice"
|
||||
default y
|
||||
help
|
||||
nice runs a program with modified scheduling priority.
|
||||
|
||||
config BUSYBOX_CONFIG_NOHUP
|
||||
bool "nohup"
|
||||
default n
|
||||
help
|
||||
run a command immune to hangups, with output to a non-tty.
|
||||
|
||||
config BUSYBOX_CONFIG_OD
|
||||
bool "od"
|
||||
default n
|
||||
help
|
||||
od is used to dump binary files in octal and other formats.
|
||||
|
||||
config BUSYBOX_CONFIG_PRINTENV
|
||||
bool "printenv"
|
||||
default n
|
||||
help
|
||||
printenv is used to print all or part of environment.
|
||||
|
||||
config BUSYBOX_CONFIG_PRINTF
|
||||
bool "printf"
|
||||
default y
|
||||
help
|
||||
printf is used to format and print specified strings.
|
||||
It's similar to `echo' except it has more options.
|
||||
|
||||
config BUSYBOX_CONFIG_PWD
|
||||
bool "pwd"
|
||||
default y
|
||||
help
|
||||
pwd is used to print the current directory.
|
||||
|
||||
config BUSYBOX_CONFIG_READLINK
|
||||
bool "readlink"
|
||||
default y
|
||||
help
|
||||
This program reads a symbolic link and returns the name
|
||||
of the file it points to
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
|
||||
bool "Enable canonicalization by following all symlinks (-f)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_READLINK
|
||||
help
|
||||
Enable the readlink option (-f).
|
||||
|
||||
config BUSYBOX_CONFIG_REALPATH
|
||||
bool "realpath"
|
||||
default n
|
||||
help
|
||||
Return the canonicalized absolute pathname.
|
||||
This isn't provided by GNU shellutils, but where else does it belong.
|
||||
|
||||
config BUSYBOX_CONFIG_RM
|
||||
bool "rm"
|
||||
default y
|
||||
help
|
||||
rm is used to remove files or directories.
|
||||
|
||||
config BUSYBOX_CONFIG_RMDIR
|
||||
bool "rmdir"
|
||||
default y
|
||||
help
|
||||
rmdir is used to remove empty directories.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RMDIR_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_RMDIR && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the rmdir applet, including
|
||||
--ignore-fail-on-non-empty for compatibility with GNU rmdir.
|
||||
|
||||
config BUSYBOX_CONFIG_SEQ
|
||||
bool "seq"
|
||||
default y
|
||||
help
|
||||
print a sequence of numbers
|
||||
|
||||
config BUSYBOX_CONFIG_SHA1SUM
|
||||
bool "sha1sum"
|
||||
default n
|
||||
help
|
||||
Compute and check SHA1 message digest
|
||||
|
||||
config BUSYBOX_CONFIG_SHA256SUM
|
||||
bool "sha256sum"
|
||||
default n
|
||||
help
|
||||
Compute and check SHA256 message digest
|
||||
|
||||
config BUSYBOX_CONFIG_SHA512SUM
|
||||
bool "sha512sum"
|
||||
default n
|
||||
help
|
||||
Compute and check SHA512 message digest
|
||||
|
||||
config BUSYBOX_CONFIG_SLEEP
|
||||
bool "sleep"
|
||||
default y
|
||||
help
|
||||
sleep is used to pause for a specified number of seconds.
|
||||
It comes in 3 versions:
|
||||
- small: takes one integer parameter
|
||||
- fancy: takes multiple integer arguments with suffixes:
|
||||
sleep 1d 2h 3m 15s
|
||||
- fancy with fractional numbers:
|
||||
sleep 2.3s 4.5h sleeps for 16202.3 seconds
|
||||
Last one is "the most compatible" with coreutils sleep,
|
||||
but it adds around 1k of code.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
|
||||
bool "Enable multiple arguments and s/m/h/d suffixes"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SLEEP
|
||||
help
|
||||
Allow sleep to pause for specified minutes, hours, and days.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP
|
||||
bool "Enable fractional arguments"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
|
||||
help
|
||||
Allow for fractional numeric parameters.
|
||||
|
||||
config BUSYBOX_CONFIG_SORT
|
||||
bool "sort"
|
||||
default y
|
||||
help
|
||||
sort is used to sort lines of text in specified files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SORT_BIG
|
||||
bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SORT
|
||||
help
|
||||
Without this, sort only supports -r, -u, and an integer version
|
||||
of -n. Selecting this adds sort keys, floating point support, and
|
||||
more. This adds a little over 3k to a nonstatic build on x86.
|
||||
|
||||
The SuSv3 sort standard is available at:
|
||||
http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
|
||||
|
||||
config BUSYBOX_CONFIG_SPLIT
|
||||
bool "split"
|
||||
default n
|
||||
help
|
||||
split a file into pieces.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
|
||||
bool "Fancy extensions"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SPLIT
|
||||
help
|
||||
Add support for features not required by SUSv3.
|
||||
Supports additional suffixes 'b' for 512 bytes,
|
||||
'g' for 1GiB for the -b option.
|
||||
|
||||
config BUSYBOX_CONFIG_STAT
|
||||
bool "stat"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
|
||||
help
|
||||
display file or filesystem status.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
|
||||
bool "Enable custom formats (-c)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_STAT
|
||||
help
|
||||
Without this, stat will not support the '-c format' option where
|
||||
users can pass a custom format string for output. This adds about
|
||||
7k to a nonstatic build on amd64.
|
||||
|
||||
config BUSYBOX_CONFIG_STTY
|
||||
bool "stty"
|
||||
default n
|
||||
help
|
||||
stty is used to change and print terminal line settings.
|
||||
|
||||
config BUSYBOX_CONFIG_SUM
|
||||
bool "sum"
|
||||
default n
|
||||
help
|
||||
checksum and count the blocks in a file
|
||||
|
||||
config BUSYBOX_CONFIG_SYNC
|
||||
bool "sync"
|
||||
default y
|
||||
help
|
||||
sync is used to flush filesystem buffers.
|
||||
|
||||
config BUSYBOX_CONFIG_TAC
|
||||
bool "tac"
|
||||
default n
|
||||
help
|
||||
tac is used to concatenate and print files in reverse.
|
||||
|
||||
config BUSYBOX_CONFIG_TAIL
|
||||
bool "tail"
|
||||
default y
|
||||
help
|
||||
tail is used to print the last specified number of lines
|
||||
from files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
|
||||
bool "Enable extra tail options (-q, -s, -v, and -F)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_TAIL
|
||||
help
|
||||
The options (-q, -s, and -v) are provided by GNU tail, but
|
||||
are not specific in the SUSv3 standard.
|
||||
|
||||
-q Never output headers giving file names
|
||||
-s SEC Wait SEC seconds between reads with -f
|
||||
-v Always output headers giving file names
|
||||
|
||||
config BUSYBOX_CONFIG_TEE
|
||||
bool "tee"
|
||||
default y
|
||||
help
|
||||
tee is used to read from standard input and write
|
||||
to standard output and files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
|
||||
bool "Enable block I/O (larger/faster) instead of byte I/O"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_TEE
|
||||
help
|
||||
Enable this option for a faster tee, at expense of size.
|
||||
|
||||
config BUSYBOX_CONFIG_TRUE
|
||||
bool "true"
|
||||
default y
|
||||
help
|
||||
true returns an exit code of TRUE (0).
|
||||
|
||||
config BUSYBOX_CONFIG_TTY
|
||||
bool "tty"
|
||||
default n
|
||||
help
|
||||
tty is used to print the name of the current terminal to
|
||||
standard output.
|
||||
|
||||
config BUSYBOX_CONFIG_UNAME
|
||||
bool "uname"
|
||||
default y
|
||||
help
|
||||
uname is used to print system information.
|
||||
|
||||
config BUSYBOX_CONFIG_UNEXPAND
|
||||
bool "unexpand"
|
||||
default n
|
||||
help
|
||||
By default, convert only leading sequences of blanks to tabs.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the unexpand applet.
|
||||
|
||||
config BUSYBOX_CONFIG_UNIQ
|
||||
bool "uniq"
|
||||
default y
|
||||
help
|
||||
uniq is used to remove duplicate lines from a sorted file.
|
||||
|
||||
config BUSYBOX_CONFIG_USLEEP
|
||||
bool "usleep"
|
||||
default n
|
||||
help
|
||||
usleep is used to pause for a specified number of microseconds.
|
||||
|
||||
config BUSYBOX_CONFIG_UUDECODE
|
||||
bool "uudecode"
|
||||
default n
|
||||
help
|
||||
uudecode is used to decode a uuencoded file.
|
||||
|
||||
config BUSYBOX_CONFIG_UUENCODE
|
||||
bool "uuencode"
|
||||
default n
|
||||
help
|
||||
uuencode is used to uuencode a file.
|
||||
|
||||
config BUSYBOX_CONFIG_WC
|
||||
bool "wc"
|
||||
default y
|
||||
help
|
||||
wc is used to print the number of bytes, words, and lines,
|
||||
in specified files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_WC_LARGE
|
||||
bool "Support very large files in wc"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_WC
|
||||
help
|
||||
Use "unsigned long long" in wc for counter variables.
|
||||
|
||||
config BUSYBOX_CONFIG_WHOAMI
|
||||
bool "whoami"
|
||||
default n
|
||||
help
|
||||
whoami is used to print the username of the current
|
||||
user id (same as id -un).
|
||||
|
||||
config BUSYBOX_CONFIG_YES
|
||||
bool "yes"
|
||||
default y
|
||||
help
|
||||
yes is used to repeatedly output a specific string, or
|
||||
the default string `y'.
|
||||
|
||||
comment "Common options for cp and mv"
|
||||
depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
|
||||
bool "Preserve hard links"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
|
||||
help
|
||||
Allow cp and mv to preserve hard links.
|
||||
|
||||
comment "Common options for ls, more and telnet"
|
||||
depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
|
||||
bool "Calculate terminal & column widths"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
|
||||
help
|
||||
This option allows utilities such as 'ls', 'more' and 'telnet'
|
||||
to determine the width of the screen, which can allow them to
|
||||
display additional text or avoid wrapping text onto the next line.
|
||||
If you leave this disabled, your utilities will be especially
|
||||
primitive and will be unable to determine the current screen width.
|
||||
|
||||
comment "Common options for df, du, ls"
|
||||
depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
|
||||
bool "Support for human readable output (example 13k, 23M, 235G)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
|
||||
help
|
||||
Allow df, du, and ls to have human readable output.
|
||||
|
||||
comment "Common options for md5sum, sha1sum, sha256sum, sha512sum"
|
||||
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
|
||||
bool "Enable -c, -s and -w options"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM
|
||||
help
|
||||
Enabling the -c options allows files to be checked
|
||||
against pre-calculated hash values.
|
||||
|
||||
-s and -w are useful options when verifying checksums.
|
||||
|
||||
endmenu
|
||||
86
package/utils/busybox/config/debianutils/Config.in
Normal file
86
package/utils/busybox/config/debianutils/Config.in
Normal file
@@ -0,0 +1,86 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Debian Utilities"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_MKTEMP
|
||||
bool "mktemp"
|
||||
default y
|
||||
help
|
||||
mktemp is used to create unique temporary files
|
||||
|
||||
config BUSYBOX_CONFIG_PIPE_PROGRESS
|
||||
bool "pipe_progress"
|
||||
default n
|
||||
help
|
||||
Display a dot to indicate pipe activity.
|
||||
|
||||
config BUSYBOX_CONFIG_RUN_PARTS
|
||||
bool "run-parts"
|
||||
default n
|
||||
help
|
||||
run-parts is a utility designed to run all the scripts in a directory.
|
||||
|
||||
It is useful to set up a directory like cron.daily, where you need to
|
||||
execute all the scripts in that directory.
|
||||
|
||||
In this implementation of run-parts some features (such as report
|
||||
mode) are not implemented.
|
||||
|
||||
Unless you know that run-parts is used in some of your scripts
|
||||
you can safely say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the run-parts applet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY
|
||||
bool "Support additional arguments"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_RUN_PARTS
|
||||
help
|
||||
Support additional options:
|
||||
-l --list print the names of the all matching files (not
|
||||
limited to executables), but don't actually run them.
|
||||
|
||||
config BUSYBOX_CONFIG_START_STOP_DAEMON
|
||||
bool "start-stop-daemon"
|
||||
default y
|
||||
help
|
||||
start-stop-daemon is used to control the creation and
|
||||
termination of system-level processes, usually the ones
|
||||
started during the startup of the system.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY
|
||||
bool "Support additional arguments"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_START_STOP_DAEMON
|
||||
help
|
||||
Support additional arguments.
|
||||
-o|--oknodo ignored since we exit with 0 anyway
|
||||
-v|--verbose
|
||||
-N|--nicelevel N
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the start-stop-daemon applet.
|
||||
|
||||
config BUSYBOX_CONFIG_WHICH
|
||||
bool "which"
|
||||
default y
|
||||
help
|
||||
which is used to find programs in your PATH and
|
||||
print out their pathnames.
|
||||
|
||||
endmenu
|
||||
72
package/utils/busybox/config/e2fsprogs/Config.in
Normal file
72
package/utils/busybox/config/e2fsprogs/Config.in
Normal file
@@ -0,0 +1,72 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Linux Ext2 FS Progs"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_CHATTR
|
||||
bool "chattr"
|
||||
default n
|
||||
help
|
||||
chattr changes the file attributes on a second extended file system.
|
||||
|
||||
### config E2FSCK
|
||||
### bool "e2fsck"
|
||||
### default y
|
||||
### help
|
||||
### e2fsck is used to check Linux second extended file systems (ext2fs).
|
||||
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
|
||||
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
||||
### provided.
|
||||
|
||||
config BUSYBOX_CONFIG_FSCK
|
||||
bool "fsck"
|
||||
default n
|
||||
help
|
||||
fsck is used to check and optionally repair one or more filesystems.
|
||||
In actuality, fsck is simply a front-end for the various file system
|
||||
checkers (fsck.fstype) available under Linux.
|
||||
|
||||
config BUSYBOX_CONFIG_LSATTR
|
||||
bool "lsattr"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
lsattr lists the file attributes on a second extended file system.
|
||||
|
||||
### config MKE2FS
|
||||
### bool "mke2fs"
|
||||
### default y
|
||||
### help
|
||||
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
||||
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
||||
|
||||
config BUSYBOX_CONFIG_TUNE2FS
|
||||
bool "tune2fs"
|
||||
default n # off: it is too limited compared to upstream version
|
||||
help
|
||||
tune2fs allows the system administrator to adjust various tunable
|
||||
filesystem parameters on Linux ext2/ext3 filesystems.
|
||||
|
||||
### config E2LABEL
|
||||
### bool "e2label"
|
||||
### default y
|
||||
### depends on TUNE2FS
|
||||
### help
|
||||
### e2label will display or change the filesystem label on the ext2
|
||||
### filesystem located on device.
|
||||
|
||||
### NB: this one is now provided by util-linux/volume_id/*
|
||||
### config FINDFS
|
||||
### bool "findfs"
|
||||
### default y
|
||||
### depends on TUNE2FS
|
||||
### help
|
||||
### findfs will search the disks in the system looking for a filesystem
|
||||
### which has a label matching label or a UUID equal to uuid.
|
||||
|
||||
endmenu
|
||||
@@ -0,0 +1,70 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Linux Ext2 FS Progs"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_CHATTR
|
||||
bool "chattr"
|
||||
default n
|
||||
help
|
||||
chattr changes the file attributes on a second extended file system.
|
||||
|
||||
config BUSYBOX_CONFIG_E2FSCK
|
||||
bool "e2fsck"
|
||||
default n
|
||||
help
|
||||
e2fsck is used to check Linux second extended file systems (ext2fs).
|
||||
e2fsck also supports ext2 filesystems countaining a journal (ext3).
|
||||
The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
||||
provided.
|
||||
|
||||
config BUSYBOX_CONFIG_FSCK
|
||||
bool "fsck"
|
||||
default n
|
||||
help
|
||||
fsck is used to check and optionally repair one or more filesystems.
|
||||
In actuality, fsck is simply a front-end for the various file system
|
||||
checkers (fsck.fstype) available under Linux.
|
||||
|
||||
config BUSYBOX_CONFIG_LSATTR
|
||||
bool "lsattr"
|
||||
default n
|
||||
help
|
||||
lsattr lists the file attributes on a second extended file system.
|
||||
|
||||
config BUSYBOX_CONFIG_MKE2FS
|
||||
bool "mke2fs"
|
||||
default n
|
||||
help
|
||||
mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
||||
symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
||||
|
||||
config BUSYBOX_CONFIG_TUNE2FS
|
||||
bool "tune2fs"
|
||||
default n
|
||||
help
|
||||
tune2fs allows the system administrator to adjust various tunable
|
||||
filesystem parameters on Linux ext2/ext3 filesystems.
|
||||
|
||||
config BUSYBOX_CONFIG_E2LABEL
|
||||
bool "e2label"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TUNE2FS
|
||||
help
|
||||
e2label will display or change the filesystem label on the ext2
|
||||
filesystem located on device.
|
||||
|
||||
config BUSYBOX_CONFIG_FINDFS
|
||||
bool "findfs"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TUNE2FS
|
||||
help
|
||||
findfs will search the disks in the system looking for a filesystem
|
||||
which has a label matching label or a UUID equal to uuid.
|
||||
|
||||
endmenu
|
||||
206
package/utils/busybox/config/editors/Config.in
Normal file
206
package/utils/busybox/config/editors/Config.in
Normal file
@@ -0,0 +1,206 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Editors"
|
||||
|
||||
config BUSYBOX_CONFIG_PATCH
|
||||
bool "patch"
|
||||
default n
|
||||
help
|
||||
Apply a unified diff formatted patch.
|
||||
config BUSYBOX_CONFIG_VI
|
||||
bool "vi"
|
||||
default y
|
||||
help
|
||||
'vi' is a text editor. More specifically, it is the One True
|
||||
text editor <grin>. It does, however, have a rather steep
|
||||
learning curve. If you are not already comfortable with 'vi'
|
||||
you may wish to use something else.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
|
||||
int "Maximum screen width in vi"
|
||||
range 256 16384
|
||||
default 1024
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Contrary to what you may think, this is not eating much.
|
||||
Make it smaller than 4k only if you are very limited on memory.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_8BIT
|
||||
bool "Allow vi to display 8-bit chars (otherwise shows dots)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
If your terminal can display characters with high bit set,
|
||||
you may want to enable this. Note: vi is not Unicode-capable.
|
||||
If your terminal combines several 8-bit bytes into one character
|
||||
(as in Unicode mode), this will not work properly.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_COLON
|
||||
bool "Enable \":\" colon commands (no \"ex\" mode)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Enable a limited set of colon commands for vi. This does not
|
||||
provide an "ex" mode.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
|
||||
bool "Enable yank/put commands and mark cmds"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
This will enable you to use yank and put, as well as mark in
|
||||
busybox vi.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
|
||||
bool "Enable search and replace cmds"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Select this if you wish to be able to do search and replace in
|
||||
busybox vi.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH
|
||||
bool "Enable regex in search and replace"
|
||||
default n # Uses GNU regex, which may be unavailable. FIXME
|
||||
depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH
|
||||
help
|
||||
Use extended regex search.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
|
||||
bool "Catch signals"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Selecting this option will make busybox vi signal aware. This will
|
||||
make busybox vi support SIGWINCH to deal with Window Changes, catch
|
||||
Ctrl-Z and Ctrl-C and alarms.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_DOT_CMD
|
||||
bool "Remember previous cmd and \".\" cmd"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Make busybox vi remember the last command and be able to repeat it.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_READONLY
|
||||
bool "Enable -R option and \"view\" mode"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Enable the read-only command line option, which allows the user to
|
||||
open a file in read-only mode.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS
|
||||
bool "Enable set-able options, ai ic showmatch"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Enable the editor to set some (ai, ic, showmatch) options.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_SET
|
||||
bool "Support for :set"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Support for ":set".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
|
||||
bool "Handle window resize"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
Make busybox vi behave nicely with terminals that get resized.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
|
||||
bool "Use 'tell me cursor position' ESC sequence to measure window"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
|
||||
this option makes vi perform a last-ditch effort to find it:
|
||||
position cursor to 999,999 and ask terminal to report real
|
||||
cursor position using "ESC [ 6 n" escape sequence, then read stdin.
|
||||
|
||||
This is not clean but helps a lot on serial lines and such.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
|
||||
bool "Optimize cursor movement"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI
|
||||
help
|
||||
This will make the cursor movement faster, but requires more memory
|
||||
and it makes the applet a tiny bit larger.
|
||||
|
||||
config BUSYBOX_CONFIG_AWK
|
||||
bool "awk"
|
||||
default y
|
||||
help
|
||||
Awk is used as a pattern scanning and processing language. This is
|
||||
the BusyBox implementation of that programming language.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_AWK_LIBM
|
||||
bool "Enable math functions (requires libm)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_AWK
|
||||
help
|
||||
Enable math functions of the Awk programming language.
|
||||
NOTE: This will require libm to be present for linking.
|
||||
|
||||
config BUSYBOX_CONFIG_CMP
|
||||
bool "cmp"
|
||||
default y
|
||||
help
|
||||
cmp is used to compare two files and returns the result
|
||||
to standard output.
|
||||
|
||||
config BUSYBOX_CONFIG_DIFF
|
||||
bool "diff"
|
||||
default n
|
||||
help
|
||||
diff compares two files or directories and outputs the
|
||||
differences between them in a form that can be given to
|
||||
the patch command.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DIFF_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Enable use of long options.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
|
||||
bool "Enable directory support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DIFF
|
||||
help
|
||||
This option enables support for directory and subdirectory
|
||||
comparison.
|
||||
|
||||
config BUSYBOX_CONFIG_ED
|
||||
bool "ed"
|
||||
default n
|
||||
help
|
||||
The original 1970's Unix text editor, from the days of teletypes.
|
||||
Small, simple, evil. Part of SUSv3. If you're not already using
|
||||
this, you don't need it.
|
||||
|
||||
config BUSYBOX_CONFIG_SED
|
||||
bool "sed"
|
||||
default y
|
||||
help
|
||||
sed is used to perform text transformations on a file
|
||||
or input from a pipeline.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
|
||||
bool "Allow vi and awk to execute shell commands"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_VI || BUSYBOX_CONFIG_AWK
|
||||
help
|
||||
Enables vi and awk features which allows user to execute
|
||||
shell commands (using system() C call).
|
||||
|
||||
endmenu
|
||||
252
package/utils/busybox/config/findutils/Config.in
Normal file
252
package/utils/busybox/config/findutils/Config.in
Normal file
@@ -0,0 +1,252 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Finding Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_FIND
|
||||
bool "find"
|
||||
default y
|
||||
help
|
||||
find is used to search your system to find specified files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
|
||||
bool "Enable -print0: NUL-terminated output"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Causes output names to be separated by a NUL character
|
||||
rather than a newline. This allows names that contain
|
||||
newlines and other whitespace to be more easily
|
||||
interpreted by other programs.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
|
||||
bool "Enable -mtime: modified time matching"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Allow searching based on the modification time of
|
||||
files, in days.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
|
||||
bool "Enable -mmin: modified time matching by minutes"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Allow searching based on the modification time of
|
||||
files, in minutes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_PERM
|
||||
bool "Enable -perm: permissions matching"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Enable searching based on file permissions.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
|
||||
bool "Enable -type: file type matching (file/dir/link/...)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Enable searching based on file type (file,
|
||||
directory, socket, device, etc.).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
|
||||
bool "Enable -xdev: 'stay in filesystem'"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
This option allows find to restrict searches to a single filesystem.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH
|
||||
bool "Enable -mindepth N and -maxdepth N"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
This option enables -mindepth N and -maxdepth N option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
|
||||
bool "Enable -newer: compare file modification times"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -newer' option for finding any files which have
|
||||
modification time that is more recent than the specified FILE.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_INUM
|
||||
bool "Enable -inum: inode number matching"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -inum' option for searching by inode number.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
|
||||
bool "Enable -exec: execute commands"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -exec' option for executing commands based upon
|
||||
the files matched.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_USER
|
||||
bool "Enable -user: username/uid matching"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -user' option for searching by username or uid.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
|
||||
bool "Enable -group: group/gid matching"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -group' option for searching by group name or gid.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_NOT
|
||||
bool "Enable the 'not' (!) operator"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the '!' operator to invert the test results.
|
||||
If 'Enable full-blown desktop' is enabled, then will also support
|
||||
the non-POSIX notation '-not'.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
|
||||
bool "Enable -depth"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Process each directory's contents before the directory itself.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
|
||||
bool "Enable parens in options"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Enable usage of parens '(' to specify logical order of arguments.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
|
||||
bool "Enable -size: file size matching"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -size' option for searching by file size.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
|
||||
bool "Enable -prune: exclude subdirectories"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
If the file is a directory, dont descend into it. Useful for
|
||||
exclusion .svn and CVS directories.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
|
||||
bool "Enable -delete: delete files/dirs"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
|
||||
help
|
||||
Support the 'find -delete' option for deleting files and directories.
|
||||
WARNING: This option can do much harm if used wrong. Busybox will not
|
||||
try to protect the user from doing stupid things. Use with care.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_PATH
|
||||
bool "Enable -path: match pathname with shell pattern"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
The -path option matches whole pathname instead of just filename.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
|
||||
bool "Enable -regex: match pathname with regex"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
The -regex option matches whole pathname against regular expression.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
|
||||
bool "Enable -context: security context matching"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Support the 'find -context' option for matching security context.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
|
||||
bool "Enable -links: link count matching"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FIND
|
||||
help
|
||||
Support the 'find -links' option for matching number of links.
|
||||
config BUSYBOX_CONFIG_GREP
|
||||
bool "grep"
|
||||
default y
|
||||
help
|
||||
grep is used to search files for a specified pattern.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
|
||||
bool "Enable extended regular expressions (egrep & grep -E)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_GREP
|
||||
help
|
||||
Enabled support for extended regular expressions. Extended
|
||||
regular expressions allow for alternation (foo|bar), grouping,
|
||||
and various repetition operators.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
|
||||
bool "Alias fgrep to grep -F"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_GREP
|
||||
help
|
||||
fgrep sees the search pattern as a normal string rather than
|
||||
regular expressions.
|
||||
grep -F always works, this just creates the fgrep alias.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
|
||||
bool "Enable before and after context flags (-A, -B and -C)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_GREP
|
||||
help
|
||||
Print the specified number of leading (-B) and/or trailing (-A)
|
||||
context surrounding our matching lines.
|
||||
Print the specified number of context lines (-C).
|
||||
config BUSYBOX_CONFIG_XARGS
|
||||
bool "xargs"
|
||||
default y
|
||||
help
|
||||
xargs is used to execute a specified command for
|
||||
every item from standard input.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
|
||||
bool "Enable -p: prompt and confirmation"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_XARGS
|
||||
help
|
||||
Support -p: prompt the user whether to run each command
|
||||
line and read a line from the terminal.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
|
||||
bool "Enable single and double quotes and backslash"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_XARGS
|
||||
help
|
||||
Support quoting in the input.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
|
||||
bool "Enable -x: exit if -s or -n is exceeded"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_XARGS
|
||||
help
|
||||
Support -x: exit if the command size (see the -s or -n option)
|
||||
is exceeded.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
|
||||
bool "Enable -0: NUL-terminated input"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_XARGS
|
||||
help
|
||||
Support -0: input items are terminated by a NUL character
|
||||
instead of whitespace, and the quotes and backslash
|
||||
are not special.
|
||||
|
||||
endmenu
|
||||
185
package/utils/busybox/config/init/Config.in
Normal file
185
package/utils/busybox/config/init/Config.in
Normal file
@@ -0,0 +1,185 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Init Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_BOOTCHARTD
|
||||
bool "bootchartd"
|
||||
default n
|
||||
help
|
||||
bootchartd is commonly used to profile the boot process
|
||||
for the purpose of speeding it up. In this case, it is started
|
||||
by the kernel as the init process. This is configured by adding
|
||||
the init=/sbin/bootchartd option to the kernel command line.
|
||||
|
||||
It can also be used to monitor the resource usage of a specific
|
||||
application or the running system in general. In this case,
|
||||
bootchartd is started interactively by running bootchartd start
|
||||
and stopped using bootchartd stop.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER
|
||||
bool "Compatible, bloated header"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_BOOTCHARTD
|
||||
help
|
||||
Create extended header file compatible with "big" bootchartd.
|
||||
"Big" bootchartd is a shell script and it dumps some
|
||||
"convenient" info int the header, such as:
|
||||
title = Boot chart for `hostname` (`date`)
|
||||
system.uname = `uname -srvm`
|
||||
system.release = `cat /etc/DISTRO-release`
|
||||
system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount)
|
||||
system.kernel.options = `cat /proc/cmdline`
|
||||
This data is not mandatory for bootchart graph generation,
|
||||
and is considered bloat. Nevertheless, this option
|
||||
makes bootchartd applet to dump a subset of it.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
|
||||
bool "Support bootchartd.conf"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_BOOTCHARTD
|
||||
help
|
||||
Enable reading and parsing of $PWD/bootchartd.conf
|
||||
and /etc/bootchartd.conf files.
|
||||
config BUSYBOX_CONFIG_HALT
|
||||
bool "poweroff, halt, and reboot"
|
||||
default y
|
||||
help
|
||||
Stop all processes and either halt, reboot, or power off the system.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
|
||||
bool "Call telinit on shutdown and reboot"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
Call an external program (normally telinit) to facilitate
|
||||
a switch to a proper runlevel.
|
||||
|
||||
This option is only available if you selected halt and friends,
|
||||
but did not select init.
|
||||
|
||||
config BUSYBOX_CONFIG_TELINIT_PATH
|
||||
string "Path to telinit executable"
|
||||
default "/sbin/telinit"
|
||||
depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
|
||||
help
|
||||
When busybox halt and friends have to call external telinit
|
||||
to facilitate proper shutdown, this path is to be used when
|
||||
locating telinit executable.
|
||||
config BUSYBOX_CONFIG_INIT
|
||||
bool "init"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
depends on BROKEN
|
||||
help
|
||||
init is the first program run when the system boots.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
|
||||
bool "Support reading an inittab file"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
Allow init to read an inittab file when the system boot.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
|
||||
bool "Support killing processes that have been removed from inittab"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_USE_INITTAB
|
||||
help
|
||||
When respawn entries are removed from inittab and a SIGHUP is
|
||||
sent to init, this option will make init kill the processes
|
||||
that have been removed.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
|
||||
int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
|
||||
range 0 1024
|
||||
default 0
|
||||
depends on BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
|
||||
help
|
||||
With nonzero setting, init sends TERM, forks, child waits N
|
||||
seconds, sends KILL and exits. Setting it too high is unwise
|
||||
(child will hang around for too long and could actually kill
|
||||
the wrong process!)
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
|
||||
bool "Run commands with leading dash with controlling tty"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
If this option is enabled, init will try to give a controlling
|
||||
tty to any command which has leading hyphen (often it's "-/bin/sh").
|
||||
More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)".
|
||||
If device attached to STDIN_FILENO can be a ctty but is not yet
|
||||
a ctty for other session, it will become this process' ctty.
|
||||
This is not the traditional init behavour, but is often what you want
|
||||
in an embedded system where the console is only accessed during
|
||||
development or for maintenance.
|
||||
NB: using cttyhack applet may work better.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG
|
||||
bool "Enable init to write to syslog"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
|
||||
bool "Be _extra_ quiet on boot"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
Prevent init from logging some messages to the console during boot.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
|
||||
bool "Support dumping core for child processes (debugging only)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
If this option is enabled and the file /.init_enable_core
|
||||
exists, then init will call setrlimit() to allow unlimited
|
||||
core file sizes. If this option is disabled, processes
|
||||
will not generate any core files.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INITRD
|
||||
bool "Support running init from within an initrd (not initramfs)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
Legacy support for running init under the old-style initrd. Allows
|
||||
the name linuxrc to act as init, and it doesn't assume init is PID 1.
|
||||
|
||||
This does not apply to initramfs, which runs /init as PID 1 and
|
||||
requires no special support.
|
||||
|
||||
config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
|
||||
string "Initial terminal type"
|
||||
default "linux"
|
||||
depends on BUSYBOX_CONFIG_INIT
|
||||
help
|
||||
This is the initial value set by init for the TERM environment
|
||||
variable. This variable is used by programs which make use of
|
||||
extended terminal capabilities.
|
||||
|
||||
Note that on Linux, init attempts to detect serial terminal and
|
||||
sets TERM to "vt102" if one is found.
|
||||
config BUSYBOX_CONFIG_MESG
|
||||
bool "mesg"
|
||||
default n
|
||||
help
|
||||
Mesg controls access to your terminal by others. It is typically
|
||||
used to allow or disallow other users to write to your terminal
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP
|
||||
bool "Enable writing to tty only by group, not by everybody"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MESG
|
||||
help
|
||||
Usually, ttys are owned by group "tty", and "write" tool is
|
||||
setgid to this group. This way, "mesg y" only needs to enable
|
||||
"write by owning group" bit in tty mode.
|
||||
|
||||
If you set this option to N, "mesg y" will enable writing
|
||||
by anybody at all. This is not recommended.
|
||||
|
||||
endmenu
|
||||
232
package/utils/busybox/config/libbb/Config.in
Normal file
232
package/utils/busybox/config/libbb/Config.in
Normal file
@@ -0,0 +1,232 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Busybox Library Tuning"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SYSTEMD
|
||||
bool "Enable systemd support"
|
||||
default n
|
||||
help
|
||||
If you plan to use busybox daemons on a system where daemons
|
||||
are controlled by systemd, enable this option.
|
||||
If you don't use systemd, it is still safe to enable it,
|
||||
but the downside is increased code size.
|
||||
config BUSYBOX_CONFIG_FEATURE_RTMINMAX
|
||||
bool "Support RTMIN[+n] and RTMAX[-n] signal names"
|
||||
default n
|
||||
help
|
||||
Support RTMIN[+n] and RTMAX[-n] signal names
|
||||
in kill, killall etc. This costs ~250 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_PASSWORD_MINLEN
|
||||
int "Minimum password length"
|
||||
default 6
|
||||
range 5 32
|
||||
help
|
||||
Minimum allowable password length.
|
||||
|
||||
config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
|
||||
int "MD5: Trade bytes for speed (0:fast, 3:slow)"
|
||||
default 2
|
||||
range 0 3
|
||||
help
|
||||
Trade binary size versus speed for the md5sum algorithm.
|
||||
Approximate values running uClibc and hashing
|
||||
linux-2.4.4.tar.bz2 were:
|
||||
user times (sec) text size (386)
|
||||
0 (fastest) 1.1 6144
|
||||
1 1.4 5392
|
||||
2 3.0 5088
|
||||
3 (smallest) 5.1 4912
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FAST_TOP
|
||||
bool "Faster /proc scanning code (+100 bytes)"
|
||||
default y
|
||||
help
|
||||
This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
|
||||
but code size is slightly bigger.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
|
||||
bool "Support for /etc/networks"
|
||||
default n
|
||||
help
|
||||
Enable support for network names in /etc/networks. This is
|
||||
a rarely used feature which allows you to use names
|
||||
instead of IP/mask pairs in route command.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
|
||||
bool "Use termios to manipulate the screen"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
|
||||
help
|
||||
This option allows utilities such as 'more' and 'top' to determine
|
||||
the size of the screen. If you leave this disabled, your utilities
|
||||
that display things on the screen will be especially primitive and
|
||||
will be unable to determine the current screen size, and will be
|
||||
unable to move the cursor.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
bool "Command line editing"
|
||||
default y
|
||||
help
|
||||
Enable line editing (mainly for shell command line).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
|
||||
int "Maximum length of input"
|
||||
range 128 8192
|
||||
default 512
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
help
|
||||
Line editing code uses on-stack buffers for storage.
|
||||
You may want to decrease this parameter if your target machine
|
||||
benefits from smaller stack usage.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EDITING_VI
|
||||
bool "vi-style line editing commands"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
help
|
||||
Enable vi-style line editing. In shells, this mode can be
|
||||
turned on and off with "set -o vi" and "set +o vi".
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
|
||||
int "History size"
|
||||
# Don't allow way too big values here, code uses fixed "char *history[N]" struct member
|
||||
range 0 9999
|
||||
default 256
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
help
|
||||
Specify command history size (0 - disable).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
|
||||
bool "History saving"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
help
|
||||
Enable history saving in shells.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
|
||||
bool "Reverse history search"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
|
||||
help
|
||||
Enable readline-like Ctrl-R combination for reverse history search.
|
||||
Increases code by about 0.5k.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
|
||||
bool "Tab completion"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
help
|
||||
Enable tab completion.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
|
||||
bool "Username completion"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
|
||||
help
|
||||
Enable username completion.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
|
||||
bool "Fancy shell prompts"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
help
|
||||
Setting this option allows for prompts to use things like \w and
|
||||
\$ and escape codes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
|
||||
bool "Query cursor position from terminal"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_EDITING
|
||||
help
|
||||
Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
|
||||
current cursor position. This information is used to make line
|
||||
editing more robust in some cases.
|
||||
If you are not sure whether your terminals respond to this code
|
||||
correctly, or want to save on code size (about 400 bytes),
|
||||
then do not turn this option on.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
|
||||
bool "Non-POSIX, but safer, copying to special nodes"
|
||||
default y
|
||||
help
|
||||
With this option, "cp file symlink" will delete symlink
|
||||
and create a regular file. This does not conform to POSIX,
|
||||
but prevents a symlink attack.
|
||||
Similarly, "cp file device" will not send file's data
|
||||
to the device. (To do that, use "cat file >device")
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
|
||||
bool "Give more precise messages when copy fails (cp, mv etc)"
|
||||
default n
|
||||
help
|
||||
Error messages with this feature enabled:
|
||||
$ cp file /does_not_exist/file
|
||||
cp: cannot create '/does_not_exist/file': Path does not exist
|
||||
$ cp file /vmlinuz/file
|
||||
cp: cannot stat '/vmlinuz/file': Path has non-directory component
|
||||
If this feature is not enabled, they will be, respectively:
|
||||
cp: cannot create '/does_not_exist/file': No such file or directory
|
||||
cp: cannot stat '/vmlinuz/file': Not a directory
|
||||
This will cost you ~60 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
|
||||
int "Copy buffer size, in kilobytes"
|
||||
range 1 1024
|
||||
default 4
|
||||
help
|
||||
Size of buffer used by cp, mv, install, wget etc.
|
||||
Buffers which are 4 kb or less will be allocated on stack.
|
||||
Bigger buffers will be allocated with mmap, with fallback to 4 kb
|
||||
stack buffer if mmap fails.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
|
||||
bool "Skip rootfs in mount table"
|
||||
default n
|
||||
help
|
||||
Ignore rootfs entry in mount table.
|
||||
|
||||
In Linux, kernel has a special filesystem, rootfs, which is initially
|
||||
mounted on /. It contains initramfs data, if kernel is configured
|
||||
to have one. Usually, another file system is mounted over / early
|
||||
in boot process, and therefore most tools which manipulate
|
||||
mount table, such as df, will skip rootfs entry.
|
||||
|
||||
However, some systems do not mount anything on /.
|
||||
If you need to configure busybox for one of these systems,
|
||||
you may find useful to turn this option off to make df show
|
||||
initramfs statistic.
|
||||
|
||||
Otherwise, choose Y.
|
||||
|
||||
config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
|
||||
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
|
||||
time intervals (time, ping, traceroute etc need this).
|
||||
Probably requires Linux 2.6+. If not selected, gettimeofday
|
||||
will be used instead (which gives wrong results if date/time
|
||||
is reset).
|
||||
|
||||
config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
|
||||
bool "Use ioctl names rather than hex values in error messages"
|
||||
default y
|
||||
help
|
||||
Use ioctl names rather than hex values in error messages
|
||||
(e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
|
||||
saves about 1400 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HWIB
|
||||
bool "Support infiniband HW"
|
||||
default n
|
||||
help
|
||||
Support for printing infiniband addresses in
|
||||
network applets.
|
||||
|
||||
endmenu
|
||||
329
package/utils/busybox/config/loginutils/Config.in
Normal file
329
package/utils/busybox/config/loginutils/Config.in
Normal file
@@ -0,0 +1,329 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Login/Password Management Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_ADD_SHELL
|
||||
bool "add-shell"
|
||||
default n if BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Add shells to /etc/shells.
|
||||
|
||||
config BUSYBOX_CONFIG_REMOVE_SHELL
|
||||
bool "remove-shell"
|
||||
default n if BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Remove shells from /etc/shells.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
|
||||
bool "Support for shadow passwords"
|
||||
default y
|
||||
help
|
||||
Build support for shadow password in /etc/shadow. This file is only
|
||||
readable by root and thus the encrypted passwords are no longer
|
||||
publicly readable.
|
||||
|
||||
config BUSYBOX_CONFIG_USE_BB_PWD_GRP
|
||||
bool "Use internal password and group functions rather than system functions"
|
||||
default n
|
||||
help
|
||||
If you leave this disabled, busybox will use the system's password
|
||||
and group functions. And if you are using the GNU C library
|
||||
(glibc), you will then need to install the /etc/nsswitch.conf
|
||||
configuration file and the required /lib/libnss_* libraries in
|
||||
order for the password and group functions to work. This generally
|
||||
makes your embedded system quite a bit larger.
|
||||
|
||||
Enabling this option will cause busybox to directly access the
|
||||
system's /etc/password, /etc/group files (and your system will be
|
||||
smaller, and I will get fewer emails asking about how glibc NSS
|
||||
works). When this option is enabled, you will not be able to use
|
||||
PAM to access remote LDAP password servers and whatnot. And if you
|
||||
want hostname resolution to work with glibc, you still need the
|
||||
/lib/libnss_* libraries.
|
||||
|
||||
If you need to use glibc's nsswitch.conf mechanism
|
||||
(e.g. if user/group database is NOT stored in /etc/passwd etc),
|
||||
you must NOT use this option.
|
||||
|
||||
If you enable this option, it will add about 1.5k.
|
||||
|
||||
config BUSYBOX_CONFIG_USE_BB_SHADOW
|
||||
bool "Use internal shadow password functions"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
|
||||
help
|
||||
If you leave this disabled, busybox will use the system's shadow
|
||||
password handling functions. And if you are using the GNU C library
|
||||
(glibc), you will then need to install the /etc/nsswitch.conf
|
||||
configuration file and the required /lib/libnss_* libraries in
|
||||
order for the shadow password functions to work. This generally
|
||||
makes your embedded system quite a bit larger.
|
||||
|
||||
Enabling this option will cause busybox to directly access the
|
||||
system's /etc/shadow file when handling shadow passwords. This
|
||||
makes your system smaller (and I will get fewer emails asking about
|
||||
how glibc NSS works). When this option is enabled, you will not be
|
||||
able to use PAM to access shadow passwords from remote LDAP
|
||||
password servers and whatnot.
|
||||
|
||||
config BUSYBOX_CONFIG_USE_BB_CRYPT
|
||||
bool "Use internal crypt functions"
|
||||
default n
|
||||
help
|
||||
Busybox has internal DES and MD5 crypt functions.
|
||||
They produce results which are identical to corresponding
|
||||
standard C library functions.
|
||||
|
||||
If you leave this disabled, busybox will use the system's
|
||||
crypt functions. Most C libraries use large (~70k)
|
||||
static buffers there, and also combine them with more general
|
||||
DES encryption/decryption.
|
||||
|
||||
For busybox, having large static buffers is undesirable,
|
||||
especially on NOMMU machines. Busybox also doesn't need
|
||||
DES encryption/decryption and can do with smaller code.
|
||||
|
||||
If you enable this option, it will add about 4.8k of code
|
||||
if you are building dynamically linked executable.
|
||||
In static build, it makes code _smaller_ by about 1.2k,
|
||||
and likely many kilobytes less of bss.
|
||||
|
||||
config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
|
||||
bool "Enable SHA256/512 crypt functions"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_USE_BB_CRYPT
|
||||
help
|
||||
Enable this if you have passwords starting with "$5$" or "$6$"
|
||||
in your /etc/passwd or /etc/shadow files. These passwords
|
||||
are hashed using SHA256 and SHA512 algorithms. Support for them
|
||||
was added to glibc in 2008.
|
||||
With this option off, login will fail password check for any
|
||||
user which has password encrypted with these algorithms.
|
||||
|
||||
config BUSYBOX_CONFIG_ADDUSER
|
||||
bool "adduser"
|
||||
default n
|
||||
help
|
||||
Utility for creating a new user account.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ADDUSER_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ADDUSER && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the adduser applet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
|
||||
bool "Enable sanity check on user/group names in adduser and addgroup"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
|
||||
help
|
||||
Enable sanity check on user and group names in adduser and addgroup.
|
||||
To avoid problems, the user or group name should consist only of
|
||||
letters, digits, underscores, periods, at signs and dashes,
|
||||
and not start with a dash (as defined by IEEE Std 1003.1-2001).
|
||||
For compatibility with Samba machine accounts "$" is also supported
|
||||
at the end of the user or group name.
|
||||
|
||||
config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
|
||||
int "First valid system uid or gid for adduser and addgroup"
|
||||
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
|
||||
range 0 64900
|
||||
default 100
|
||||
help
|
||||
First valid system uid or gid for adduser and addgroup
|
||||
|
||||
config BUSYBOX_CONFIG_LAST_SYSTEM_ID
|
||||
int "Last valid system uid or gid for adduser and addgroup"
|
||||
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
|
||||
range 0 64900
|
||||
default 999
|
||||
help
|
||||
Last valid system uid or gid for adduser and addgroup
|
||||
|
||||
config BUSYBOX_CONFIG_ADDGROUP
|
||||
bool "addgroup"
|
||||
default n
|
||||
help
|
||||
Utility for creating a new group account.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the addgroup applet.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
|
||||
bool "Support for adding users to groups"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ADDGROUP
|
||||
help
|
||||
If called with two non-option arguments,
|
||||
addgroup will add an existing user to an
|
||||
existing group.
|
||||
|
||||
config BUSYBOX_CONFIG_DELUSER
|
||||
bool "deluser"
|
||||
default n
|
||||
help
|
||||
Utility for deleting a user account.
|
||||
|
||||
config BUSYBOX_CONFIG_DELGROUP
|
||||
bool "delgroup"
|
||||
default n
|
||||
help
|
||||
Utility for deleting a group account.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
|
||||
bool "Support for removing users from groups"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DELGROUP
|
||||
help
|
||||
If called with two non-option arguments, deluser
|
||||
or delgroup will remove an user from a specified group.
|
||||
|
||||
config BUSYBOX_CONFIG_GETTY
|
||||
bool "getty"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
getty lets you log in on a tty. It is normally invoked by init.
|
||||
|
||||
Note that you can save a few bytes by disabling it and
|
||||
using login applet directly.
|
||||
If you need to reset tty attributes before calling login,
|
||||
this script approximates getty:
|
||||
|
||||
exec </dev/$1 >/dev/$1 2>&1 || exit 1
|
||||
reset
|
||||
stty sane; stty ispeed 38400; stty ospeed 38400
|
||||
printf "%s login: " "`hostname`"
|
||||
read -r login
|
||||
exec /bin/login "$login"
|
||||
|
||||
config BUSYBOX_CONFIG_LOGIN
|
||||
bool "login"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
login is used when signing onto a system.
|
||||
|
||||
Note that Busybox binary must be setuid root for this applet to
|
||||
work properly.
|
||||
|
||||
config BUSYBOX_CONFIG_PAM
|
||||
bool "Support for PAM (Pluggable Authentication Modules)"
|
||||
default n
|
||||
depends on DEVEL
|
||||
depends on BUSYBOX_CONFIG_LOGIN
|
||||
help
|
||||
Use PAM in login(1) instead of direct access to password database.
|
||||
|
||||
OpenWrt specific:
|
||||
You should install libpam from the packages feed and compile it
|
||||
before trying to build busysbox.
|
||||
|
||||
config BUSYBOX_CONFIG_LOGIN_SCRIPTS
|
||||
bool "Support for login scripts"
|
||||
depends on BUSYBOX_CONFIG_LOGIN
|
||||
default n
|
||||
help
|
||||
Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
|
||||
just prior to switching from root to logged-in user.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_NOLOGIN
|
||||
bool "Support for /etc/nologin"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LOGIN
|
||||
help
|
||||
The file /etc/nologin is used by (some versions of) login(1).
|
||||
If it exists, non-root logins are prohibited.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SECURETTY
|
||||
bool "Support for /etc/securetty"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LOGIN
|
||||
help
|
||||
The file /etc/securetty is used by (some versions of) login(1).
|
||||
The file contains the device names of tty lines (one per line,
|
||||
without leading /dev/) on which root is allowed to login.
|
||||
|
||||
config BUSYBOX_CONFIG_PASSWD
|
||||
bool "passwd"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
passwd changes passwords for user and group accounts. A normal user
|
||||
may only change the password for his/her own account, the super user
|
||||
may change the password for any account. The administrator of a group
|
||||
may change the password for the group.
|
||||
|
||||
Note that Busybox binary must be setuid root for this applet to
|
||||
work properly.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
|
||||
bool "Check new passwords for weakness"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_PASSWD
|
||||
help
|
||||
With this option passwd will refuse new passwords which are "weak".
|
||||
|
||||
config BUSYBOX_CONFIG_CRYPTPW
|
||||
bool "cryptpw"
|
||||
default n
|
||||
help
|
||||
Encrypts the given password with the crypt(3) libc function
|
||||
using the given salt. Debian has this utility under mkpasswd
|
||||
name. Busybox provides mkpasswd as an alias for cryptpw.
|
||||
|
||||
config BUSYBOX_CONFIG_CHPASSWD
|
||||
bool "chpasswd"
|
||||
default n
|
||||
help
|
||||
Reads a file of user name and password pairs from standard input
|
||||
and uses this information to update a group of existing users.
|
||||
|
||||
config BUSYBOX_CONFIG_SU
|
||||
bool "su"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
su is used to become another user during a login session.
|
||||
Invoked without a username, su defaults to becoming the super user.
|
||||
|
||||
Note that Busybox binary must be setuid root for this applet to
|
||||
work properly.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SU_SYSLOG
|
||||
bool "Enable su to write to syslog"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SU
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS
|
||||
bool "Enable su to check user's shell to be listed in /etc/shells"
|
||||
depends on BUSYBOX_CONFIG_SU
|
||||
default n
|
||||
|
||||
config BUSYBOX_CONFIG_SULOGIN
|
||||
bool "sulogin"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
sulogin is invoked when the system goes into single user
|
||||
mode (this is done through an entry in inittab).
|
||||
|
||||
config BUSYBOX_CONFIG_VLOCK
|
||||
bool "vlock"
|
||||
default n
|
||||
help
|
||||
Build the "vlock" applet which allows you to lock (virtual) terminals.
|
||||
|
||||
Note that Busybox binary must be setuid root for this applet to
|
||||
work properly.
|
||||
|
||||
endmenu
|
||||
56
package/utils/busybox/config/mailutils/Config.in
Normal file
56
package/utils/busybox/config/mailutils/Config.in
Normal file
@@ -0,0 +1,56 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
menu "Mail Utilities"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_MAKEMIME
|
||||
bool "makemime"
|
||||
default n
|
||||
help
|
||||
Create MIME-formatted messages.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
|
||||
string "Default charset"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
|
||||
help
|
||||
Default charset of the message.
|
||||
|
||||
config BUSYBOX_CONFIG_POPMAILDIR
|
||||
bool "popmaildir"
|
||||
default n
|
||||
help
|
||||
Simple yet powerful POP3 mail popper. Delivers content
|
||||
of remote mailboxes to local Maildir.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_POPMAILDIR_DELIVERY
|
||||
bool "Allow message filters and custom delivery program"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_POPMAILDIR
|
||||
help
|
||||
Allow to use a custom program to filter the content
|
||||
of the message before actual delivery (-F "prog [args...]").
|
||||
Allow to use a custom program for message actual delivery
|
||||
(-M "prog [args...]").
|
||||
|
||||
config BUSYBOX_CONFIG_REFORMIME
|
||||
bool "reformime"
|
||||
default n
|
||||
help
|
||||
Parse MIME-formatted messages.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_REFORMIME_COMPAT
|
||||
bool "Accept and ignore options other than -x and -X"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_REFORMIME
|
||||
help
|
||||
Accept (for compatibility only) and ignore options
|
||||
other than -x and -X.
|
||||
|
||||
config BUSYBOX_CONFIG_SENDMAIL
|
||||
bool "sendmail"
|
||||
default n
|
||||
help
|
||||
Barebones sendmail.
|
||||
|
||||
endmenu
|
||||
766
package/utils/busybox/config/miscutils/Config.in
Normal file
766
package/utils/busybox/config/miscutils/Config.in
Normal file
@@ -0,0 +1,766 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Miscellaneous Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_CONSPY
|
||||
bool "conspy"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
A text-mode VNC like program for Linux virtual terminals.
|
||||
example: conspy NUM shared access to console num
|
||||
or conspy -nd NUM screenshot of console num
|
||||
or conspy -cs NUM poor man's GNU screen like
|
||||
config BUSYBOX_CONFIG_LESS
|
||||
bool "less"
|
||||
default y
|
||||
help
|
||||
'less' is a pager, meaning that it displays text files. It possesses
|
||||
a wide array of features, and is an improvement over 'more'.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
|
||||
int "Max number of input lines less will try to eat"
|
||||
default 9999999
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
|
||||
bool "Enable bracket searching"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
This option adds the capability to search for matching left and right
|
||||
brackets, facilitating programming.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
|
||||
bool "Enable extra flags"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
The extra flags provided do the following:
|
||||
|
||||
The -M flag enables a more sophisticated status line.
|
||||
The -m flag enables a simpler status line with a percentage.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
|
||||
bool "Enable marks"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
Marks enable positions in a file to be stored for easy reference.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
|
||||
bool "Enable regular expressions"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
Enable regular expressions, allowing complex file searches.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
|
||||
bool "Enable automatic resizing on window size changes"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
Makes less track window size changes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL
|
||||
bool "Use 'tell me cursor position' ESC sequence to measure window"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_LESS_WINCH
|
||||
help
|
||||
Makes less track window size changes.
|
||||
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
|
||||
this option makes less perform a last-ditch effort to find it:
|
||||
position cursor to 999,999 and ask terminal to report real
|
||||
cursor position using "ESC [ 6 n" escape sequence, then read stdin.
|
||||
|
||||
This is not clean but helps a lot on serial lines and such.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
|
||||
bool "Enable flag changes ('-' command)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LESS
|
||||
help
|
||||
This enables the ability to change command-line flags within
|
||||
less itself ('-' keyboard command).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
|
||||
bool "Enable dynamic switching of line numbers"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
|
||||
help
|
||||
Enables "-N" command.
|
||||
config BUSYBOX_CONFIG_NANDWRITE
|
||||
bool "nandwrite"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Write to the specified MTD device, with bad blocks awareness
|
||||
|
||||
config BUSYBOX_CONFIG_NANDDUMP
|
||||
bool "nanddump"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Dump the content of raw NAND chip
|
||||
config BUSYBOX_CONFIG_SETSERIAL
|
||||
bool "setserial"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Retrieve or set Linux serial port.
|
||||
config BUSYBOX_CONFIG_UBIATTACH
|
||||
bool "ubiattach"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Attach MTD device to an UBI device.
|
||||
|
||||
config BUSYBOX_CONFIG_UBIDETACH
|
||||
bool "ubidetach"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Detach MTD device from an UBI device.
|
||||
|
||||
config BUSYBOX_CONFIG_UBIMKVOL
|
||||
bool "ubimkvol"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Create a UBI volume.
|
||||
|
||||
config BUSYBOX_CONFIG_UBIRMVOL
|
||||
bool "ubirmvol"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Delete a UBI volume.
|
||||
|
||||
config BUSYBOX_CONFIG_UBIRSVOL
|
||||
bool "ubirsvol"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Resize a UBI volume.
|
||||
|
||||
config BUSYBOX_CONFIG_UBIUPDATEVOL
|
||||
bool "ubiupdatevol"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Update a UBI volume.
|
||||
|
||||
config BUSYBOX_CONFIG_ADJTIMEX
|
||||
bool "adjtimex"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Adjtimex reads and optionally sets adjustment parameters for
|
||||
the Linux clock adjustment algorithm.
|
||||
|
||||
config BUSYBOX_CONFIG_BBCONFIG
|
||||
bool "bbconfig"
|
||||
default n
|
||||
help
|
||||
The bbconfig applet will print the config file with which
|
||||
busybox was built.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
|
||||
bool "Compress bbconfig data"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_BBCONFIG
|
||||
help
|
||||
Store bbconfig data in compressed form, uncompress them on-the-fly
|
||||
before output.
|
||||
|
||||
If you have a really tiny busybox with few applets enabled (and
|
||||
bunzip2 isn't one of them), the overhead of the decompressor might
|
||||
be noticeable. Also, if you run executables directly from ROM
|
||||
and have very little memory, this might not be a win. Otherwise,
|
||||
you probably want this.
|
||||
|
||||
config BUSYBOX_CONFIG_BEEP
|
||||
bool "beep"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The beep applets beeps in a given freq/Hz.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BEEP_FREQ
|
||||
int "default frequency"
|
||||
range 0 2147483647
|
||||
default 4000
|
||||
depends on BUSYBOX_CONFIG_BEEP
|
||||
help
|
||||
Frequency for default beep.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BEEP_LENGTH_MS
|
||||
int "default length"
|
||||
range 0 2147483647
|
||||
default 30
|
||||
depends on BUSYBOX_CONFIG_BEEP
|
||||
help
|
||||
Length in ms for default beep.
|
||||
|
||||
config BUSYBOX_CONFIG_CHAT
|
||||
bool "chat"
|
||||
default n
|
||||
help
|
||||
Simple chat utility.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHAT_NOFAIL
|
||||
bool "Enable NOFAIL expect strings"
|
||||
depends on BUSYBOX_CONFIG_CHAT
|
||||
default n
|
||||
help
|
||||
When enabled expect strings which are started with a dash trigger
|
||||
no-fail mode. That is when expectation is not met within timeout
|
||||
the script is not terminated but sends next SEND string and waits
|
||||
for next EXPECT string. This allows to compose far more flexible
|
||||
scripts.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHAT_TTY_HIFI
|
||||
bool "Force STDIN to be a TTY"
|
||||
depends on BUSYBOX_CONFIG_CHAT
|
||||
default n
|
||||
help
|
||||
Original chat always treats STDIN as a TTY device and sets for it
|
||||
so-called raw mode. This option turns on such behaviour.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHAT_IMPLICIT_CR
|
||||
bool "Enable implicit Carriage Return"
|
||||
depends on BUSYBOX_CONFIG_CHAT
|
||||
default n
|
||||
help
|
||||
When enabled make chat to terminate all SEND strings with a "\r"
|
||||
unless "\c" is met anywhere in the string.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHAT_SWALLOW_OPTS
|
||||
bool "Swallow options"
|
||||
depends on BUSYBOX_CONFIG_CHAT
|
||||
default n
|
||||
help
|
||||
Busybox chat require no options. To make it not fail when used
|
||||
in place of original chat (which has a bunch of options) turn
|
||||
this on.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHAT_SEND_ESCAPES
|
||||
bool "Support weird SEND escapes"
|
||||
depends on BUSYBOX_CONFIG_CHAT
|
||||
default n
|
||||
help
|
||||
Original chat uses some escape sequences in SEND arguments which
|
||||
are not sent to device but rather performs special actions.
|
||||
E.g. "\K" means to send a break sequence to device.
|
||||
"\d" delays execution for a second, "\p" -- for a 1/100 of second.
|
||||
Before turning this option on think twice: do you really need them?
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHAT_VAR_ABORT_LEN
|
||||
bool "Support variable-length ABORT conditions"
|
||||
depends on BUSYBOX_CONFIG_CHAT
|
||||
default n
|
||||
help
|
||||
Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHAT_CLR_ABORT
|
||||
bool "Support revoking of ABORT conditions"
|
||||
depends on BUSYBOX_CONFIG_CHAT
|
||||
default n
|
||||
help
|
||||
Support CLR_ABORT directive.
|
||||
|
||||
config BUSYBOX_CONFIG_CHRT
|
||||
bool "chrt"
|
||||
default n
|
||||
help
|
||||
manipulate real-time attributes of a process.
|
||||
This requires sched_{g,s}etparam support in your libc.
|
||||
|
||||
config BUSYBOX_CONFIG_CROND
|
||||
bool "crond"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
Crond is a background daemon that parses individual crontab
|
||||
files and executes commands on behalf of the users in question.
|
||||
This is a port of dcron from slackware. It uses files of the
|
||||
format /var/spool/cron/crontabs/<username> files, for example:
|
||||
$ cat /var/spool/cron/crontabs/root
|
||||
# Run daily cron jobs at 4:40 every day:
|
||||
40 4 * * * /etc/cron/daily > /dev/null 2>&1
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CROND_D
|
||||
bool "Support option -d to redirect output to stderr"
|
||||
depends on BUSYBOX_CONFIG_CROND
|
||||
default n
|
||||
help
|
||||
-d sets loglevel to 0 (most verbose) and directs all output to stderr.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
|
||||
bool "Report command output via email (using sendmail)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CROND
|
||||
help
|
||||
Command output will be sent to corresponding user via email.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CROND_DIR
|
||||
string "crond spool directory"
|
||||
default "/var/spool/cron"
|
||||
depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
|
||||
help
|
||||
Location of crond spool.
|
||||
|
||||
config BUSYBOX_CONFIG_CRONTAB
|
||||
bool "crontab"
|
||||
default y
|
||||
help
|
||||
Crontab manipulates the crontab for a particular user. Only
|
||||
the superuser may specify a different user and/or crontab directory.
|
||||
Note that Busybox binary must be setuid root for this applet to
|
||||
work properly.
|
||||
|
||||
config BUSYBOX_CONFIG_DC
|
||||
bool "dc"
|
||||
default n
|
||||
help
|
||||
Dc is a reverse-polish desk calculator which supports unlimited
|
||||
precision arithmetic.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DC_LIBM
|
||||
bool "Enable power and exp functions (requires libm)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DC
|
||||
help
|
||||
Enable power and exp functions.
|
||||
NOTE: This will require libm to be present for linking.
|
||||
|
||||
config BUSYBOX_CONFIG_DEVFSD
|
||||
bool "devfsd (obsolete)"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
This is deprecated and should NOT be used anymore.
|
||||
Use linux >= 2.6 (optionally with hotplug) and mdev instead!
|
||||
See docs/mdev.txt for detailed instructions on how to use mdev
|
||||
instead.
|
||||
|
||||
Provides compatibility with old device names on a devfs systems.
|
||||
You should set it to true if you have devfs enabled.
|
||||
The following keywords in devsfd.conf are supported:
|
||||
"CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE",
|
||||
"PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
|
||||
"MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
|
||||
|
||||
But only if they are written UPPERCASE!!!!!!!!
|
||||
|
||||
config BUSYBOX_CONFIG_DEVFSD_MODLOAD
|
||||
bool "Adds support for MODLOAD keyword in devsfd.conf"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DEVFSD
|
||||
help
|
||||
This actually doesn't work with busybox modutils but needs
|
||||
the external modutils.
|
||||
|
||||
config BUSYBOX_CONFIG_DEVFSD_FG_NP
|
||||
bool "Enables the -fg and -np options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DEVFSD
|
||||
help
|
||||
-fg Run the daemon in the foreground.
|
||||
-np Exit after parsing the configuration file.
|
||||
Do not poll for events.
|
||||
|
||||
config BUSYBOX_CONFIG_DEVFSD_VERBOSE
|
||||
bool "Increases logging (and size)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DEVFSD
|
||||
help
|
||||
Increases logging to stderr or syslog.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DEVFS
|
||||
bool "Use devfs names for all devices (obsolete)"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This is obsolete and should NOT be used anymore.
|
||||
Use linux >= 2.6 (optionally with hotplug) and mdev instead!
|
||||
|
||||
For legacy systems -- if there is no way around devfsd -- this
|
||||
tells busybox to look for names like /dev/loop/0 instead of
|
||||
/dev/loop0. If your /dev directory has normal names instead of
|
||||
devfs names, you don't want this.
|
||||
|
||||
config BUSYBOX_CONFIG_DEVMEM
|
||||
bool "devmem"
|
||||
default n
|
||||
help
|
||||
devmem is a small program that reads and writes from physical
|
||||
memory using /dev/mem.
|
||||
|
||||
config BUSYBOX_CONFIG_EJECT
|
||||
bool "eject"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Used to eject cdroms. (defaults to /dev/cdrom)
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
|
||||
bool "SCSI support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_EJECT
|
||||
help
|
||||
Add the -s option to eject, this allows to eject SCSI-Devices and
|
||||
usb-storage devices.
|
||||
|
||||
config BUSYBOX_CONFIG_FBSPLASH
|
||||
bool "fbsplash"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Shows splash image and progress bar on framebuffer device.
|
||||
Can be used during boot phase of an embedded device. ~2kb.
|
||||
Usage:
|
||||
- use kernel option 'vga=xxx' or otherwise enable fb device.
|
||||
- put somewhere fbsplash.cfg file and an image in .ppm format.
|
||||
- $ setsid fbsplash [params] &
|
||||
-c: hide cursor
|
||||
-d /dev/fbN: framebuffer device (if not /dev/fb0)
|
||||
-s path_to_image_file (can be "-" for stdin)
|
||||
-i path_to_cfg_file (can be "-" for stdin)
|
||||
-f path_to_fifo (can be "-" for stdin)
|
||||
- if you want to run it only in presence of kernel parameter:
|
||||
grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] &
|
||||
- commands for fifo:
|
||||
"NN" (ASCII decimal number) - percentage to show on progress bar
|
||||
"exit" - well you guessed it
|
||||
|
||||
config BUSYBOX_CONFIG_FLASHCP
|
||||
bool "flashcp"
|
||||
default n # doesn't build on Ubuntu 8.04
|
||||
help
|
||||
The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
|
||||
This utility is used to copy images into a MTD device.
|
||||
|
||||
config BUSYBOX_CONFIG_FLASH_LOCK
|
||||
bool "flash_lock"
|
||||
default n # doesn't build on Ubuntu 8.04
|
||||
help
|
||||
The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
|
||||
utility locks part or all of the flash device.
|
||||
|
||||
config BUSYBOX_CONFIG_FLASH_UNLOCK
|
||||
bool "flash_unlock"
|
||||
default n # doesn't build on Ubuntu 8.04
|
||||
help
|
||||
The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
|
||||
utility unlocks part or all of the flash device.
|
||||
|
||||
config BUSYBOX_CONFIG_FLASH_ERASEALL
|
||||
bool "flash_eraseall"
|
||||
default n # doesn't build on Ubuntu 8.04
|
||||
help
|
||||
The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
|
||||
This utility is used to erase the whole MTD device.
|
||||
|
||||
config BUSYBOX_CONFIG_IONICE
|
||||
bool "ionice"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Set/set program io scheduling class and priority
|
||||
Requires kernel >= 2.6.13
|
||||
|
||||
config BUSYBOX_CONFIG_INOTIFYD
|
||||
bool "inotifyd"
|
||||
default n # doesn't build on Knoppix 5
|
||||
help
|
||||
Simple inotify daemon. Reports filesystem changes. Requires
|
||||
kernel >= 2.6.13
|
||||
|
||||
config BUSYBOX_CONFIG_LAST
|
||||
bool "last"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_WTMP
|
||||
help
|
||||
'last' displays a list of the last users that logged into the system.
|
||||
|
||||
choice
|
||||
prompt "Choose last implementation"
|
||||
depends on BUSYBOX_CONFIG_LAST
|
||||
default BUSYBOX_CONFIG_FEATURE_LAST_FANCY
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
|
||||
bool "small"
|
||||
help
|
||||
This is a small version of last with just the basic set of
|
||||
features.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
|
||||
bool "huge"
|
||||
help
|
||||
'last' displays detailed information about the last users that
|
||||
logged into the system (mimics sysvinit last). +900 bytes.
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_HDPARM
|
||||
bool "hdparm"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Get/Set hard drive parameters. Primarily intended for ATA
|
||||
drives. Adds about 13k (or around 30k if you enable the
|
||||
FEATURE_HDPARM_GET_IDENTITY option)....
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
|
||||
bool "Support obtaining detailed information directly from drives"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HDPARM
|
||||
help
|
||||
Enables the -I and -i options to obtain detailed information
|
||||
directly from drives about their capabilities and supported ATA
|
||||
feature set. If no device name is specified, hdparm will read
|
||||
identify data from stdin. Enabling this option will add about 16k...
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
|
||||
bool "Register an IDE interface (DANGEROUS)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HDPARM
|
||||
help
|
||||
Enables the 'hdparm -R' option to register an IDE interface.
|
||||
This is dangerous stuff, so you should probably say N.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
|
||||
bool "Un-register an IDE interface (DANGEROUS)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HDPARM
|
||||
help
|
||||
Enables the 'hdparm -U' option to un-register an IDE interface.
|
||||
This is dangerous stuff, so you should probably say N.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
|
||||
bool "Perform device reset (DANGEROUS)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HDPARM
|
||||
help
|
||||
Enables the 'hdparm -w' option to perform a device reset.
|
||||
This is dangerous stuff, so you should probably say N.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
|
||||
bool "Tristate device for hotswap (DANGEROUS)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HDPARM
|
||||
help
|
||||
Enables the 'hdparm -x' option to tristate device for hotswap,
|
||||
and the '-b' option to get/set bus state. This is dangerous
|
||||
stuff, so you should probably say N.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||
bool "Get/set using_dma flag"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HDPARM
|
||||
help
|
||||
Enables the 'hdparm -d' option to get/set using_dma flag.
|
||||
|
||||
config BUSYBOX_CONFIG_LOCK
|
||||
bool "lock"
|
||||
default y
|
||||
help
|
||||
Small utility for using locks in scripts
|
||||
|
||||
config BUSYBOX_CONFIG_MAKEDEVS
|
||||
bool "makedevs"
|
||||
default n
|
||||
help
|
||||
'makedevs' is a utility used to create a batch of devices with
|
||||
one command.
|
||||
|
||||
There are two choices for command line behaviour, the interface
|
||||
as used by LEAF/Linux Router Project, or a device table file.
|
||||
|
||||
'leaf' is traditionally what busybox follows, it allows multiple
|
||||
devices of a particluar type to be created per command.
|
||||
e.g. /dev/hda[0-9]
|
||||
Device properties are passed as command line arguments.
|
||||
|
||||
'table' reads device properties from a file or stdin, allowing
|
||||
a batch of unrelated devices to be made with one command.
|
||||
User/group names are allowed as an alternative to uid/gid.
|
||||
|
||||
choice
|
||||
prompt "Choose makedevs behaviour"
|
||||
depends on BUSYBOX_CONFIG_MAKEDEVS
|
||||
default BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_LEAF
|
||||
bool "leaf"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
|
||||
bool "table"
|
||||
|
||||
endchoice
|
||||
|
||||
config BUSYBOX_CONFIG_MAN
|
||||
bool "man"
|
||||
default n
|
||||
help
|
||||
Format and display manual pages.
|
||||
|
||||
config BUSYBOX_CONFIG_MICROCOM
|
||||
bool "microcom"
|
||||
default n
|
||||
help
|
||||
The poor man's minicom utility for chatting with serial port devices.
|
||||
|
||||
config BUSYBOX_CONFIG_MOUNTPOINT
|
||||
bool "mountpoint"
|
||||
default n
|
||||
help
|
||||
mountpoint checks if the directory is a mountpoint.
|
||||
|
||||
config BUSYBOX_CONFIG_MT
|
||||
bool "mt"
|
||||
default n
|
||||
help
|
||||
mt is used to control tape devices. You can use the mt utility
|
||||
to advance or rewind a tape past a specified number of archive
|
||||
files on the tape.
|
||||
|
||||
config BUSYBOX_CONFIG_RAIDAUTORUN
|
||||
bool "raidautorun"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
raidautorun tells the kernel md driver to
|
||||
search and start RAID arrays.
|
||||
|
||||
config BUSYBOX_CONFIG_READAHEAD
|
||||
bool "readahead"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LFS
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Preload the files listed on the command line into RAM cache so that
|
||||
subsequent reads on these files will not block on disk I/O.
|
||||
|
||||
This applet just calls the readahead(2) system call on each file.
|
||||
It is mainly useful in system startup scripts to preload files
|
||||
or executables before they are used. When used at the right time
|
||||
(in particular when a CPU bound process is running) it can
|
||||
significantly speed up system startup.
|
||||
|
||||
As readahead(2) blocks until each file has been read, it is best to
|
||||
run this applet as a background job.
|
||||
|
||||
config BUSYBOX_CONFIG_RFKILL
|
||||
bool "rfkill"
|
||||
default n # doesn't build on Ubuntu 9.04
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Enable/disable wireless devices.
|
||||
|
||||
rfkill list : list all wireless devices
|
||||
rfkill list bluetooth : list all bluetooth devices
|
||||
rfkill list 1 : list device corresponding to the given index
|
||||
rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
|
||||
|
||||
config BUSYBOX_CONFIG_RUNLEVEL
|
||||
bool "runlevel"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_UTMP
|
||||
help
|
||||
find the current and previous system runlevel.
|
||||
|
||||
This applet uses utmp but does not rely on busybox supporing
|
||||
utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
|
||||
|
||||
config BUSYBOX_CONFIG_RX
|
||||
bool "rx"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Receive files using the Xmodem protocol.
|
||||
|
||||
config BUSYBOX_CONFIG_SETSID
|
||||
bool "setsid"
|
||||
default n
|
||||
help
|
||||
setsid runs a program in a new session
|
||||
|
||||
config BUSYBOX_CONFIG_STRINGS
|
||||
bool "strings"
|
||||
default y
|
||||
help
|
||||
strings prints the printable character sequences for each file
|
||||
specified.
|
||||
|
||||
config BUSYBOX_CONFIG_TASKSET
|
||||
bool "taskset"
|
||||
default n # doesn't build on some non-x86 targets (m68k)
|
||||
help
|
||||
Retrieve or set a processes's CPU affinity.
|
||||
This requires sched_{g,s}etaffinity support in your libc.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
|
||||
bool "Fancy output"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TASKSET
|
||||
help
|
||||
Add code for fancy output. This merely silences a compiler-warning
|
||||
and adds about 135 Bytes. May be needed for machines with alot
|
||||
of CPUs.
|
||||
|
||||
config BUSYBOX_CONFIG_TIME
|
||||
bool "time"
|
||||
default y
|
||||
help
|
||||
The time command runs the specified program with the given arguments.
|
||||
When the command finishes, time writes a message to standard output
|
||||
giving timing statistics about this program run.
|
||||
|
||||
config BUSYBOX_CONFIG_TIMEOUT
|
||||
bool "timeout"
|
||||
default n
|
||||
help
|
||||
Runs a program and watches it. If it does not terminate in
|
||||
specified number of seconds, it is sent a signal.
|
||||
|
||||
config BUSYBOX_CONFIG_TTYSIZE
|
||||
bool "ttysize"
|
||||
default n
|
||||
help
|
||||
A replacement for "stty size". Unlike stty, can report only width,
|
||||
only height, or both, in any order. It also does not complain on
|
||||
error, but returns default 80x24.
|
||||
Usage in shell scripts: width=`ttysize w`.
|
||||
|
||||
config BUSYBOX_CONFIG_VOLNAME
|
||||
bool "volname"
|
||||
default n
|
||||
help
|
||||
Prints a CD-ROM volume name.
|
||||
|
||||
config BUSYBOX_CONFIG_WALL
|
||||
bool "wall"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_UTMP
|
||||
help
|
||||
Write a message to all users that are logged in.
|
||||
|
||||
config BUSYBOX_CONFIG_WATCHDOG
|
||||
bool "watchdog"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The watchdog utility is used with hardware or software watchdog
|
||||
device drivers. It opens the specified watchdog device special file
|
||||
and periodically writes a magic character to the device. If the
|
||||
watchdog applet ever fails to write the magic character within a
|
||||
certain amount of time, the watchdog device assumes the system has
|
||||
hung, and will cause the hardware to reboot.
|
||||
|
||||
endmenu
|
||||
269
package/utils/busybox/config/modutils/Config.in
Normal file
269
package/utils/busybox/config/modutils/Config.in
Normal file
@@ -0,0 +1,269 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Linux Module Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_MODINFO
|
||||
bool "modinfo"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Show information about a Linux Kernel module
|
||||
|
||||
config BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
bool "Simplified modutils"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Simplified modutils.
|
||||
|
||||
With this option modprobe does not require modules.dep file
|
||||
and does not use /etc/modules.conf file.
|
||||
It scans module files in /lib/modules/`uname -r` and
|
||||
determines dependencies and module alias names on the fly.
|
||||
This may make module loading slower, most notably
|
||||
when one needs to load module by alias (this requires
|
||||
scanning through module _bodies_).
|
||||
|
||||
At the first attempt to load a module by alias modprobe
|
||||
will try to generate modules.dep.bb file in order to speed up
|
||||
future loads by alias. Failure to do so (read-only /lib/modules,
|
||||
etc) is not reported, and future modprobes will be slow too.
|
||||
|
||||
NB: modules.dep.bb file format is not compatible
|
||||
with modules.dep file as created/used by standard module tools.
|
||||
|
||||
Additional module parameters can be stored in
|
||||
/etc/modules/$module_name files.
|
||||
|
||||
Apart from modprobe, other utilities are also provided:
|
||||
- insmod is an alias to modprobe
|
||||
- rmmod is an alias to modprobe -r
|
||||
- depmod generates modules.dep.bb
|
||||
|
||||
As of 2008-07, this code is experimental. It is 14kb smaller
|
||||
than "non-small" modutils.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
|
||||
bool "Accept module options on modprobe command line"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Allow insmod and modprobe take module options from command line.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
|
||||
bool "Skip loading of already loaded modules"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
help
|
||||
Check if the module is already loaded.
|
||||
|
||||
config BUSYBOX_CONFIG_INSMOD
|
||||
bool "insmod"
|
||||
default y
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
insmod is used to load specified modules in the running kernel.
|
||||
|
||||
config BUSYBOX_CONFIG_RMMOD
|
||||
bool "rmmod"
|
||||
default y
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
rmmod is used to unload specified modules from the kernel.
|
||||
|
||||
config BUSYBOX_CONFIG_LSMOD
|
||||
bool "lsmod"
|
||||
default y
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
lsmod is used to display a list of loaded modules.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
|
||||
bool "Pretty output"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_LSMOD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This option makes output format of lsmod adjusted to
|
||||
the format of module-init-tools for Linux kernel 2.6.
|
||||
Increases size somewhat.
|
||||
|
||||
config BUSYBOX_CONFIG_MODPROBE
|
||||
bool "modprobe"
|
||||
default n
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Handle the loading of modules, and their dependencies on a high
|
||||
level.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
|
||||
bool "Blacklist support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MODPROBE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Say 'y' here to enable support for the 'blacklist' command in
|
||||
modprobe.conf. This prevents the alias resolver to resolve
|
||||
blacklisted modules. This is useful if you want to prevent your
|
||||
hardware autodetection scripts to load modules like evdev, frame
|
||||
buffer drivers etc.
|
||||
|
||||
config BUSYBOX_CONFIG_DEPMOD
|
||||
bool "depmod"
|
||||
default n
|
||||
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
depmod generates modules.dep (and potentially modules.alias
|
||||
and modules.symbols) that contain dependency information
|
||||
for modprobe.
|
||||
|
||||
comment "Options common to multiple modutils"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
|
||||
bool "Support version 2.2/2.4 Linux kernels"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_LSMOD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support module loading for 2.2.x and 2.4.x Linux kernels.
|
||||
This increases size considerably. Say N unless you plan
|
||||
to run ancient kernels.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
|
||||
bool "Try to load module from a mmap'ed area"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This option causes module loading code to try to mmap
|
||||
module first. If it does not work (for example,
|
||||
it does not work for compressed modules), module will be read
|
||||
(and unpacked if needed) into a memory block allocated by malloc.
|
||||
|
||||
The only case when mmap works but malloc does not is when
|
||||
you are trying to load a big module on a very memory-constrained
|
||||
machine. Malloc will momentarily need 2x as much memory as mmap.
|
||||
|
||||
Choosing N saves about 250 bytes of code (on 32-bit x86).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
|
||||
bool "Enable module version checking"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support checking of versions for modules. This is used to
|
||||
ensure that the kernel and module are made for each other.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
|
||||
bool "Add module symbols to kernel symbol table"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
By adding module symbols to the kernel symbol table, Oops messages
|
||||
occuring within kernel modules can be properly debugged. By enabling
|
||||
this feature, module symbols will always be added to the kernel symbol
|
||||
table for proper debugging support. If you are not interested in
|
||||
Oops messages from kernel modules, say N.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
|
||||
bool "In kernel memory optimization (uClinux only)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This is a special uClinux only memory optimization that lets insmod
|
||||
load the specified kernel module directly into kernel space, reducing
|
||||
memory usage by preventing the need for two copies of the module
|
||||
being loaded into memory.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
|
||||
bool "Enable insmod load map (-m) option"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Enabling this, one would be able to get a load map
|
||||
output on stdout. This makes kernel module debugging
|
||||
easier.
|
||||
If you don't plan to debug kernel modules, you
|
||||
don't need this option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
|
||||
bool "Symbols in load map"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Without this option, -m will only output section
|
||||
load map. With this option, -m will also output
|
||||
symbols load map.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
|
||||
bool "Support tainted module checking with new kernels"
|
||||
default y
|
||||
depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support checking for tainted modules. These are usually binary
|
||||
only modules that will make the linux-kernel list ignore your
|
||||
support request.
|
||||
This option is required to support GPLONLY modules.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODUTILS_ALIAS
|
||||
bool "Support for module.aliases file"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Generate and parse modules.alias containing aliases for bus
|
||||
identifiers:
|
||||
alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs
|
||||
|
||||
and aliases for logical modules names e.g.:
|
||||
alias padlock_aes aes
|
||||
alias aes_i586 aes
|
||||
alias aes_generic aes
|
||||
|
||||
Say Y if unsure.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
|
||||
bool "Support for module.symbols file"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Generate and parse modules.symbols containing aliases for
|
||||
symbol_request() kernel calls, such as:
|
||||
alias symbol:usb_sg_init usbcore
|
||||
|
||||
Say Y if unsure.
|
||||
|
||||
config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
|
||||
string "Default directory containing modules"
|
||||
default "/lib/modules"
|
||||
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
|
||||
help
|
||||
Directory that contains kernel modules.
|
||||
Defaults to "/lib/modules"
|
||||
|
||||
config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
|
||||
string "Default name of modules.dep"
|
||||
default "modules.dep"
|
||||
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODPROBE_SMALL || BUSYBOX_CONFIG_MODINFO
|
||||
help
|
||||
Filename that contains kernel modules dependencies.
|
||||
Defaults to "modules.dep"
|
||||
|
||||
endmenu
|
||||
1088
package/utils/busybox/config/networking/Config.in
Normal file
1088
package/utils/busybox/config/networking/Config.in
Normal file
File diff suppressed because it is too large
Load Diff
155
package/utils/busybox/config/networking/udhcp/Config.in
Normal file
155
package/utils/busybox/config/networking/udhcp/Config.in
Normal file
@@ -0,0 +1,155 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_UDHCPD
|
||||
bool "udhcp server (udhcpd)"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
udhcpd is a DHCP server geared primarily toward embedded systems,
|
||||
while striving to be fully functional and RFC compliant.
|
||||
|
||||
config BUSYBOX_CONFIG_DHCPRELAY
|
||||
bool "dhcprelay"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
dhcprelay listens for dhcp requests on one or more interfaces
|
||||
and forwards these requests to a different interface or dhcp
|
||||
server.
|
||||
|
||||
config BUSYBOX_CONFIG_DUMPLEASES
|
||||
bool "Lease display utility (dumpleases)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
dumpleases displays the leases written out by the udhcpd server.
|
||||
Lease times are stored in the file by time remaining in lease, or
|
||||
by the absolute time that it expires in seconds from epoch.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
|
||||
bool "Rewrite the lease file at every new acknowledge"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
If selected, udhcpd will write a new file with leases every
|
||||
time a new lease has been accepted, thus eliminating the need
|
||||
to send SIGUSR1 for the initial writing or updating. Any timed
|
||||
rewriting remains undisturbed.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC
|
||||
bool "Select IP address based on client MAC"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
If selected, udhcpd will base its selection of IP address to offer
|
||||
on the client's hardware address. Otherwise udhcpd uses the next
|
||||
consecutive free address.
|
||||
|
||||
This reduces the frequency of IP address changes for clients
|
||||
which let their lease expire, and makes consecutive DHCPOFFERS
|
||||
for the same client to (almost always) contain the same
|
||||
IP address.
|
||||
|
||||
config BUSYBOX_CONFIG_DHCPD_LEASES_FILE
|
||||
string "Absolute path to lease file"
|
||||
default "/var/run/udhcpd.leases"
|
||||
depends on BUSYBOX_CONFIG_UDHCPD
|
||||
help
|
||||
udhcpd stores addresses in a lease file. This is the absolute path
|
||||
of the file. Normally it is safe to leave it untouched.
|
||||
|
||||
config BUSYBOX_CONFIG_UDHCPC
|
||||
bool "udhcp client (udhcpc)"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
udhcpc is a DHCP client geared primarily toward embedded systems,
|
||||
while striving to be fully functional and RFC compliant.
|
||||
|
||||
The udhcp client negotiates a lease with the DHCP server and
|
||||
runs a script when a lease is obtained or lost.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
|
||||
bool "Verify that the offered address is free, using ARP ping"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
If selected, udhcpc will send ARP probes and make sure
|
||||
the offered address is really not in use by anyone. The client
|
||||
will DHCPDECLINE the offer if the address is in use,
|
||||
and restart the discover process.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
|
||||
bool "Enable '-P port' option for udhcpd and udhcpc"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
At the cost of ~300 bytes, enables -P port option.
|
||||
This feature is typically not needed.
|
||||
|
||||
config BUSYBOX_CONFIG_UDHCP_DEBUG
|
||||
int "Maximum verbosity level for udhcp applets (0..9)"
|
||||
default 0
|
||||
range 0 9
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_DHCPRELAY
|
||||
help
|
||||
Verbosity can be increased with multiple -v options.
|
||||
This option controls how high it can be cranked up.
|
||||
|
||||
Bigger values result in bigger code. Levels above 1
|
||||
are very verbose and useful for debugging only.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCP_RFC3397
|
||||
bool "Support for RFC3397 domain search (experimental)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
If selected, both client and server will support passing of domain
|
||||
search lists via option 119, specified in RFC 3397,
|
||||
and SIP servers option 120, specified in RFC 3361.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UDHCP_8021Q
|
||||
bool "Support for 802.1Q VLAN parameters"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
If selected, both client and server will support passing of VLAN
|
||||
ID and priority via options 132 and 133 as per 802.1Q.
|
||||
|
||||
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
|
||||
string "Absolute path to config script"
|
||||
default "/usr/share/udhcpc/default.script"
|
||||
depends on BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
This script is called after udhcpc receives an answer. See
|
||||
examples/udhcp for a working example. Normally it is safe
|
||||
to leave this untouched.
|
||||
|
||||
config BUSYBOX_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS
|
||||
int "DHCP options slack buffer size"
|
||||
default 80
|
||||
range 0 924
|
||||
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC
|
||||
help
|
||||
Some buggy DHCP servers send DHCP offer packets with option
|
||||
field larger than we expect (which might also be considered a
|
||||
buffer overflow attempt). These packets are normally discarded.
|
||||
If circumstances beyond your control force you to support such
|
||||
servers, this may help. The upper limit (924) makes dhcpc accept
|
||||
even 1500 byte packets (maximum-sized ethernet packets).
|
||||
|
||||
This option does not make dhcp[cd] emit non-standard
|
||||
sized packets.
|
||||
|
||||
Known buggy DHCP servers:
|
||||
3Com OfficeConnect Remote 812 ADSL Router:
|
||||
seems to confuse maximum allowed UDP packet size with
|
||||
maximum size of entire IP packet, and sends packets which are
|
||||
28 bytes too large.
|
||||
Seednet (ISP) VDSL: sends packets 2 bytes too large.
|
||||
29
package/utils/busybox/config/printutils/Config.in
Normal file
29
package/utils/busybox/config/printutils/Config.in
Normal file
@@ -0,0 +1,29 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Print Utilities"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_LPD
|
||||
bool "lpd"
|
||||
default n
|
||||
help
|
||||
lpd is a print spooling daemon.
|
||||
|
||||
config BUSYBOX_CONFIG_LPR
|
||||
bool "lpr"
|
||||
default n
|
||||
help
|
||||
lpr sends files (or standard input) to a print spooling daemon.
|
||||
|
||||
config BUSYBOX_CONFIG_LPQ
|
||||
bool "lpq"
|
||||
default n
|
||||
help
|
||||
lpq is a print spool queue examination and manipulation program.
|
||||
|
||||
endmenu
|
||||
260
package/utils/busybox/config/procps/Config.in
Normal file
260
package/utils/busybox/config/procps/Config.in
Normal file
@@ -0,0 +1,260 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Process Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_IOSTAT
|
||||
bool "iostat"
|
||||
default n
|
||||
help
|
||||
Report CPU and I/O statistics
|
||||
config BUSYBOX_CONFIG_MPSTAT
|
||||
bool "mpstat"
|
||||
default n
|
||||
help
|
||||
Per-processor statistics
|
||||
config BUSYBOX_CONFIG_NMETER
|
||||
bool "nmeter"
|
||||
default n
|
||||
help
|
||||
Prints selected system stats continuously, one line per update.
|
||||
config BUSYBOX_CONFIG_PMAP
|
||||
bool "pmap"
|
||||
default n
|
||||
help
|
||||
Display processes' memory mappings.
|
||||
config BUSYBOX_CONFIG_POWERTOP
|
||||
bool "powertop"
|
||||
default n
|
||||
help
|
||||
Analyze power consumption on Intel-based laptops
|
||||
config BUSYBOX_CONFIG_PSTREE
|
||||
bool "pstree"
|
||||
default n
|
||||
help
|
||||
Display a tree of processes.
|
||||
config BUSYBOX_CONFIG_PWDX
|
||||
bool "pwdx"
|
||||
default n
|
||||
help
|
||||
Report current working directory of a process
|
||||
config BUSYBOX_CONFIG_SMEMCAP
|
||||
bool "smemcap"
|
||||
default n
|
||||
help
|
||||
smemcap is a tool for capturing process data for smem,
|
||||
a memory usage statistic tool.
|
||||
config BUSYBOX_CONFIG_UPTIME
|
||||
bool "uptime"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo()
|
||||
help
|
||||
uptime gives a one line display of the current time, how long
|
||||
the system has been running, how many users are currently logged
|
||||
on, and the system load averages for the past 1, 5, and 15 minutes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
|
||||
bool "Support for showing the number of users"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
|
||||
help
|
||||
Makes uptime display the number of users currently logged on.
|
||||
|
||||
config BUSYBOX_CONFIG_FREE
|
||||
bool "free"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX #sysinfo()
|
||||
help
|
||||
free displays the total amount of free and used physical and swap
|
||||
memory in the system, as well as the buffers used by the kernel.
|
||||
The shared memory column should be ignored; it is obsolete.
|
||||
|
||||
config BUSYBOX_CONFIG_FUSER
|
||||
bool "fuser"
|
||||
default n
|
||||
help
|
||||
fuser lists all PIDs (Process IDs) that currently have a given
|
||||
file open. fuser can also list all PIDs that have a given network
|
||||
(TCP or UDP) port open.
|
||||
|
||||
config BUSYBOX_CONFIG_KILL
|
||||
bool "kill"
|
||||
default y
|
||||
help
|
||||
The command kill sends the specified signal to the specified
|
||||
process or process group. If no signal is specified, the TERM
|
||||
signal is sent.
|
||||
|
||||
config BUSYBOX_CONFIG_KILLALL
|
||||
bool "killall"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_KILL
|
||||
help
|
||||
killall sends a signal to all processes running any of the
|
||||
specified commands. If no signal name is specified, SIGTERM is
|
||||
sent.
|
||||
|
||||
config BUSYBOX_CONFIG_KILLALL5
|
||||
bool "killall5"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_KILL
|
||||
|
||||
config BUSYBOX_CONFIG_PGREP
|
||||
bool "pgrep"
|
||||
default y
|
||||
help
|
||||
Look for processes by name.
|
||||
|
||||
config BUSYBOX_CONFIG_PIDOF
|
||||
bool "pidof"
|
||||
default y
|
||||
help
|
||||
Pidof finds the process id's (pids) of the named programs. It prints
|
||||
those id's on the standard output.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
|
||||
bool "Enable argument for single shot (-s)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_PIDOF
|
||||
help
|
||||
Support argument '-s' for returning only the first pid found.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
|
||||
bool "Enable argument for omitting pids (-o)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_PIDOF
|
||||
help
|
||||
Support argument '-o' for omitting the given pids in output.
|
||||
The special pid %PPID can be used to name the parent process
|
||||
of the pidof, in other words the calling shell or shell script.
|
||||
|
||||
config BUSYBOX_CONFIG_PKILL
|
||||
bool "pkill"
|
||||
default n
|
||||
help
|
||||
Send signals to processes by name.
|
||||
|
||||
config BUSYBOX_CONFIG_PS
|
||||
bool "ps"
|
||||
default y
|
||||
help
|
||||
ps gives a snapshot of the current processes.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_WIDE
|
||||
bool "Enable wide output option (-w)"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_PS
|
||||
help
|
||||
Support argument 'w' for wide output.
|
||||
If given once, 132 chars are printed, and if given more
|
||||
than once, the length is unlimited.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_TIME
|
||||
bool "Enable time and elapsed time output"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Support -o time and -o etime output specifiers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
|
||||
bool "Enable additional ps columns"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_PS && BUSYBOX_CONFIG_DESKTOP
|
||||
help
|
||||
Support -o rgroup, -o ruser, -o nice output specifiers.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
|
||||
bool "Support Linux prior to 2.4.0 and non-ELF systems"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_PS_TIME
|
||||
help
|
||||
Include support for measuring HZ on old kernels and non-ELF systems
|
||||
(if you are on Linux 2.4.0+ and use ELF, you don't need this)
|
||||
|
||||
config BUSYBOX_CONFIG_RENICE
|
||||
bool "renice"
|
||||
default n
|
||||
help
|
||||
Renice alters the scheduling priority of one or more running
|
||||
processes.
|
||||
|
||||
config BUSYBOX_CONFIG_BB_SYSCTL
|
||||
bool "sysctl"
|
||||
default y
|
||||
help
|
||||
Configure kernel parameters at runtime.
|
||||
|
||||
config BUSYBOX_CONFIG_TOP
|
||||
bool "top"
|
||||
default y
|
||||
help
|
||||
The top program provides a dynamic real-time view of a running
|
||||
system.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
|
||||
bool "Show CPU per-process usage percentage"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_TOP
|
||||
help
|
||||
Make top display CPU usage for each process.
|
||||
This adds about 2k.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
|
||||
bool "Show CPU global usage percentage"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
|
||||
help
|
||||
Makes top display "CPU: NN% usr NN% sys..." line.
|
||||
This adds about 0.5k.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU
|
||||
bool "SMP CPU usage display ('c' key)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
|
||||
help
|
||||
Allow 'c' key to switch between individual/cumulative CPU stats
|
||||
This adds about 0.5k.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOP_DECIMALS
|
||||
bool "Show 1/10th of a percent in CPU/mem statistics"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
|
||||
help
|
||||
Show 1/10th of a percent in CPU/mem statistics.
|
||||
This adds about 0.3k.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_PROCESS
|
||||
bool "Show CPU process runs on ('j' field)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TOP
|
||||
help
|
||||
Show CPU where process was last found running on.
|
||||
This is the 'j' field.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_TOPMEM
|
||||
bool "Topmem command ('s' key)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_TOP
|
||||
help
|
||||
Enable 's' in top (gives lots of memory info).
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
|
||||
bool "Support for showing threads in ps/pstree/top"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
|
||||
help
|
||||
Enables the ps -T option, showing of threads in pstree,
|
||||
and 'h' command in top.
|
||||
|
||||
config BUSYBOX_CONFIG_WATCH
|
||||
bool "watch"
|
||||
default n
|
||||
help
|
||||
watch is used to execute a program periodically, showing
|
||||
output to the screen.
|
||||
|
||||
endmenu
|
||||
90
package/utils/busybox/config/runit/Config.in
Normal file
90
package/utils/busybox/config/runit/Config.in
Normal file
@@ -0,0 +1,90 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Runit Utilities"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_RUNSV
|
||||
bool "runsv"
|
||||
default n
|
||||
help
|
||||
runsv starts and monitors a service and optionally an appendant log
|
||||
service.
|
||||
|
||||
config BUSYBOX_CONFIG_RUNSVDIR
|
||||
bool "runsvdir"
|
||||
default n
|
||||
help
|
||||
runsvdir starts a runsv process for each subdirectory, or symlink to
|
||||
a directory, in the services directory dir, up to a limit of 1000
|
||||
subdirectories, and restarts a runsv process if it terminates.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RUNSVDIR_LOG
|
||||
bool "Enable scrolling argument log"
|
||||
depends on BUSYBOX_CONFIG_RUNSVDIR
|
||||
default n
|
||||
help
|
||||
Enable feature where second parameter of runsvdir holds last error
|
||||
message (viewable via top/ps). Otherwise (feature is off
|
||||
or no parameter), error messages go to stderr only.
|
||||
|
||||
config BUSYBOX_CONFIG_SV
|
||||
bool "sv"
|
||||
default n
|
||||
help
|
||||
sv reports the current status and controls the state of services
|
||||
monitored by the runsv supervisor.
|
||||
|
||||
config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
|
||||
string "Default directory for services"
|
||||
default "/var/service"
|
||||
depends on BUSYBOX_CONFIG_SV
|
||||
help
|
||||
Default directory for services.
|
||||
Defaults to "/var/service"
|
||||
|
||||
config BUSYBOX_CONFIG_SVLOGD
|
||||
bool "svlogd"
|
||||
default n
|
||||
help
|
||||
svlogd continuously reads log data from its standard input, optionally
|
||||
filters log messages, and writes the data to one or more automatically
|
||||
rotated logs.
|
||||
|
||||
config BUSYBOX_CONFIG_CHPST
|
||||
bool "chpst"
|
||||
default n
|
||||
help
|
||||
chpst changes the process state according to the given options, and
|
||||
execs specified program.
|
||||
|
||||
config BUSYBOX_CONFIG_SETUIDGID
|
||||
bool "setuidgid"
|
||||
default n
|
||||
help
|
||||
Sets soft resource limits as specified by options
|
||||
|
||||
config BUSYBOX_CONFIG_ENVUIDGID
|
||||
bool "envuidgid"
|
||||
default n
|
||||
help
|
||||
Sets $UID to account's uid and $GID to account's gid
|
||||
|
||||
config BUSYBOX_CONFIG_ENVDIR
|
||||
bool "envdir"
|
||||
default n
|
||||
help
|
||||
Sets various environment variables as specified by files
|
||||
in the given directory
|
||||
|
||||
config BUSYBOX_CONFIG_SOFTLIMIT
|
||||
bool "softlimit"
|
||||
default n
|
||||
help
|
||||
Sets soft resource limits as specified by options
|
||||
|
||||
endmenu
|
||||
125
package/utils/busybox/config/selinux/Config.in
Normal file
125
package/utils/busybox/config/selinux/Config.in
Normal file
@@ -0,0 +1,125 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "SELinux Utilities"
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_CHCON
|
||||
bool "chcon"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to change the security context of file.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_CHCON_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the chcon applet.
|
||||
|
||||
config BUSYBOX_CONFIG_GETENFORCE
|
||||
bool "getenforce"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to get the current mode of SELinux.
|
||||
|
||||
config BUSYBOX_CONFIG_GETSEBOOL
|
||||
bool "getsebool"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to get SELinux boolean values.
|
||||
|
||||
config BUSYBOX_CONFIG_LOAD_POLICY
|
||||
bool "load_policy"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to load SELinux policy.
|
||||
|
||||
config BUSYBOX_CONFIG_MATCHPATHCON
|
||||
bool "matchpathcon"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to get default security context of the
|
||||
specified path from the file contexts configuration.
|
||||
|
||||
config BUSYBOX_CONFIG_RESTORECON
|
||||
bool "restorecon"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to relabel files. The feature is almost
|
||||
the same as setfiles, but usage is a little different.
|
||||
|
||||
config BUSYBOX_CONFIG_RUNCON
|
||||
bool "runcon"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to run command in speficied security context.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_RUNCON_LONG_OPTIONS
|
||||
bool "Enable long options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
Support long options for the runcon applet.
|
||||
|
||||
config BUSYBOX_CONFIG_SELINUXENABLED
|
||||
bool "selinuxenabled"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support for this command to be used within shell scripts
|
||||
to determine if selinux is enabled.
|
||||
|
||||
config BUSYBOX_CONFIG_SETENFORCE
|
||||
bool "setenforce"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to modify the mode SELinux is running in.
|
||||
|
||||
config BUSYBOX_CONFIG_SETFILES
|
||||
bool "setfiles"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support to modify to relabel files.
|
||||
Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64,
|
||||
(It is default in libselinux's Makefile), you _must_ enable
|
||||
CONFIG_LFS.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SETFILES_CHECK_OPTION
|
||||
bool "Enable check option"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SETFILES
|
||||
help
|
||||
Support "-c" option (check the validity of the contexts against
|
||||
the specified binary policy) for setfiles. Requires libsepol.
|
||||
|
||||
config BUSYBOX_CONFIG_SETSEBOOL
|
||||
bool "setsebool"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Enable support for change boolean.
|
||||
semanage and -P option is not supported yet.
|
||||
|
||||
config BUSYBOX_CONFIG_SESTATUS
|
||||
bool "sestatus"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SELINUX
|
||||
help
|
||||
Displays the status of SELinux.
|
||||
|
||||
endmenu
|
||||
433
package/utils/busybox/config/shell/Config.in
Normal file
433
package/utils/busybox/config/shell/Config.in
Normal file
@@ -0,0 +1,433 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Shells"
|
||||
|
||||
config BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
default y
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
help
|
||||
Tha 'ash' shell adds about 60k in the default configuration and is
|
||||
the most complete and most pedantically correct shell included with
|
||||
busybox. This shell is actually a derivative of the Debian 'dash'
|
||||
shell (by Herbert Xu), which was created by porting the 'ash' shell
|
||||
(written by Kenneth Almquist) from NetBSD.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BASH_COMPAT
|
||||
bool "bash-compatible extensions"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable bash-compatible extensions.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
|
||||
bool "Idle timeout variable"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enables bash-like auto-logout after $TMOUT seconds of idle time.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
|
||||
bool "Job control"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable job control in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_ALIAS
|
||||
bool "Alias support"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable alias support in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_GETOPTS
|
||||
bool "Builtin getopt to parse positional parameters"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for getopts builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
|
||||
bool "Builtin version of 'echo'"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for echo builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
|
||||
bool "Builtin version of 'printf'"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for printf builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
|
||||
bool "Builtin version of 'test'"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for test builtin in ash.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_CMDCMD
|
||||
bool "'command' command to override shell builtins"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable support for the ash 'command' builtin, which allows
|
||||
you to run the specified command with the specified arguments,
|
||||
even when there is an ash builtin command with the same name.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_MAIL
|
||||
bool "Check for new mail on interactive shells"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable "check for new mail" function in the ash shell.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
|
||||
bool "Optimize for size instead of speed"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Compile ash for reduced size at the price of speed.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
|
||||
bool "Pseudorandom generator and $RANDOM variable"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Enable pseudorandom generator and dynamic variable "$RANDOM".
|
||||
Each read of "$RANDOM" will generate a new pseudorandom value.
|
||||
You can reset the generator by using a specified start value.
|
||||
After "unset RANDOM" the generator will switch off and this
|
||||
variable will no longer have special treatment.
|
||||
|
||||
config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
|
||||
bool "Expand prompt string"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
"PS#" may contain volatile content, such as backquote commands.
|
||||
This option recreates the prompt string from the environment
|
||||
variable each time it is displayed.
|
||||
|
||||
config BUSYBOX_CONFIG_CTTYHACK
|
||||
bool "cttyhack"
|
||||
default n
|
||||
help
|
||||
One common problem reported on the mailing list is the "can't
|
||||
access tty; job control turned off" error message, which typically
|
||||
appears when one tries to use a shell with stdin/stdout on
|
||||
/dev/console.
|
||||
This device is special - it cannot be a controlling tty.
|
||||
|
||||
The proper solution is to use the correct device instead of
|
||||
/dev/console.
|
||||
|
||||
cttyhack provides a "quick and dirty" solution to this problem.
|
||||
It analyzes stdin with various ioctls, trying to determine whether
|
||||
it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
|
||||
On Linux it also checks sysfs for a pointer to the active console.
|
||||
If cttyhack is able to find the real console device, it closes
|
||||
stdin/out/err and reopens that device.
|
||||
Then it executes the given program. Opening the device will make
|
||||
that device a controlling tty. This may require cttyhack
|
||||
to be a session leader.
|
||||
|
||||
Example for /etc/inittab (for busybox init):
|
||||
|
||||
::respawn:/bin/cttyhack /bin/sh
|
||||
|
||||
Starting an interactive shell from boot shell script:
|
||||
|
||||
setsid cttyhack sh
|
||||
|
||||
Giving controlling tty to shell running with PID 1:
|
||||
|
||||
# exec cttyhack sh
|
||||
|
||||
Without cttyhack, you need to know exact tty name,
|
||||
and do something like this:
|
||||
|
||||
# exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH
|
||||
bool "hush"
|
||||
default n
|
||||
help
|
||||
hush is a small shell (25k). It handles the normal flow control
|
||||
constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
|
||||
case/esac. Redirections, here documents, $((arithmetic))
|
||||
and functions are supported.
|
||||
|
||||
It will compile and work on no-mmu systems.
|
||||
|
||||
It does not handle select, aliases, tilde expansion,
|
||||
&>file and >&file redirection of stdout+stderr.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
|
||||
bool "bash-compatible extensions"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable bash-compatible extensions.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
|
||||
bool "Brace expansion"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
|
||||
help
|
||||
Enable {abc,def} extension.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_HELP
|
||||
bool "help builtin"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable help builtin in hush. Code size + ~1 kbyte.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_INTERACTIVE
|
||||
bool "Interactive mode"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable interactive mode (prompt and command editing).
|
||||
Without this, hush simply reads and executes commands
|
||||
from stdin just like a shell script from a file.
|
||||
No prompt, no PS1/PS2 magic shell variables.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
|
||||
bool "Save command history to .hush_history"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
|
||||
help
|
||||
Enable history saving in hush.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_JOB
|
||||
bool "Job control"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
|
||||
help
|
||||
Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
|
||||
command (not entire shell), fg/bg builtins work. Without this option,
|
||||
"cmd &" still works by simply spawning a process and immediately
|
||||
prompting for next command (or executing next command in a script),
|
||||
but no separate process group is formed.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_TICK
|
||||
bool "Process substitution"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable process substitution `command` and $(command) in hush.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_IF
|
||||
bool "Support if/then/elif/else/fi"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable if/then/elif/else/fi in hush.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_LOOPS
|
||||
bool "Support for, while and until loops"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable for, while and until loops in hush.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_CASE
|
||||
bool "Support case ... esac statement"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable case ... esac statement in hush. +400 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_FUNCTIONS
|
||||
bool "Support funcname() { commands; } syntax"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable support for shell functions in hush. +800 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_LOCAL
|
||||
bool "Support local builtin"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
|
||||
help
|
||||
Enable support for local variables in functions.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
|
||||
bool "Pseudorandom generator and $RANDOM variable"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable pseudorandom generator and dynamic variable "$RANDOM".
|
||||
Each read of "$RANDOM" will generate a new pseudorandom value.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_EXPORT_N
|
||||
bool "Support 'export -n' option"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
export -n unexports variables. It is a bash extension.
|
||||
|
||||
config BUSYBOX_CONFIG_HUSH_MODE_X
|
||||
bool "Support 'hush -x' option and 'set -x' command"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
This instructs hush to print commands before execution.
|
||||
Adds ~300 bytes.
|
||||
|
||||
config BUSYBOX_CONFIG_MSH
|
||||
bool "msh (deprecated: aliased to hush)"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
msh is deprecated and will be removed, please migrate to hush.
|
||||
|
||||
|
||||
choice
|
||||
prompt "Choose which shell is aliased to 'sh' name"
|
||||
default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
|
||||
help
|
||||
Choose which shell you want to be executed by 'sh' alias.
|
||||
The ash shell is the most bash compatible and full featured one.
|
||||
|
||||
# note: cannot use "select ASH" here, it breaks "make allnoconfig"
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
bool "hush"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
|
||||
bool "none"
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Choose which shell is aliased to 'bash' name"
|
||||
default BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
|
||||
help
|
||||
Choose which shell you want to be executed by 'bash' alias.
|
||||
The ash shell is the most bash compatible and full featured one.
|
||||
|
||||
Note that selecting this option does not switch on any bash
|
||||
compatibility code. It merely makes it possible to install
|
||||
/bin/bash (sym)link and run scripts which start with
|
||||
#!/bin/bash line.
|
||||
|
||||
Many systems use it in scripts which use bash-specific features,
|
||||
even simple ones like $RANDOM. Without this option, busybox
|
||||
can't be used for running them because it won't recongnize
|
||||
"bash" as a supported applet name.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BASH_IS_ASH
|
||||
depends on BUSYBOX_CONFIG_ASH
|
||||
bool "ash"
|
||||
depends on !BUSYBOX_CONFIG_NOMMU
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BASH_IS_HUSH
|
||||
depends on BUSYBOX_CONFIG_HUSH
|
||||
bool "hush"
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
|
||||
bool "none"
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_SH_MATH_SUPPORT
|
||||
bool "POSIX math support"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH
|
||||
help
|
||||
Enable math support in the shell via $((...)) syntax.
|
||||
|
||||
config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
|
||||
bool "Extend POSIX math support to 64 bit"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SH_MATH_SUPPORT
|
||||
help
|
||||
Enable 64-bit math support in the shell. This will make the shell
|
||||
slightly larger, but will allow computation with very large numbers.
|
||||
This is not in POSIX, so do not rely on this in portable code.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
|
||||
bool "Hide message on interactive shell startup"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
Remove the busybox introduction when starting a shell.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
|
||||
bool "Standalone shell"
|
||||
default n
|
||||
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
|
||||
help
|
||||
This option causes busybox shells to use busybox applets
|
||||
in preference to executables in the PATH whenever possible. For
|
||||
example, entering the command 'ifconfig' into the shell would cause
|
||||
busybox to use the ifconfig busybox applet. Specifying the fully
|
||||
qualified executable name, such as '/sbin/ifconfig' will still
|
||||
execute the /sbin/ifconfig executable on the filesystem. This option
|
||||
is generally used when creating a statically linked version of busybox
|
||||
for use as a rescue shell, in the event that you screw up your system.
|
||||
|
||||
This is implemented by re-execing /proc/self/exe (typically)
|
||||
with right parameters. Some selected applets ("NOFORK" applets)
|
||||
can even be executed without creating new process.
|
||||
Instead, busybox will call <applet>_main() internally.
|
||||
|
||||
However, this causes problems in chroot jails without mounted /proc
|
||||
and with ps/top (command name can be shown as 'exe' for applets
|
||||
started this way).
|
||||
# untrue?
|
||||
# Note that this will *also* cause applets to take precedence
|
||||
# over shell builtins of the same name. So turning this on will
|
||||
# eliminate any performance gained by turning on the builtin "echo"
|
||||
# and "test" commands in ash.
|
||||
# untrue?
|
||||
# Note that when using this option, the shell will attempt to directly
|
||||
# run '/bin/busybox'. If you do not have the busybox binary sitting in
|
||||
# that exact location with that exact name, this option will not work at
|
||||
# all.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
|
||||
bool "Run 'nofork' applets directly"
|
||||
default n
|
||||
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
|
||||
help
|
||||
This option causes busybox shells to not execute typical
|
||||
fork/exec/wait sequence, but call <applet>_main directly,
|
||||
if possible. (Sometimes it is not possible: for example,
|
||||
this is not possible in pipes).
|
||||
|
||||
This will be done only for some applets (those which are marked
|
||||
NOFORK in include/applets.h).
|
||||
|
||||
This may significantly speed up some shell scripts.
|
||||
|
||||
This feature is relatively new. Use with care. Report bugs
|
||||
to project mailing list.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
|
||||
bool "Use $HISTFILESIZE"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
|
||||
help
|
||||
This option makes busybox shells to use $HISTFILESIZE variable
|
||||
to set shell history size. Note that its max value is capped
|
||||
by "History size" setting in library tuning section.
|
||||
|
||||
|
||||
endmenu
|
||||
154
package/utils/busybox/config/sysklogd/Config.in
Normal file
154
package/utils/busybox/config/sysklogd/Config.in
Normal file
@@ -0,0 +1,154 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "System Logging Utilities"
|
||||
|
||||
|
||||
|
||||
config BUSYBOX_CONFIG_SYSLOGD
|
||||
bool "syslogd"
|
||||
default y
|
||||
help
|
||||
The syslogd utility is used to record logs of all the
|
||||
significant events that occur on a system. Every
|
||||
message that is logged records the date and time of the
|
||||
event, and will generally also record the name of the
|
||||
application that generated the message. When used in
|
||||
conjunction with klogd, messages from the Linux kernel
|
||||
can also be recorded. This is terribly useful,
|
||||
especially for finding what happened when something goes
|
||||
wrong. And something almost always will go wrong if
|
||||
you wait long enough....
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
|
||||
bool "Rotate message files"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SYSLOGD
|
||||
help
|
||||
This enables syslogd to rotate the message files
|
||||
on his own. No need to use an external rotatescript.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
|
||||
bool "Remote Log support"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SYSLOGD
|
||||
help
|
||||
When you enable this feature, the syslogd utility can
|
||||
be used to send system log messages to another system
|
||||
connected via a network. This allows the remote
|
||||
machine to log all the system messages, which can be
|
||||
terribly useful for reducing the number of serial
|
||||
cables you use. It can also be a very good security
|
||||
measure to prevent system logs from being tampered with
|
||||
by an intruder.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
|
||||
bool "Support -D (drop dups) option"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SYSLOGD
|
||||
help
|
||||
Option -D instructs syslogd to drop consecutive messages
|
||||
which are totally the same.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG
|
||||
bool "Support syslog.conf"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SYSLOGD
|
||||
help
|
||||
Supports restricted syslogd config. See docs/syslog.conf.txt
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE
|
||||
int "Read buffer size in bytes"
|
||||
default 256
|
||||
range 256 20000
|
||||
depends on BUSYBOX_CONFIG_SYSLOGD
|
||||
help
|
||||
This option sets the size of the syslog read buffer.
|
||||
Actual memory usage increases around five times the
|
||||
change done here.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
|
||||
bool "Circular Buffer support"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_SYSLOGD
|
||||
help
|
||||
When you enable this feature, the syslogd utility will
|
||||
use a circular buffer to record system log messages.
|
||||
When the buffer is filled it will continue to overwrite
|
||||
the oldest messages. This can be very useful for
|
||||
systems with little or no permanent storage, since
|
||||
otherwise system logs can eventually fill up your
|
||||
entire filesystem, which may cause your system to
|
||||
break badly.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
|
||||
int "Circular buffer size in Kbytes (minimum 4KB)"
|
||||
default 16
|
||||
range 4 2147483647
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
|
||||
help
|
||||
This option sets the size of the circular buffer
|
||||
used to record system log messages.
|
||||
|
||||
config BUSYBOX_CONFIG_LOGREAD
|
||||
bool "logread"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG && BROKEN
|
||||
help
|
||||
If you enabled Circular Buffer support, you almost
|
||||
certainly want to enable this feature as well. This
|
||||
utility will allow you to read the messages that are
|
||||
stored in the syslogd circular buffer.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
|
||||
bool "Double buffering"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_LOGREAD
|
||||
help
|
||||
'logread' ouput to slow serial terminals can have
|
||||
side effects on syslog because of the semaphore.
|
||||
This option make logread to double buffer copy
|
||||
from circular buffer, minimizing semaphore
|
||||
contention at some minor memory expense.
|
||||
|
||||
config BUSYBOX_CONFIG_KLOGD
|
||||
bool "klogd"
|
||||
default y
|
||||
help
|
||||
klogd is a utility which intercepts and logs all
|
||||
messages from the Linux kernel and sends the messages
|
||||
out to the 'syslogd' utility so they can be logged. If
|
||||
you wish to record the messages produced by the kernel,
|
||||
you should enable this option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
|
||||
bool "Use the klogctl() interface"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_KLOGD
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The klogd applet supports two interfaces for reading
|
||||
kernel messages. Linux provides the klogctl() interface
|
||||
which allows reading messages from the kernel ring buffer
|
||||
independently from the file system.
|
||||
|
||||
If you answer 'N' here, klogd will use the more portable
|
||||
approach of reading them from /proc or a device node.
|
||||
However, this method requires the file to be available.
|
||||
|
||||
If in doubt, say 'Y'.
|
||||
|
||||
config BUSYBOX_CONFIG_LOGGER
|
||||
bool "logger"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
The logger utility allows you to send arbitrary text
|
||||
messages to the system log (i.e. the 'syslogd' utility) so
|
||||
they can be logged. This is generally used to help locate
|
||||
problems that occur within programs and scripts.
|
||||
|
||||
endmenu
|
||||
985
package/utils/busybox/config/util-linux/Config.in
Normal file
985
package/utils/busybox/config/util-linux/Config.in
Normal file
@@ -0,0 +1,985 @@
|
||||
# DO NOT EDIT. This file is generated from Config.src
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see scripts/kbuild/config-language.txt.
|
||||
#
|
||||
|
||||
menu "Linux System Utilities"
|
||||
|
||||
config BUSYBOX_CONFIG_BLOCKDEV
|
||||
bool "blockdev"
|
||||
default n
|
||||
help
|
||||
Performs some ioctls with block devices.
|
||||
config BUSYBOX_CONFIG_REV
|
||||
bool "rev"
|
||||
default n
|
||||
help
|
||||
Reverse lines of a file or files.
|
||||
|
||||
config BUSYBOX_CONFIG_ACPID
|
||||
bool "acpid"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
acpid listens to ACPI events coming either in textual form from
|
||||
/proc/acpi/event (though it is marked deprecated it is still widely
|
||||
used and _is_ a standard) or in binary form from specified evdevs
|
||||
(just use /dev/input/event*).
|
||||
|
||||
It parses the event to retrieve ACTION and a possible PARAMETER.
|
||||
It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
|
||||
(if the resulting path is a directory) or directly as an executable.
|
||||
|
||||
N.B. acpid relies on run-parts so have the latter installed.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
|
||||
bool "Accept and ignore redundant options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_ACPID
|
||||
help
|
||||
Accept and ignore compatibility options -g -m -s -S -v.
|
||||
|
||||
config BUSYBOX_CONFIG_BLKID
|
||||
bool "blkid"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
select BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
Lists labels and UUIDs of all filesystems.
|
||||
WARNING:
|
||||
With all submodules selected, it will add ~8k to busybox.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
|
||||
bool "Print filesystem type"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_BLKID
|
||||
help
|
||||
Show TYPE="filesystem type"
|
||||
|
||||
config BUSYBOX_CONFIG_DMESG
|
||||
bool "dmesg"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
dmesg is used to examine or control the kernel ring buffer. When the
|
||||
Linux kernel prints messages to the system log, they are stored in
|
||||
the kernel ring buffer. You can use dmesg to print the kernel's ring
|
||||
buffer, clear the kernel ring buffer, change the size of the kernel
|
||||
ring buffer, and change the priority level at which kernel messages
|
||||
are also logged to the system console. Enable this option if you
|
||||
wish to enable the 'dmesg' utility.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
|
||||
bool "Pretty dmesg output"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_DMESG
|
||||
help
|
||||
If you wish to scrub the syslog level from the output, say 'Y' here.
|
||||
The syslog level is a string prefixed to every line with the form
|
||||
"<#>".
|
||||
|
||||
With this option you will see:
|
||||
# dmesg
|
||||
Linux version 2.6.17.4 .....
|
||||
BIOS-provided physical RAM map:
|
||||
BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
|
||||
|
||||
Without this option you will see:
|
||||
# dmesg
|
||||
<5>Linux version 2.6.17.4 .....
|
||||
<6>BIOS-provided physical RAM map:
|
||||
<6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
|
||||
|
||||
config BUSYBOX_CONFIG_FBSET
|
||||
bool "fbset"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
fbset is used to show or change the settings of a Linux frame buffer
|
||||
device. The frame buffer device provides a simple and unique
|
||||
interface to access a graphics display. Enable this option
|
||||
if you wish to enable the 'fbset' utility.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
|
||||
bool "Turn on extra fbset options"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FBSET
|
||||
help
|
||||
This option enables extended fbset options, allowing one to set the
|
||||
framebuffer size, color depth, etc. interface to access a graphics
|
||||
display. Enable this option if you wish to enable extended fbset
|
||||
options.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
|
||||
bool "Turn on fbset readmode support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FBSET
|
||||
help
|
||||
This option allows fbset to read the video mode database stored by
|
||||
default n /etc/fb.modes, which can be used to set frame buffer
|
||||
device to pre-defined video modes.
|
||||
|
||||
config BUSYBOX_CONFIG_FDFLUSH
|
||||
bool "fdflush"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
fdflush is only needed when changing media on slightly-broken
|
||||
removable media drives. It is used to make Linux believe that a
|
||||
hardware disk-change switch has been actuated, which causes Linux to
|
||||
forget anything it has cached from the previous media. If you have
|
||||
such a slightly-broken drive, you will need to run fdflush every time
|
||||
you change a disk. Most people have working hardware and can safely
|
||||
leave this disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FDFORMAT
|
||||
bool "fdformat"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
fdformat is used to low-level format a floppy disk.
|
||||
|
||||
config BUSYBOX_CONFIG_FDISK
|
||||
bool "fdisk"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The fdisk utility is used to divide hard disks into one or more
|
||||
logical disks, which are generally called partitions. This utility
|
||||
can be used to list and edit the set of partitions or BSD style
|
||||
'disk slices' that are defined on a hard drive.
|
||||
|
||||
config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
|
||||
bool "Support over 4GB disks"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_FDISK
|
||||
depends on !BUSYBOX_CONFIG_LFS # with LFS no special code is needed
|
||||
help
|
||||
Enable this option to support large disks > 4GB.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
|
||||
bool "Write support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FDISK
|
||||
help
|
||||
Enabling this option allows you to create or change a partition table
|
||||
and write those changes out to disk. If you leave this option
|
||||
disabled, you will only be able to view the partition table.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
|
||||
bool "Support AIX disklabels"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
|
||||
help
|
||||
Enabling this option allows you to create or change AIX disklabels.
|
||||
Most people can safely leave this option disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
|
||||
bool "Support SGI disklabels"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
|
||||
help
|
||||
Enabling this option allows you to create or change SGI disklabels.
|
||||
Most people can safely leave this option disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
|
||||
bool "Support SUN disklabels"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
|
||||
help
|
||||
Enabling this option allows you to create or change SUN disklabels.
|
||||
Most people can safely leave this option disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
|
||||
bool "Support BSD disklabels"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
|
||||
help
|
||||
Enabling this option allows you to create or change BSD disklabels
|
||||
and define and edit BSD disk slices.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GPT_LABEL
|
||||
bool "Support GPT disklabels"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
|
||||
help
|
||||
Enabling this option allows you to view GUID Partition Table
|
||||
disklabels.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
|
||||
bool "Support expert mode"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
|
||||
help
|
||||
Enabling this option allows you to do terribly unsafe things like
|
||||
define arbitrary drive geometry, move the beginning of data in a
|
||||
partition, and similarly evil things. Unless you have a very good
|
||||
reason you would be wise to leave this disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FINDFS
|
||||
bool "findfs"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
select BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
Prints the name of a filesystem with given label or UUID.
|
||||
WARNING:
|
||||
With all submodules selected, it will add ~8k to busybox.
|
||||
|
||||
config BUSYBOX_CONFIG_FLOCK
|
||||
bool "flock"
|
||||
default n
|
||||
help
|
||||
Manage locks from shell scripts
|
||||
|
||||
config BUSYBOX_CONFIG_FREERAMDISK
|
||||
bool "freeramdisk"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Linux allows you to create ramdisks. This utility allows you to
|
||||
delete them and completely free all memory that was used for the
|
||||
ramdisk. For example, if you boot Linux into a ramdisk and later
|
||||
pivot_root, you may want to free the memory that is allocated to the
|
||||
ramdisk. If you have no use for freeing memory from a ramdisk, leave
|
||||
this disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FSCK_MINIX
|
||||
bool "fsck_minix"
|
||||
default n
|
||||
help
|
||||
The minix filesystem is a nice, small, compact, read-write filesystem
|
||||
with little overhead. It is not a journaling filesystem however and
|
||||
can experience corruption if it is not properly unmounted or if the
|
||||
power goes off in the middle of a write. This utility allows you to
|
||||
check for and attempt to repair any corruption that occurs to a minix
|
||||
filesystem.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_EXT2
|
||||
bool "mkfs_ext2"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Utility to create EXT2 filesystems.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_MINIX
|
||||
bool "mkfs_minix"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The minix filesystem is a nice, small, compact, read-write filesystem
|
||||
with little overhead. If you wish to be able to create minix
|
||||
filesystems this utility will do the job for you.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MINIX2
|
||||
bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
|
||||
help
|
||||
If you wish to be able to create version 2 minix filesystems, enable
|
||||
this. If you enabled 'mkfs_minix' then you almost certainly want to
|
||||
be using the version 2 filesystem support.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_REISER
|
||||
bool "mkfs_reiser"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Utility to create ReiserFS filesystems.
|
||||
Note: this applet needs a lot of testing and polishing.
|
||||
|
||||
config BUSYBOX_CONFIG_MKFS_VFAT
|
||||
bool "mkfs_vfat"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Utility to create FAT32 filesystems.
|
||||
|
||||
config BUSYBOX_CONFIG_GETOPT
|
||||
bool "getopt"
|
||||
default n
|
||||
help
|
||||
The getopt utility is used to break up (parse) options in command
|
||||
lines to make it easy to write complex shell scripts that also check
|
||||
for legal (and illegal) options. If you want to write horribly
|
||||
complex shell scripts, or use some horribly complex shell script
|
||||
written by others, this utility may be for you. Most people will
|
||||
wisely leave this disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_GETOPT_LONG
|
||||
bool "Support option -l"
|
||||
default n if BUSYBOX_CONFIG_LONG_OPTS
|
||||
depends on BUSYBOX_CONFIG_GETOPT
|
||||
help
|
||||
Enable support for long options (option -l).
|
||||
|
||||
config BUSYBOX_CONFIG_HEXDUMP
|
||||
bool "hexdump"
|
||||
default y
|
||||
help
|
||||
The hexdump utility is used to display binary data in a readable
|
||||
way that is comparable to the output from most hex editors.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HEXDUMP_REVERSE
|
||||
bool "Support -R, reverse of 'hexdump -Cv'"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HEXDUMP
|
||||
help
|
||||
The hexdump utility is used to display binary data in an ascii
|
||||
readable way. This option creates binary data from an ascii input.
|
||||
NB: this option is non-standard. It's unwise to use it in scripts
|
||||
aimed to be portable.
|
||||
|
||||
config BUSYBOX_CONFIG_HD
|
||||
bool "hd"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HEXDUMP
|
||||
help
|
||||
hd is an alias to hexdump -C.
|
||||
|
||||
config BUSYBOX_CONFIG_HWCLOCK
|
||||
bool "hwclock"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The hwclock utility is used to read and set the hardware clock
|
||||
on a system. This is primarily used to set the current time on
|
||||
shutdown in the hardware clock, so the hardware will keep the
|
||||
correct time when Linux is _not_ running.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
|
||||
bool "Support long options (--hctosys,...)"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_LONG_OPTS
|
||||
help
|
||||
By default, the hwclock utility only uses short options. If you
|
||||
are overly fond of its long options, such as --hctosys, --utc, etc)
|
||||
then enable this option.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
|
||||
bool "Use FHS /var/lib/hwclock/adjtime"
|
||||
default n # util-linux-ng in Fedora 13 still uses /etc/adjtime
|
||||
depends on BUSYBOX_CONFIG_HWCLOCK
|
||||
help
|
||||
Starting with FHS 2.3, the adjtime state file is supposed to exist
|
||||
at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
|
||||
to use the FHS behavior, answer Y here, otherwise answer N for the
|
||||
classic /etc/adjtime path.
|
||||
|
||||
pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
|
||||
|
||||
config BUSYBOX_CONFIG_IPCRM
|
||||
bool "ipcrm"
|
||||
default n
|
||||
help
|
||||
The ipcrm utility allows the removal of System V interprocess
|
||||
communication (IPC) objects and the associated data structures
|
||||
from the system.
|
||||
|
||||
config BUSYBOX_CONFIG_IPCS
|
||||
bool "ipcs"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The ipcs utility is used to provide information on the currently
|
||||
allocated System V interprocess (IPC) objects in the system.
|
||||
|
||||
config BUSYBOX_CONFIG_LOSETUP
|
||||
bool "losetup"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
losetup is used to associate or detach a loop device with a regular
|
||||
file or block device, and to query the status of a loop device. This
|
||||
version does not currently support enabling data encryption.
|
||||
|
||||
config BUSYBOX_CONFIG_LSPCI
|
||||
bool "lspci"
|
||||
default n
|
||||
#select PLATFORM_LINUX
|
||||
help
|
||||
lspci is a utility for displaying information about PCI buses in the
|
||||
system and devices connected to them.
|
||||
|
||||
This version uses sysfs (/sys/bus/pci/devices) only.
|
||||
|
||||
config BUSYBOX_CONFIG_LSUSB
|
||||
bool "lsusb"
|
||||
default n
|
||||
#select PLATFORM_LINUX
|
||||
help
|
||||
lsusb is a utility for displaying information about USB buses in the
|
||||
system and devices connected to them.
|
||||
|
||||
This version uses sysfs (/sys/bus/usb/devices) only.
|
||||
|
||||
config BUSYBOX_CONFIG_MDEV
|
||||
bool "mdev"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
mdev is a mini-udev implementation for dynamically creating device
|
||||
nodes in the /dev directory.
|
||||
|
||||
For more information, please see docs/mdev.txt
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
|
||||
bool "Support /etc/mdev.conf"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MDEV
|
||||
help
|
||||
Add support for the mdev config file to control ownership and
|
||||
permissions of the device nodes.
|
||||
|
||||
For more information, please see docs/mdev.txt
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
|
||||
bool "Support subdirs/symlinks"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
|
||||
help
|
||||
Add support for renaming devices and creating symlinks.
|
||||
|
||||
For more information, please see docs/mdev.txt
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
|
||||
bool "Support regular expressions substitutions when renaming device"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
|
||||
help
|
||||
Add support for regular expressions substitutions when renaming
|
||||
device.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
|
||||
bool "Support command execution at device addition/removal"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
|
||||
help
|
||||
This adds support for an optional field to /etc/mdev.conf for
|
||||
executing commands when devices are created/removed.
|
||||
|
||||
For more information, please see docs/mdev.txt
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE
|
||||
bool "Support loading of firmwares"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MDEV
|
||||
help
|
||||
Some devices need to load firmware before they can be usable.
|
||||
|
||||
These devices will request userspace look up the files in
|
||||
/lib/firmware/ and if it exists, send it to the kernel for
|
||||
loading into the hardware.
|
||||
|
||||
config BUSYBOX_CONFIG_MKSWAP
|
||||
bool "mkswap"
|
||||
default y
|
||||
help
|
||||
The mkswap utility is used to configure a file or disk partition as
|
||||
Linux swap space. This allows Linux to use the entire file or
|
||||
partition as if it were additional RAM, which can greatly increase
|
||||
the capability of low-memory machines. This additional memory is
|
||||
much slower than real RAM, but can be very helpful at preventing your
|
||||
applications being killed by the Linux out of memory (OOM) killer.
|
||||
Once you have created swap space using 'mkswap' you need to enable
|
||||
the swap space using the 'swapon' utility.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
|
||||
bool "UUID support"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MKSWAP
|
||||
help
|
||||
Generate swap spaces with universally unique identifiers.
|
||||
|
||||
config BUSYBOX_CONFIG_MORE
|
||||
bool "more"
|
||||
default n
|
||||
help
|
||||
more is a simple utility which allows you to read text one screen
|
||||
sized page at a time. If you want to read text that is larger than
|
||||
the screen, and you are using anything faster than a 300 baud modem,
|
||||
you will probably find this utility very helpful. If you don't have
|
||||
any need to reading text files, you can leave this disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_MOUNT
|
||||
bool "mount"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
All files and filesystems in Unix are arranged into one big directory
|
||||
tree. The 'mount' utility is used to graft a filesystem onto a
|
||||
particular part of the tree. A filesystem can either live on a block
|
||||
device, or it can be accessible over the network, as is the case with
|
||||
NFS filesystems. Most people using BusyBox will also want to enable
|
||||
the 'mount' utility.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
|
||||
bool "Support option -f"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
help
|
||||
Enable support for faking a file system mount.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE
|
||||
bool "Support option -v"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
help
|
||||
Enable multi-level -v[vv...] verbose messages. Useful if you
|
||||
debug mount problems and want to see what is exactly passed
|
||||
to the kernel.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
|
||||
bool "Support mount helpers"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
help
|
||||
Enable mounting of virtual file systems via external helpers.
|
||||
E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
|
||||
"obexfs -b00.11.22.33.44.55 /mnt"
|
||||
Also "mount -t sometype [-o opts] fs /mnt" will try
|
||||
"sometype [-o opts] fs /mnt" if simple mount syscall fails.
|
||||
The idea is to use such virtual filesystems in /etc/fstab.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
|
||||
bool "Support specifying devices by label or UUID"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
select BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
This allows for specifying a device by label or uuid, rather than by
|
||||
name. This feature utilizes the same functionality as blkid/findfs.
|
||||
This also enables label or uuid support for swapon.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
|
||||
bool "Support mounting NFS file systems"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
|
||||
select BUSYBOX_CONFIG_FEATURE_SYSLOG
|
||||
help
|
||||
Enable mounting of NFS file systems.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS
|
||||
bool "Support mounting CIFS/SMB file systems"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
help
|
||||
Enable support for samba mounts.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
bool "Support lots of -o flags in mount"
|
||||
default y
|
||||
help
|
||||
Without this, mount only supports ro/rw/remount. With this, it
|
||||
supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
|
||||
noatime, diratime, nodiratime, loud, bind, move, shared, slave,
|
||||
private, unbindable, rshared, rslave, rprivate, and runbindable.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
|
||||
depends on BUSYBOX_CONFIG_MOUNT
|
||||
bool "Support /etc/fstab and -a"
|
||||
default y
|
||||
help
|
||||
Support mount all and looking for files in /etc/fstab.
|
||||
|
||||
config BUSYBOX_CONFIG_PIVOT_ROOT
|
||||
bool "pivot_root"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The pivot_root utility swaps the mount points for the root filesystem
|
||||
with some other mounted filesystem. This allows you to do all sorts
|
||||
of wild and crazy things with your Linux system and is far more
|
||||
powerful than 'chroot'.
|
||||
|
||||
Note: This is for initrd in linux 2.4. Under initramfs (introduced
|
||||
in linux 2.6) use switch_root instead.
|
||||
|
||||
config BUSYBOX_CONFIG_RDATE
|
||||
bool "rdate"
|
||||
default n
|
||||
help
|
||||
The rdate utility allows you to synchronize the date and time of your
|
||||
system clock with the date and time of a remote networked system using
|
||||
the RFC868 protocol, which is built into the inetd daemon on most
|
||||
systems.
|
||||
|
||||
config BUSYBOX_CONFIG_RDEV
|
||||
bool "rdev"
|
||||
default n
|
||||
help
|
||||
Print the device node associated with the filesystem mounted at '/'.
|
||||
|
||||
config BUSYBOX_CONFIG_READPROFILE
|
||||
bool "readprofile"
|
||||
default n
|
||||
#select PLATFORM_LINUX
|
||||
help
|
||||
This allows you to parse /proc/profile for basic profiling.
|
||||
|
||||
config BUSYBOX_CONFIG_RTCWAKE
|
||||
bool "rtcwake"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
Enter a system sleep state until specified wakeup time.
|
||||
|
||||
config BUSYBOX_CONFIG_SCRIPT
|
||||
bool "script"
|
||||
default n
|
||||
help
|
||||
The script makes typescript of terminal session.
|
||||
|
||||
config BUSYBOX_CONFIG_SCRIPTREPLAY
|
||||
bool "scriptreplay"
|
||||
default n
|
||||
help
|
||||
This program replays a typescript, using timing information
|
||||
given by script -t.
|
||||
|
||||
config BUSYBOX_CONFIG_SETARCH
|
||||
bool "setarch"
|
||||
default n
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The linux32 utility is used to create a 32bit environment for the
|
||||
specified program (usually a shell). It only makes sense to have
|
||||
this util on a system that supports both 64bit and 32bit userland
|
||||
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
|
||||
|
||||
config BUSYBOX_CONFIG_SWAPONOFF
|
||||
bool "swaponoff"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
This option enables both the 'swapon' and the 'swapoff' utilities.
|
||||
Once you have created some swap space using 'mkswap', you also need
|
||||
to enable your swap space with the 'swapon' utility. The 'swapoff'
|
||||
utility is used, typically at system shutdown, to disable any swap
|
||||
space. If you are not using any swap space, you can leave this
|
||||
option disabled.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
|
||||
bool "Support priority option -p"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_SWAPONOFF
|
||||
help
|
||||
Enable support for setting swap device priority in swapon.
|
||||
|
||||
config BUSYBOX_CONFIG_SWITCH_ROOT
|
||||
bool "switch_root"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
The switch_root utility is used from initramfs to select a new
|
||||
root device. Under initramfs, you have to use this instead of
|
||||
pivot_root. (Stop reading here if you don't care why.)
|
||||
|
||||
Booting with initramfs extracts a gzipped cpio archive into rootfs
|
||||
(which is a variant of ramfs/tmpfs). Because rootfs can't be moved
|
||||
or unmounted*, pivot_root will not work from initramfs. Instead,
|
||||
switch_root deletes everything out of rootfs (including itself),
|
||||
does a mount --move that overmounts rootfs with the new root, and
|
||||
then execs the specified init program.
|
||||
|
||||
* Because the Linux kernel uses rootfs internally as the starting
|
||||
and ending point for searching through the kernel's doubly linked
|
||||
list of active mount points. That's why.
|
||||
|
||||
config BUSYBOX_CONFIG_UMOUNT
|
||||
bool "umount"
|
||||
default y
|
||||
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
||||
help
|
||||
When you want to remove a mounted filesystem from its current mount
|
||||
point, for example when you are shutting down the system, the
|
||||
'umount' utility is the tool to use. If you enabled the 'mount'
|
||||
utility, you almost certainly also want to enable 'umount'.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
|
||||
bool "Support option -a"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_UMOUNT
|
||||
help
|
||||
Support -a option to unmount all currently mounted filesystems.
|
||||
|
||||
comment "Common options for mount/umount"
|
||||
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
|
||||
bool "Support loopback mounts"
|
||||
default y
|
||||
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
|
||||
help
|
||||
Enabling this feature allows automatic mounting of files (containing
|
||||
filesystem images) via the linux kernel's loopback devices.
|
||||
The mount command will detect you are trying to mount a file instead
|
||||
of a block device, and transparently associate the file with a
|
||||
loopback device. The umount command will also free that loopback
|
||||
device.
|
||||
|
||||
You can still use the 'losetup' utility (to manually associate files
|
||||
with loop devices) if you need to do something advanced, such as
|
||||
specify an offset or cryptographic options to the loopback device.
|
||||
(If you don't want umount to free the loop device, use "umount -D".)
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP_CREATE
|
||||
bool "Create new loopback devices if needed"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
|
||||
help
|
||||
Linux kernels >= 2.6.24 support unlimited loopback devices. They are
|
||||
allocated for use when trying to use a loop device. The loop device
|
||||
must however exist.
|
||||
|
||||
This feature lets mount to try to create next /dev/loopN device
|
||||
if it does not find a free one.
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
|
||||
bool "Support for the old /etc/mtab file"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
|
||||
select BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
|
||||
help
|
||||
Historically, Unix systems kept track of the currently mounted
|
||||
partitions in the file "/etc/mtab". These days, the kernel exports
|
||||
the list of currently mounted partitions in "/proc/mounts", rendering
|
||||
the old mtab file obsolete. (In modern systems, /etc/mtab should be
|
||||
a symlink to /proc/mounts.)
|
||||
|
||||
The only reason to have mount maintain an /etc/mtab file itself is if
|
||||
your stripped-down embedded system does not have a /proc directory.
|
||||
If you must use this, keep in mind it's inherently brittle (for
|
||||
example a mount under chroot won't update it), can't handle modern
|
||||
features like separate per-process filesystem namespaces, requires
|
||||
that your /etc directory be writable, tends to get easily confused
|
||||
by --bind or --move mounts, won't update if you rename a directory
|
||||
that contains a mount point, and so on. (In brief: avoid.)
|
||||
|
||||
About the only reason to use this is if you've removed /proc from
|
||||
your kernel.
|
||||
|
||||
config BUSYBOX_CONFIG_VOLUMEID
|
||||
bool #No description makes it a hidden option
|
||||
default n
|
||||
|
||||
menu "Filesystem/Volume identification"
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXT
|
||||
bool "Ext filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
|
||||
bool "btrfs filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
|
||||
bool "Reiser filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_FAT
|
||||
bool "fat filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
|
||||
bool "hfs filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
|
||||
bool "jfs filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_UFS
|
||||
### bool "ufs filesystem"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
|
||||
bool "xfs filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NTFS
|
||||
bool "ntfs filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
|
||||
bool "iso9660 filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
|
||||
bool "udf filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
|
||||
bool "luks filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
|
||||
bool "linux swap filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_LVM
|
||||
### bool "lvm"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
|
||||
bool "cramfs filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_HPFS
|
||||
### bool "hpfs filesystem"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
|
||||
bool "romfs filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
|
||||
bool "sysv filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_MINIX
|
||||
### bool "minix filesystem"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
### These only detect partition tables - not used (yet?)
|
||||
### config FEATURE_VOLUMEID_MAC
|
||||
### bool "mac filesystem"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
###
|
||||
### config FEATURE_VOLUMEID_MSDOS
|
||||
### bool "msdos filesystem"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
|
||||
bool "ocfs2 filesystem"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_HIGHPOINTRAID
|
||||
### bool "highpoint raid"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_ISWRAID
|
||||
### bool "intel raid"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_LSIRAID
|
||||
### bool "lsi raid"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_VIARAID
|
||||
### bool "via raid"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_SILICONRAID
|
||||
### bool "silicon raid"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_NVIDIARAID
|
||||
### bool "nvidia raid"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
### config FEATURE_VOLUMEID_PROMISERAID
|
||||
### bool "promise raid"
|
||||
### default y
|
||||
### depends on VOLUMEID
|
||||
### help
|
||||
### TODO
|
||||
|
||||
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXRAID
|
||||
bool "linuxraid"
|
||||
default n
|
||||
depends on BUSYBOX_CONFIG_VOLUMEID
|
||||
help
|
||||
TODO
|
||||
|
||||
endmenu
|
||||
|
||||
endmenu
|
||||
78
package/utils/busybox/convert_menuconfig.pl
Executable file
78
package/utils/busybox/convert_menuconfig.pl
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/usr/bin/perl
|
||||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
use strict;
|
||||
my $PATH = $ARGV[0];
|
||||
($PATH and -d $PATH) or die 'invalid path';
|
||||
my $DEFCONFIG = $ARGV[1];
|
||||
($DEFCONFIG and -f $DEFCONFIG) or die 'invalid config file';
|
||||
|
||||
my %config;
|
||||
|
||||
open CONFIG, $DEFCONFIG or die 'cannot open config file';
|
||||
while (<CONFIG>) {
|
||||
/^CONFIG_([\w_]+)=([ym])/ and $config{$1} = $2;
|
||||
/^CONFIG_([\w_]+)=(\d+)/ and $config{$1} = $2;
|
||||
/^CONFIG_([\w_]+)=(".+")/ and $config{$1} = $2;
|
||||
}
|
||||
close CONFIG;
|
||||
|
||||
open FIND, "find \"$PATH\" -name Config.in |";
|
||||
while (<FIND>) {
|
||||
chomp;
|
||||
my $input = $_;
|
||||
s/^$PATH\///g;
|
||||
s/sysdeps\/linux\///g;
|
||||
my $output = $_;
|
||||
print STDERR "$input => $output\n";
|
||||
$output =~ /^(.+)\/[^\/]+$/ and system("mkdir -p $1");
|
||||
|
||||
open INPUT, $input;
|
||||
open OUTPUT, ">$output";
|
||||
my ($cur, $default_set, $line);
|
||||
while ($line = <INPUT>) {
|
||||
next if $line =~ /^\s*mainmenu/;
|
||||
|
||||
# FIXME: make this dynamic
|
||||
$line =~ s/default FEATURE_BUFFERS_USE_MALLOC/default FEATURE_BUFFERS_GO_ON_STACK/;
|
||||
$line =~ s/default FEATURE_SH_IS_NONE/default FEATURE_SH_IS_ASH/;
|
||||
|
||||
if ($line =~ /^\s*config\s*([\w_]+)/) {
|
||||
$cur = $1;
|
||||
undef $default_set;
|
||||
}
|
||||
if ($line =~ /^\s*(menu|choice|end|source)/) {
|
||||
undef $cur;
|
||||
undef $default_set;
|
||||
}
|
||||
$line =~ s/^(\s*source\s+)/$1package\/busybox\/config\//;
|
||||
|
||||
$line =~ s/^(\s*(prompt "[^"]+" if|config|depends|depends on|select|default|default \w if)\s+\!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
|
||||
$line =~ s/(( \|\| | \&\& | \( )!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
|
||||
$line =~ s/(\( ?!?)([A-Z_]+ (\|\||&&))/$1BUSYBOX_CONFIG_$2/g;
|
||||
|
||||
if ($cur) {
|
||||
($cur eq 'LFS') and do {
|
||||
$line =~ s/^(\s*(bool|tristate|string))\s*".+"$/$1/;
|
||||
};
|
||||
if ($line =~ /^\s*default/) {
|
||||
my $c;
|
||||
$default_set = 1;
|
||||
$c = $config{$cur} or $c = 'n';
|
||||
|
||||
$line =~ s/^(\s*default\s*)(\w+|"[^"]*")(.*)/$1$c$3/;
|
||||
}
|
||||
}
|
||||
|
||||
print OUTPUT $line;
|
||||
}
|
||||
close OUTPUT;
|
||||
close INPUT;
|
||||
|
||||
}
|
||||
close FIND;
|
||||
18
package/utils/busybox/files/cron
Executable file
18
package/utils/busybox/files/cron
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2006-2011 OpenWrt.org
|
||||
|
||||
START=50
|
||||
|
||||
SERVICE_USE_PID=1
|
||||
|
||||
start () {
|
||||
loglevel=$(uci_get "system.@system[0].cronloglevel")
|
||||
[ -z "$(ls /etc/crontabs/)" ] && exit 1
|
||||
mkdir -p /var/spool/cron
|
||||
ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
|
||||
service_start /usr/sbin/crond -c /etc/crontabs -l ${loglevel:-5}
|
||||
}
|
||||
|
||||
stop() {
|
||||
service_stop /usr/sbin/crond
|
||||
}
|
||||
37
package/utils/busybox/files/telnet
Executable file
37
package/utils/busybox/files/telnet
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2006-2011 OpenWrt.org
|
||||
|
||||
START=50
|
||||
|
||||
has_root_pwd() {
|
||||
local pwd=$([ -f "$1" ] && cat "$1")
|
||||
pwd="${pwd#*root:}"
|
||||
pwd="${pwd%%:*}"
|
||||
|
||||
test -n "${pwd#[\!x]}"
|
||||
}
|
||||
|
||||
get_root_home() {
|
||||
local homedir=$([ -f "$1" ] && cat "$1")
|
||||
homedir="${homedir#*:*:0:0:*:}"
|
||||
|
||||
echo "${homedir%%:*}"
|
||||
}
|
||||
|
||||
has_ssh_pubkey() {
|
||||
( /etc/init.d/dropbear enabled 2> /dev/null && grep -qs "^ssh-" /etc/dropbear/authorized_keys ) || \
|
||||
( /etc/init.d/sshd enabled 2> /dev/null && grep -qs "^ssh-" "$(get_root_home /etc/passwd)"/.ssh/authorized_keys )
|
||||
}
|
||||
|
||||
start() {
|
||||
if ( ! has_ssh_pubkey && \
|
||||
! has_root_pwd /etc/passwd && ! has_root_pwd /etc/shadow ) || \
|
||||
( ! /etc/init.d/dropbear enabled 2> /dev/null && ! /etc/init.d/sshd enabled 2> /dev/null );
|
||||
then
|
||||
service_start /usr/sbin/telnetd -l /bin/login.sh
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
service_stop /usr/sbin/telnetd
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
--- a/init/init.c
|
||||
+++ b/init/init.c
|
||||
@@ -573,8 +573,11 @@ static void run_actions(int action_type)
|
||||
/* Only run stuff with pid == 0. If pid != 0,
|
||||
* it is already running
|
||||
*/
|
||||
- if (a->pid == 0)
|
||||
+ if (a->pid == 0) {
|
||||
+ if (a->terminal[0] && access(a->terminal, R_OK | W_OK))
|
||||
+ continue;
|
||||
a->pid = run(a);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
From eb80c2a5315ed08bd329448217695375d89732c9 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Thill <nico@openwrt.org>
|
||||
Date: Wed, 9 Nov 2011 18:17:20 +0100
|
||||
Subject: [PATCH] passwd: use MD5 hash by default (like it used to be)
|
||||
|
||||
---
|
||||
loginutils/passwd.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
--- a/loginutils/passwd.c
|
||||
+++ b/loginutils/passwd.c
|
||||
@@ -94,7 +94,7 @@ int passwd_main(int argc UNUSED_PARAM, c
|
||||
};
|
||||
unsigned opt;
|
||||
int rc;
|
||||
- const char *opt_a = "d"; /* des */
|
||||
+ const char *opt_a = "m"; /* md5 */
|
||||
const char *filename;
|
||||
char *myname;
|
||||
char *name;
|
||||
37
package/utils/busybox/patches/003-brctl_show_fix.patch
Normal file
37
package/utils/busybox/patches/003-brctl_show_fix.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
--- a/networking/brctl.c
|
||||
+++ b/networking/brctl.c
|
||||
@@ -129,7 +129,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
"setageing\0" "setfd\0" "sethello\0" "setmaxage\0"
|
||||
"setpathcost\0" "setportprio\0" "setbridgeprio\0"
|
||||
)
|
||||
- IF_FEATURE_BRCTL_SHOW("showmacs\0" "show\0");
|
||||
+ IF_FEATURE_BRCTL_SHOW("show\0");
|
||||
|
||||
enum { ARG_addbr = 0, ARG_delbr, ARG_addif, ARG_delif
|
||||
IF_FEATURE_BRCTL_FANCY(,
|
||||
@@ -137,7 +137,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
ARG_setageing, ARG_setfd, ARG_sethello, ARG_setmaxage,
|
||||
ARG_setpathcost, ARG_setportprio, ARG_setbridgeprio
|
||||
)
|
||||
- IF_FEATURE_BRCTL_SHOW(, ARG_showmacs, ARG_show)
|
||||
+ IF_FEATURE_BRCTL_SHOW(, ARG_show)
|
||||
};
|
||||
|
||||
int fd;
|
||||
--- a/networking/Config.src
|
||||
+++ b/networking/Config.src
|
||||
@@ -82,12 +82,12 @@ config FEATURE_BRCTL_FANCY
|
||||
This adds about 600 bytes.
|
||||
|
||||
config FEATURE_BRCTL_SHOW
|
||||
- bool "Support show, showmac and showstp"
|
||||
+ bool "Support show"
|
||||
default y
|
||||
depends on BRCTL && FEATURE_BRCTL_FANCY
|
||||
help
|
||||
Add support for option which prints the current config:
|
||||
- showmacs, showstp, show
|
||||
+ show
|
||||
|
||||
config DNSD
|
||||
bool "dnsd"
|
||||
@@ -0,0 +1,237 @@
|
||||
http://git.busybox.net/busybox/commit/?id=dd1061b6a79b0161597799e825bfefc27993ace5
|
||||
|
||||
From dd1061b6a79b0161597799e825bfefc27993ace5 Mon Sep 17 00:00:00 2001
|
||||
From: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
Date: Sun, 11 Sep 2011 21:04:02 +0200
|
||||
Subject: [PATCH] wget: URL-decode user:password before base64-encoding it into auth hdr. Closes 3625.
|
||||
|
||||
function old new delta
|
||||
percent_decode_in_place - 152 +152
|
||||
parse_url 304 317 +13
|
||||
handle_incoming_and_exit 2795 2798 +3
|
||||
httpd_main 763 760 -3
|
||||
decodeString 152 - -152
|
||||
------------------------------------------------------------------------------
|
||||
(add/remove: 2/1 grow/shrink: 2/1 up/down: 168/-155) Total: 13 bytes
|
||||
|
||||
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
|
||||
--- a/include/libbb.h
|
||||
+++ b/include/libbb.h
|
||||
@@ -1570,6 +1570,15 @@ int starts_with_cpu(const char *str) FAS
|
||||
unsigned get_cpu_count(void) FAST_FUNC;
|
||||
|
||||
|
||||
+/* Use strict=1 if you process input from untrusted source:
|
||||
+ * it will return NULL on invalid %xx (bad hex chars)
|
||||
+ * and str + 1 if decoded char is / or NUL.
|
||||
+ * In non-strict mode, it always succeeds (returns str),
|
||||
+ * and also it additionally decoded '+' to space.
|
||||
+ */
|
||||
+char *percent_decode_in_place(char *str, int strict) FAST_FUNC;
|
||||
+
|
||||
+
|
||||
extern const char bb_uuenc_tbl_base64[];
|
||||
extern const char bb_uuenc_tbl_std[];
|
||||
void bb_uuencode(char *store, const void *s, int length, const char *tbl) FAST_FUNC;
|
||||
--- /dev/null
|
||||
+++ b/libbb/percent_decode.c
|
||||
@@ -0,0 +1,69 @@
|
||||
+/* vi: set sw=4 ts=4: */
|
||||
+/*
|
||||
+ * Licensed under GPLv2 or later, see file LICENSE in this source tree.
|
||||
+ */
|
||||
+
|
||||
+//kbuild:lib-y += percent_decode.o
|
||||
+
|
||||
+#include "libbb.h"
|
||||
+
|
||||
+static unsigned hex_to_bin(unsigned char c)
|
||||
+{
|
||||
+ unsigned v;
|
||||
+
|
||||
+ v = c - '0';
|
||||
+ if (v <= 9)
|
||||
+ return v;
|
||||
+ /* c | 0x20: letters to lower case, non-letters
|
||||
+ * to (potentially different) non-letters */
|
||||
+ v = (unsigned)(c | 0x20) - 'a';
|
||||
+ if (v <= 5)
|
||||
+ return v + 10;
|
||||
+ return ~0;
|
||||
+/* For testing:
|
||||
+void t(char c) { printf("'%c'(%u) %u\n", c, c, hex_to_bin(c)); }
|
||||
+int main() { t(0x10); t(0x20); t('0'); t('9'); t('A'); t('F'); t('a'); t('f');
|
||||
+t('0'-1); t('9'+1); t('A'-1); t('F'+1); t('a'-1); t('f'+1); return 0; }
|
||||
+*/
|
||||
+}
|
||||
+
|
||||
+char* FAST_FUNC percent_decode_in_place(char *str, int strict)
|
||||
+{
|
||||
+ /* note that decoded string is always shorter than original */
|
||||
+ char *src = str;
|
||||
+ char *dst = str;
|
||||
+ char c;
|
||||
+
|
||||
+ while ((c = *src++) != '\0') {
|
||||
+ unsigned v;
|
||||
+
|
||||
+ if (!strict && c == '+') {
|
||||
+ *dst++ = ' ';
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (c != '%') {
|
||||
+ *dst++ = c;
|
||||
+ continue;
|
||||
+ }
|
||||
+ v = hex_to_bin(src[0]);
|
||||
+ if (v > 15) {
|
||||
+ bad_hex:
|
||||
+ if (strict)
|
||||
+ return NULL;
|
||||
+ *dst++ = '%';
|
||||
+ continue;
|
||||
+ }
|
||||
+ v = (v * 16) | hex_to_bin(src[1]);
|
||||
+ if (v > 255)
|
||||
+ goto bad_hex;
|
||||
+ if (strict && (v == '/' || v == '\0')) {
|
||||
+ /* caller takes it as indication of invalid
|
||||
+ * (dangerous wrt exploits) chars */
|
||||
+ return str + 1;
|
||||
+ }
|
||||
+ *dst++ = v;
|
||||
+ src += 2;
|
||||
+ }
|
||||
+ *dst = '\0';
|
||||
+ return str;
|
||||
+}
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -820,78 +820,6 @@ static char *encodeString(const char *st
|
||||
}
|
||||
#endif
|
||||
|
||||
-/*
|
||||
- * Given a URL encoded string, convert it to plain ascii.
|
||||
- * Since decoding always makes strings smaller, the decode is done in-place.
|
||||
- * Thus, callers should xstrdup() the argument if they do not want the
|
||||
- * argument modified. The return is the original pointer, allowing this
|
||||
- * function to be easily used as arguments to other functions.
|
||||
- *
|
||||
- * string The first string to decode.
|
||||
- * option_d 1 if called for httpd -d
|
||||
- *
|
||||
- * Returns a pointer to the decoded string (same as input).
|
||||
- */
|
||||
-static unsigned hex_to_bin(unsigned char c)
|
||||
-{
|
||||
- unsigned v;
|
||||
-
|
||||
- v = c - '0';
|
||||
- if (v <= 9)
|
||||
- return v;
|
||||
- /* c | 0x20: letters to lower case, non-letters
|
||||
- * to (potentially different) non-letters */
|
||||
- v = (unsigned)(c | 0x20) - 'a';
|
||||
- if (v <= 5)
|
||||
- return v + 10;
|
||||
- return ~0;
|
||||
-/* For testing:
|
||||
-void t(char c) { printf("'%c'(%u) %u\n", c, c, hex_to_bin(c)); }
|
||||
-int main() { t(0x10); t(0x20); t('0'); t('9'); t('A'); t('F'); t('a'); t('f');
|
||||
-t('0'-1); t('9'+1); t('A'-1); t('F'+1); t('a'-1); t('f'+1); return 0; }
|
||||
-*/
|
||||
-}
|
||||
-static char *decodeString(char *orig, int option_d)
|
||||
-{
|
||||
- /* note that decoded string is always shorter than original */
|
||||
- char *string = orig;
|
||||
- char *ptr = string;
|
||||
- char c;
|
||||
-
|
||||
- while ((c = *ptr++) != '\0') {
|
||||
- unsigned v;
|
||||
-
|
||||
- if (option_d && c == '+') {
|
||||
- *string++ = ' ';
|
||||
- continue;
|
||||
- }
|
||||
- if (c != '%') {
|
||||
- *string++ = c;
|
||||
- continue;
|
||||
- }
|
||||
- v = hex_to_bin(ptr[0]);
|
||||
- if (v > 15) {
|
||||
- bad_hex:
|
||||
- if (!option_d)
|
||||
- return NULL;
|
||||
- *string++ = '%';
|
||||
- continue;
|
||||
- }
|
||||
- v = (v * 16) | hex_to_bin(ptr[1]);
|
||||
- if (v > 255)
|
||||
- goto bad_hex;
|
||||
- if (!option_d && (v == '/' || v == '\0')) {
|
||||
- /* caller takes it as indication of invalid
|
||||
- * (dangerous wrt exploits) chars */
|
||||
- return orig + 1;
|
||||
- }
|
||||
- *string++ = v;
|
||||
- ptr += 2;
|
||||
- }
|
||||
- *string = '\0';
|
||||
- return orig;
|
||||
-}
|
||||
-
|
||||
#if ENABLE_FEATURE_HTTPD_BASIC_AUTH
|
||||
/*
|
||||
* Decode a base64 data stream as per rfc1521.
|
||||
@@ -1949,7 +1877,7 @@ static void handle_incoming_and_exit(con
|
||||
}
|
||||
|
||||
/* Decode URL escape sequences */
|
||||
- tptr = decodeString(urlcopy, 0);
|
||||
+ tptr = percent_decode_in_place(urlcopy, /*strict:*/ 1);
|
||||
if (tptr == NULL)
|
||||
send_headers_and_exit(HTTP_BAD_REQUEST);
|
||||
if (tptr == urlcopy + 1) {
|
||||
@@ -2408,7 +2336,7 @@ int httpd_main(int argc UNUSED_PARAM, ch
|
||||
, &verbose
|
||||
);
|
||||
if (opt & OPT_DECODE_URL) {
|
||||
- fputs(decodeString(url_for_decode, 1), stdout);
|
||||
+ fputs(percent_decode_in_place(url_for_decode, /*strict:*/ 0), stdout);
|
||||
return 0;
|
||||
}
|
||||
#if ENABLE_FEATURE_HTTPD_ENCODE_URL_STR
|
||||
--- a/networking/wget.c
|
||||
+++ b/networking/wget.c
|
||||
@@ -298,8 +298,13 @@ static void parse_url(const char *src_ur
|
||||
|
||||
sp = strrchr(h->host, '@');
|
||||
if (sp != NULL) {
|
||||
- h->user = h->host;
|
||||
+ // URL-decode "user:password" string before base64-encoding:
|
||||
+ // wget http://test:my%20pass@example.com should send
|
||||
+ // Authorization: Basic dGVzdDpteSBwYXNz
|
||||
+ // which decodes to "test:my pass".
|
||||
+ // Standard wget and curl do this too.
|
||||
*sp = '\0';
|
||||
+ h->user = percent_decode_in_place(h->host, /*strict:*/ 0);
|
||||
h->host = sp + 1;
|
||||
}
|
||||
|
||||
@@ -661,12 +666,6 @@ static void download_one_url(const char
|
||||
|
||||
#if ENABLE_FEATURE_WGET_AUTHENTICATION
|
||||
if (target.user) {
|
||||
-//TODO: URL-decode "user:password" string before base64-encoding:
|
||||
-//wget http://test:my%20pass@example.com should send
|
||||
-// Authorization: Basic dGVzdDpteSBwYXNz
|
||||
-//which decodes to "test:my pass", instead of what we send now:
|
||||
-// Authorization: Basic dGVzdDpteSUyMHBhc3M=
|
||||
-//Can reuse decodeString() from httpd.c
|
||||
fprintf(sfp, "Proxy-Authorization: Basic %s\r\n"+6,
|
||||
base64enc(target.user));
|
||||
}
|
||||
10
package/utils/busybox/patches/005-resource_h_include.patch
Normal file
10
package/utils/busybox/patches/005-resource_h_include.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/include/libbb.h
|
||||
+++ b/include/libbb.h
|
||||
@@ -35,6 +35,7 @@
|
||||
#include <sys/poll.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mman.h>
|
||||
+#include <sys/resource.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/time.h>
|
||||
@@ -0,0 +1,164 @@
|
||||
--- a/networking/udhcp/common.c
|
||||
+++ b/networking/udhcp/common.c
|
||||
@@ -29,16 +29,16 @@ const struct dhcp_optflag dhcp_optflags[
|
||||
// { OPTION_IP | OPTION_LIST , 0x07 }, /* DHCP_LOG_SERVER */
|
||||
// { OPTION_IP | OPTION_LIST , 0x08 }, /* DHCP_COOKIE_SERVER */
|
||||
{ OPTION_IP | OPTION_LIST , 0x09 }, /* DHCP_LPR_SERVER */
|
||||
- { OPTION_STRING | OPTION_REQ, 0x0c }, /* DHCP_HOST_NAME */
|
||||
+ { OPTION_STRING_HOST | OPTION_REQ, 0x0c }, /* DHCP_HOST_NAME */
|
||||
{ OPTION_U16 , 0x0d }, /* DHCP_BOOT_SIZE */
|
||||
- { OPTION_STRING | OPTION_REQ, 0x0f }, /* DHCP_DOMAIN_NAME */
|
||||
+ { OPTION_STRING_HOST | OPTION_REQ, 0x0f }, /* DHCP_DOMAIN_NAME */
|
||||
{ OPTION_IP , 0x10 }, /* DHCP_SWAP_SERVER */
|
||||
{ OPTION_STRING , 0x11 }, /* DHCP_ROOT_PATH */
|
||||
{ OPTION_U8 , 0x17 }, /* DHCP_IP_TTL */
|
||||
{ OPTION_U16 , 0x1a }, /* DHCP_MTU */
|
||||
{ OPTION_IP | OPTION_REQ, 0x1c }, /* DHCP_BROADCAST */
|
||||
{ OPTION_IP_PAIR | OPTION_LIST , 0x21 }, /* DHCP_ROUTES */
|
||||
- { OPTION_STRING , 0x28 }, /* DHCP_NIS_DOMAIN */
|
||||
+ { OPTION_STRING_HOST , 0x28 }, /* DHCP_NIS_DOMAIN */
|
||||
{ OPTION_IP | OPTION_LIST , 0x29 }, /* DHCP_NIS_SERVER */
|
||||
{ OPTION_IP | OPTION_LIST | OPTION_REQ, 0x2a }, /* DHCP_NTP_SERVER */
|
||||
{ OPTION_IP | OPTION_LIST , 0x2c }, /* DHCP_WINS_SERVER */
|
||||
@@ -46,7 +46,7 @@ const struct dhcp_optflag dhcp_optflags[
|
||||
{ OPTION_IP , 0x36 }, /* DHCP_SERVER_ID */
|
||||
{ OPTION_STRING , 0x38 }, /* DHCP_ERR_MESSAGE */
|
||||
//TODO: must be combined with 'sname' and 'file' handling:
|
||||
- { OPTION_STRING , 0x42 }, /* DHCP_TFTP_SERVER_NAME */
|
||||
+ { OPTION_STRING_HOST , 0x42 }, /* DHCP_TFTP_SERVER_NAME */
|
||||
{ OPTION_STRING , 0x43 }, /* DHCP_BOOT_FILE */
|
||||
//TODO: not a string, but a set of LASCII strings:
|
||||
// { OPTION_STRING , 0x4D }, /* DHCP_USER_CLASS */
|
||||
@@ -143,6 +143,7 @@ const uint8_t dhcp_option_lengths[] ALIG
|
||||
[OPTION_IP_PAIR] = 8,
|
||||
// [OPTION_BOOLEAN] = 1,
|
||||
[OPTION_STRING] = 1, /* ignored by udhcp_str2optset */
|
||||
+ [OPTION_STRING_HOST] = 1, /* ignored by udhcp_str2optset */
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
[OPTION_DNS_STRING] = 1, /* ignored by both udhcp_str2optset and xmalloc_optname_optval */
|
||||
[OPTION_SIP_SERVERS] = 1,
|
||||
@@ -411,7 +412,9 @@ static NOINLINE void attach_option(
|
||||
/* actually 255 is ok too, but adding a space can overlow it */
|
||||
|
||||
existing->data = xrealloc(existing->data, OPT_DATA + 1 + old_len + length);
|
||||
- if ((optflag->flags & OPTION_TYPE_MASK) == OPTION_STRING) {
|
||||
+ if ((optflag->flags & OPTION_TYPE_MASK) == OPTION_STRING
|
||||
+ || (optflag->flags & OPTION_TYPE_MASK) == OPTION_STRING_HOST
|
||||
+ ) {
|
||||
/* add space separator between STRING options in a list */
|
||||
existing->data[OPT_DATA + old_len] = ' ';
|
||||
old_len++;
|
||||
@@ -475,6 +478,7 @@ int FAST_FUNC udhcp_str2optset(const cha
|
||||
retval = udhcp_str2nip(val, buffer + 4);
|
||||
break;
|
||||
case OPTION_STRING:
|
||||
+ case OPTION_STRING_HOST:
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
case OPTION_DNS_STRING:
|
||||
#endif
|
||||
--- a/networking/udhcp/common.h
|
||||
+++ b/networking/udhcp/common.h
|
||||
@@ -80,6 +80,9 @@ enum {
|
||||
OPTION_IP = 1,
|
||||
OPTION_IP_PAIR,
|
||||
OPTION_STRING,
|
||||
+ /* Opts of STRING_HOST type will be sanitized before they are passed
|
||||
+ * to udhcpc script's environment: */
|
||||
+ OPTION_STRING_HOST,
|
||||
// OPTION_BOOLEAN,
|
||||
OPTION_U8,
|
||||
OPTION_U16,
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -101,6 +101,7 @@ static const uint8_t len_of_option_as_st
|
||||
[OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
|
||||
[OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
|
||||
[OPTION_STRING ] = 1,
|
||||
+ [OPTION_STRING_HOST ] = 1,
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
[OPTION_DNS_STRING ] = 1, /* unused */
|
||||
/* Hmmm, this severely overestimates size if SIP_SERVERS option
|
||||
@@ -135,6 +136,63 @@ static int mton(uint32_t mask)
|
||||
return i;
|
||||
}
|
||||
|
||||
+/* Check if a given label represents a valid DNS label
|
||||
+ * Return pointer to the first character after the label upon success,
|
||||
+ * NULL otherwise.
|
||||
+ * See RFC1035, 2.3.1
|
||||
+ */
|
||||
+/* We don't need to be particularly anal. For example, allowing _, hyphen
|
||||
+ * at the end, or leading and trailing dots would be ok, since it
|
||||
+ * can't be used for attacks. (Leading hyphen can be, if someone uses
|
||||
+ * cmd "$hostname"
|
||||
+ * in the script: then hostname may be treated as an option)
|
||||
+ */
|
||||
+static const char *valid_domain_label(const char *label)
|
||||
+{
|
||||
+ unsigned char ch;
|
||||
+ unsigned pos = 0;
|
||||
+
|
||||
+ for (;;) {
|
||||
+ ch = *label;
|
||||
+ if ((ch|0x20) < 'a' || (ch|0x20) > 'z') {
|
||||
+ if (pos == 0) {
|
||||
+ /* label must begin with letter */
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ if (ch < '0' || ch > '9') {
|
||||
+ if (ch == '\0' || ch == '.')
|
||||
+ return label;
|
||||
+ /* DNS allows only '-', but we are more permissive */
|
||||
+ if (ch != '-' && ch != '_')
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ label++;
|
||||
+ pos++;
|
||||
+ //Do we want this?
|
||||
+ //if (pos > 63) /* NS_MAXLABEL; labels must be 63 chars or less */
|
||||
+ // return NULL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/* Check if a given name represents a valid DNS name */
|
||||
+/* See RFC1035, 2.3.1 */
|
||||
+static int good_hostname(const char *name)
|
||||
+{
|
||||
+ //const char *start = name;
|
||||
+
|
||||
+ for (;;) {
|
||||
+ name = valid_domain_label(name);
|
||||
+ if (!name)
|
||||
+ return 0;
|
||||
+ if (!name[0])
|
||||
+ return 1;
|
||||
+ //Do we want this?
|
||||
+ //return ((name - start) < 1025); /* NS_MAXDNAME */
|
||||
+ name++;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/* Create "opt_name=opt_value" string */
|
||||
static NOINLINE char *xmalloc_optname_optval(uint8_t *option, const struct dhcp_optflag *optflag, const char *opt_name)
|
||||
{
|
||||
@@ -185,8 +243,11 @@ static NOINLINE char *xmalloc_optname_op
|
||||
break;
|
||||
}
|
||||
case OPTION_STRING:
|
||||
+ case OPTION_STRING_HOST:
|
||||
memcpy(dest, option, len);
|
||||
dest[len] = '\0';
|
||||
+ if (type == OPTION_STRING_HOST && !good_hostname(dest))
|
||||
+ safe_strncpy(dest, "bad", len);
|
||||
return ret; /* Short circuit this case */
|
||||
case OPTION_STATIC_ROUTES: {
|
||||
/* Option binary format:
|
||||
@@ -314,6 +375,7 @@ static char **fill_envp(struct dhcp_pack
|
||||
/* +1 element for each option, +2 for subnet option: */
|
||||
if (packet) {
|
||||
/* note: do not search for "pad" (0) and "end" (255) options */
|
||||
+//TODO: change logic to scan packet _once_
|
||||
for (i = 1; i < 255; i++) {
|
||||
temp = udhcp_get_option(packet, i);
|
||||
if (temp) {
|
||||
1441
package/utils/busybox/patches/007-upstream_mkfs_ext2_fixes.patch
Normal file
1441
package/utils/busybox/patches/007-upstream_mkfs_ext2_fixes.patch
Normal file
File diff suppressed because it is too large
Load Diff
11
package/utils/busybox/patches/110-wget_getopt_fix.patch
Normal file
11
package/utils/busybox/patches/110-wget_getopt_fix.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/networking/wget.c
|
||||
+++ b/networking/wget.c
|
||||
@@ -873,7 +873,7 @@ int wget_main(int argc UNUSED_PARAM, cha
|
||||
/* Ignored: */
|
||||
// "tries\0" Required_argument "t"
|
||||
/* Ignored (we always use PASV): */
|
||||
- "passive-ftp\0" No_argument "\xff"
|
||||
+ "passive-ftp\0" No_argument "\xfd"
|
||||
"header\0" Required_argument "\xfe"
|
||||
"post-data\0" Required_argument "\xfd"
|
||||
/* Ignored (we don't do ssl) */
|
||||
8
package/utils/busybox/patches/140-trylink_bash.patch
Normal file
8
package/utils/busybox/patches/140-trylink_bash.patch
Normal file
@@ -0,0 +1,8 @@
|
||||
--- a/scripts/trylink
|
||||
+++ b/scripts/trylink
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/sh
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
debug=false
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
--- a/scripts/gen_build_files.sh
|
||||
+++ b/scripts/gen_build_files.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/sh
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
# Note: was using sed OPTS CMD -- FILES
|
||||
# but users complain that many sed implementations
|
||||
11
package/utils/busybox/patches/150-no_static_libgcc.patch
Normal file
11
package/utils/busybox/patches/150-no_static_libgcc.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/Makefile.flags
|
||||
+++ b/Makefile.flags
|
||||
@@ -50,7 +50,7 @@ CFLAGS += $(call cc-option,-fno-builtin-
|
||||
# -fno-guess-branch-probability: prohibit pseudo-random guessing
|
||||
# of branch probabilities (hopefully makes bloatcheck more stable):
|
||||
CFLAGS += $(call cc-option,-fno-guess-branch-probability,)
|
||||
-CFLAGS += $(call cc-option,-funsigned-char -static-libgcc,)
|
||||
+CFLAGS += $(call cc-option,-funsigned-char,)
|
||||
CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1,)
|
||||
|
||||
# FIXME: These warnings are at least partially to be concerned about and should
|
||||
22
package/utils/busybox/patches/200-etc_crontabs.patch
Normal file
22
package/utils/busybox/patches/200-etc_crontabs.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- a/miscutils/crond.c
|
||||
+++ b/miscutils/crond.c
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
|
||||
#define TMPDIR CONFIG_FEATURE_CROND_DIR
|
||||
-#define CRONTABS CONFIG_FEATURE_CROND_DIR "/crontabs"
|
||||
+#define CRONTABS "/etc/crontabs"
|
||||
#ifndef SENDMAIL
|
||||
# define SENDMAIL "sendmail"
|
||||
#endif
|
||||
--- a/miscutils/crontab.c
|
||||
+++ b/miscutils/crontab.c
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "libbb.h"
|
||||
|
||||
-#define CRONTABS CONFIG_FEATURE_CROND_DIR "/crontabs"
|
||||
+#define CRONTABS "/etc/crontabs"
|
||||
#ifndef CRONUPDATE
|
||||
#define CRONUPDATE "cron.update"
|
||||
#endif
|
||||
20
package/utils/busybox/patches/240-udhcpc_retries.patch
Normal file
20
package/utils/busybox/patches/240-udhcpc_retries.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -1319,7 +1319,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
|
||||
switch (state) {
|
||||
case INIT_SELECTING:
|
||||
- if (packet_num < discover_retries) {
|
||||
+ if (!discover_retries || packet_num < discover_retries) {
|
||||
if (packet_num == 0)
|
||||
xid = random_xid();
|
||||
/* broadcast */
|
||||
@@ -1348,7 +1348,7 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
packet_num = 0;
|
||||
continue;
|
||||
case REQUESTING:
|
||||
- if (packet_num < discover_retries) {
|
||||
+ if (!discover_retries || packet_num < discover_retries) {
|
||||
/* send broadcast select packet */
|
||||
send_select(xid, server_addr, requested_ip);
|
||||
timeout = discover_timeout;
|
||||
@@ -0,0 +1,99 @@
|
||||
--- a/networking/udhcp/packet.c
|
||||
+++ b/networking/udhcp/packet.c
|
||||
@@ -158,6 +158,11 @@ uint16_t FAST_FUNC udhcp_checksum(void *
|
||||
return ~sum;
|
||||
}
|
||||
|
||||
+int udhcp_get_payload_len(struct dhcp_packet *dhcp_pkt)
|
||||
+{
|
||||
+ return sizeof(struct dhcp_packet) - DHCP_OPTIONS_BUFSIZE + udhcp_end_option(dhcp_pkt->options) + sizeof(dhcp_pkt->options[0]);
|
||||
+}
|
||||
+
|
||||
/* Construct a ip/udp header for a packet, send packet */
|
||||
int FAST_FUNC udhcp_send_raw_packet(struct dhcp_packet *dhcp_pkt,
|
||||
uint32_t source_nip, int source_port,
|
||||
@@ -166,10 +171,10 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
{
|
||||
struct sockaddr_ll dest_sll;
|
||||
struct ip_udp_dhcp_packet packet;
|
||||
- unsigned padding;
|
||||
int fd;
|
||||
int result = -1;
|
||||
const char *msg;
|
||||
+ int p_len = udhcp_get_payload_len(dhcp_pkt);
|
||||
|
||||
fd = socket(PF_PACKET, SOCK_DGRAM, htons(ETH_P_IP));
|
||||
if (fd < 0) {
|
||||
@@ -178,8 +183,8 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
}
|
||||
|
||||
memset(&dest_sll, 0, sizeof(dest_sll));
|
||||
- memset(&packet, 0, offsetof(struct ip_udp_dhcp_packet, data));
|
||||
- packet.data = *dhcp_pkt; /* struct copy */
|
||||
+ memset(&packet, 0, sizeof(packet));
|
||||
+ memcpy(&(packet.data), dhcp_pkt, p_len);
|
||||
|
||||
dest_sll.sll_family = AF_PACKET;
|
||||
dest_sll.sll_protocol = htons(ETH_P_IP);
|
||||
@@ -192,36 +197,24 @@ int FAST_FUNC udhcp_send_raw_packet(stru
|
||||
goto ret_close;
|
||||
}
|
||||
|
||||
- /* We were sending full-sized DHCP packets (zero padded),
|
||||
- * but some badly configured servers were seen dropping them.
|
||||
- * Apparently they drop all DHCP packets >576 *ethernet* octets big,
|
||||
- * whereas they may only drop packets >576 *IP* octets big
|
||||
- * (which for typical Ethernet II means 590 octets: 6+6+2 + 576).
|
||||
- *
|
||||
- * In order to work with those buggy servers,
|
||||
- * we truncate packets after end option byte.
|
||||
- */
|
||||
- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(packet.data.options);
|
||||
-
|
||||
packet.ip.protocol = IPPROTO_UDP;
|
||||
packet.ip.saddr = source_nip;
|
||||
packet.ip.daddr = dest_nip;
|
||||
packet.udp.source = htons(source_port);
|
||||
packet.udp.dest = htons(dest_port);
|
||||
- /* size, excluding IP header: */
|
||||
- packet.udp.len = htons(UDP_DHCP_SIZE - padding);
|
||||
- /* for UDP checksumming, ip.len is set to UDP packet len */
|
||||
+ p_len += sizeof(packet.udp);
|
||||
+ packet.udp.len = htons(p_len);
|
||||
packet.ip.tot_len = packet.udp.len;
|
||||
- packet.udp.check = udhcp_checksum(&packet, IP_UDP_DHCP_SIZE - padding);
|
||||
- /* but for sending, it is set to IP packet len */
|
||||
- packet.ip.tot_len = htons(IP_UDP_DHCP_SIZE - padding);
|
||||
+ p_len += sizeof(packet.ip);
|
||||
+ packet.udp.check = udhcp_checksum(&packet, p_len);
|
||||
+ packet.ip.tot_len = htons(p_len);
|
||||
packet.ip.ihl = sizeof(packet.ip) >> 2;
|
||||
packet.ip.version = IPVERSION;
|
||||
packet.ip.ttl = IPDEFTTL;
|
||||
packet.ip.check = udhcp_checksum(&packet.ip, sizeof(packet.ip));
|
||||
|
||||
udhcp_dump_packet(dhcp_pkt);
|
||||
- result = sendto(fd, &packet, IP_UDP_DHCP_SIZE - padding, /*flags:*/ 0,
|
||||
+ result = sendto(fd, &packet, p_len, /*flags:*/ 0,
|
||||
(struct sockaddr *) &dest_sll, sizeof(dest_sll));
|
||||
msg = "sendto";
|
||||
ret_close:
|
||||
@@ -239,7 +232,6 @@ int FAST_FUNC udhcp_send_kernel_packet(s
|
||||
uint32_t dest_nip, int dest_port)
|
||||
{
|
||||
struct sockaddr_in client;
|
||||
- unsigned padding;
|
||||
int fd;
|
||||
int result = -1;
|
||||
const char *msg;
|
||||
@@ -270,9 +262,7 @@ int FAST_FUNC udhcp_send_kernel_packet(s
|
||||
}
|
||||
|
||||
udhcp_dump_packet(dhcp_pkt);
|
||||
-
|
||||
- padding = DHCP_OPTIONS_BUFSIZE - 1 - udhcp_end_option(dhcp_pkt->options);
|
||||
- result = safe_write(fd, dhcp_pkt, DHCP_SIZE - padding);
|
||||
+ result = safe_write(fd, dhcp_pkt, udhcp_get_payload_len(dhcp_pkt));
|
||||
msg = "write";
|
||||
ret_close:
|
||||
close(fd);
|
||||
18
package/utils/busybox/patches/242-udhcpc_msgs.patch
Normal file
18
package/utils/busybox/patches/242-udhcpc_msgs.patch
Normal file
@@ -0,0 +1,18 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -602,6 +602,7 @@ static int raw_bcast_from_client_config_
|
||||
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
|
||||
{
|
||||
struct dhcp_packet packet;
|
||||
+ static int msgs = 0;
|
||||
|
||||
/* Fill in: op, htype, hlen, cookie, chaddr fields,
|
||||
* random xid field (we override it below),
|
||||
@@ -619,6 +620,7 @@ static NOINLINE int send_discover(uint32
|
||||
*/
|
||||
add_client_options(&packet);
|
||||
|
||||
+ if (msgs++ < 3)
|
||||
bb_info_msg("Sending discover...");
|
||||
return raw_bcast_from_client_config_ifindex(&packet);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -1267,6 +1267,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
|
||||
/* silence "uninitialized!" warning */
|
||||
unsigned timestamp_before_wait = timestamp_before_wait;
|
||||
|
||||
+ /* When running on a bridge, the ifindex may have changed (e.g. if
|
||||
+ * member interfaces were added/removed or if the status of the
|
||||
+ * bridge changed).
|
||||
+ * Workaround: refresh it here before processing the next packet */
|
||||
+ udhcp_read_interface(client_config.interface, &client_config.ifindex, NULL, client_config.client_mac);
|
||||
+
|
||||
//bb_error_msg("sockfd:%d, listen_mode:%d", sockfd, listen_mode);
|
||||
|
||||
/* Was opening raw or udp socket here
|
||||
143
package/utils/busybox/patches/244-udhcpc_add_6rd_option.patch
Normal file
143
package/utils/busybox/patches/244-udhcpc_add_6rd_option.patch
Normal file
@@ -0,0 +1,143 @@
|
||||
--- a/networking/udhcp/common.c
|
||||
+++ b/networking/udhcp/common.c
|
||||
@@ -60,6 +60,8 @@ const struct dhcp_optflag dhcp_optflags[
|
||||
{ OPTION_U8 , 0x85 }, /* DHCP_VLAN_PRIORITY */
|
||||
#endif
|
||||
{ OPTION_STATIC_ROUTES , 0xf9 }, /* DHCP_MS_STATIC_ROUTES */
|
||||
+ { OPTION_6RD , 0xd4 }, /* DHCP_6RD (RFC) */
|
||||
+ { OPTION_6RD , 0x96 }, /* DHCP_6RD (Comcast) */
|
||||
{ OPTION_STRING , 0xfc }, /* DHCP_WPAD */
|
||||
|
||||
/* Options below have no match in dhcp_option_strings[],
|
||||
@@ -127,6 +129,8 @@ const char dhcp_option_strings[] ALIGN1
|
||||
"vlanpriority" "\0"/* DHCP_VLAN_PRIORITY */
|
||||
#endif
|
||||
"msstaticroutes""\0"/* DHCP_MS_STATIC_ROUTES */
|
||||
+ "ip6rd" "\0" /* DHCP_6RD (RFC) */
|
||||
+ "ip6rd" "\0" /* DHCP_6RD (Comcast) */
|
||||
"wpad" "\0" /* DHCP_WPAD */
|
||||
;
|
||||
|
||||
@@ -155,6 +159,7 @@ const uint8_t dhcp_option_lengths[] ALIG
|
||||
[OPTION_S32] = 4,
|
||||
/* Just like OPTION_STRING, we use minimum length here */
|
||||
[OPTION_STATIC_ROUTES] = 5,
|
||||
+ [OPTION_6RD] = 22,
|
||||
};
|
||||
|
||||
|
||||
--- a/networking/udhcp/common.h
|
||||
+++ b/networking/udhcp/common.h
|
||||
@@ -91,6 +91,7 @@ enum {
|
||||
OPTION_S32,
|
||||
OPTION_BIN,
|
||||
OPTION_STATIC_ROUTES,
|
||||
+ OPTION_6RD,
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
OPTION_DNS_STRING, /* RFC1035 compressed domain name list */
|
||||
OPTION_SIP_SERVERS,
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -100,6 +100,7 @@ static const uint8_t len_of_option_as_st
|
||||
[OPTION_IP ] = sizeof("255.255.255.255 "),
|
||||
[OPTION_IP_PAIR ] = sizeof("255.255.255.255 ") * 2,
|
||||
[OPTION_STATIC_ROUTES ] = sizeof("255.255.255.255/32 255.255.255.255 "),
|
||||
+ [OPTION_6RD ] = sizeof("32 128 FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 255.255.255.255 "),
|
||||
[OPTION_STRING ] = 1,
|
||||
[OPTION_STRING_HOST ] = 1,
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
@@ -124,6 +125,23 @@ static int sprint_nip(char *dest, const
|
||||
return sprintf(dest, "%s%u.%u.%u.%u", pre, ip[0], ip[1], ip[2], ip[3]);
|
||||
}
|
||||
|
||||
+static int sprint_nip6(char *dest, const char *pre, const uint8_t *ip)
|
||||
+{
|
||||
+ int len = 0;
|
||||
+ int off;
|
||||
+ uint16_t word;
|
||||
+
|
||||
+ len += sprintf(dest, "%s", pre);
|
||||
+
|
||||
+ for (off = 0; off < 16; off += 2)
|
||||
+ {
|
||||
+ move_from_unaligned16(word, &ip[off]);
|
||||
+ len += sprintf(dest+len, "%s%04X", off ? ":" : "", htons(word));
|
||||
+ }
|
||||
+
|
||||
+ return len;
|
||||
+}
|
||||
+
|
||||
/* really simple implementation, just count the bits */
|
||||
static int mton(uint32_t mask)
|
||||
{
|
||||
@@ -292,6 +310,70 @@ static NOINLINE char *xmalloc_optname_op
|
||||
}
|
||||
|
||||
return ret;
|
||||
+ }
|
||||
+ case OPTION_6RD: {
|
||||
+ /* Option binary format:
|
||||
+ * 0 1 2 3
|
||||
+ * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
||||
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
+ * | OPTION_6RD | option-length | IPv4MaskLen | 6rdPrefixLen |
|
||||
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
+ * | |
|
||||
+ * | 6rdPrefix |
|
||||
+ * | (16 octets) |
|
||||
+ * | |
|
||||
+ * | |
|
||||
+ * | |
|
||||
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
+ * | 6rdBRIPv4Address(es) |
|
||||
+ * . .
|
||||
+ * . .
|
||||
+ * . .
|
||||
+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
+ *
|
||||
+ * We convert it to a string "IPv4MaskLen 6rdPrefixLen 6rdPrefix 6rdBRIPv4Address"
|
||||
+ */
|
||||
+
|
||||
+ /* Sanity check: ensure that our length is at least 22 bytes, that
|
||||
+ * IPv4MaskLen is <= 32, 6rdPrefixLen <= 128 and that the sum of
|
||||
+ * (32 - IPv4MaskLen) + 6rdPrefixLen is less than or equal to 128.
|
||||
+ * If any of these requirements is not fulfilled, return with empty
|
||||
+ * value.
|
||||
+ */
|
||||
+ if ((len >= 22) && (*option <= 32) && (*(option+1) <= 128) &&
|
||||
+ (((32 - *option) + *(option+1)) <= 128))
|
||||
+ {
|
||||
+ /* IPv4MaskLen */
|
||||
+ dest += sprintf(dest, "%u ", *option++);
|
||||
+ len--;
|
||||
+
|
||||
+ /* 6rdPrefixLen */
|
||||
+ dest += sprintf(dest, "%u ", *option++);
|
||||
+ len--;
|
||||
+
|
||||
+ /* 6rdPrefix */
|
||||
+ dest += sprint_nip6(dest, "", option);
|
||||
+ option += 16;
|
||||
+ len -= 16;
|
||||
+
|
||||
+ /* 6rdBRIPv4Addresses */
|
||||
+ while (len >= 4)
|
||||
+ {
|
||||
+ dest += sprint_nip(dest, " ", option);
|
||||
+ option += 4;
|
||||
+ len -= 4;
|
||||
+
|
||||
+ /* the code to determine the option size fails to work with
|
||||
+ * lengths that are not a multiple of the minimum length,
|
||||
+ * adding all advertised 6rdBRIPv4Addresses here would
|
||||
+ * overflow the destination buffer, therefore skip the rest
|
||||
+ * for now
|
||||
+ */
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
#if ENABLE_FEATURE_UDHCP_RFC3397
|
||||
case OPTION_DNS_STRING:
|
||||
34
package/utils/busybox/patches/250-ash_export-n.patch
Normal file
34
package/utils/busybox/patches/250-ash_export-n.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
--- a/shell/ash.c
|
||||
+++ b/shell/ash.c
|
||||
@@ -12611,8 +12611,17 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
const char *p;
|
||||
char **aptr;
|
||||
int flag = argv[0][0] == 'r' ? VREADONLY : VEXPORT;
|
||||
+ int mask = ~0;
|
||||
+ int nopt;
|
||||
+ while ((nopt = nextopt("np"))) {
|
||||
+ if (nopt == 'n') {
|
||||
+ mask = ~flag;
|
||||
+ } else { /* p */
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- if (nextopt("p") != 'p') {
|
||||
+ if (nopt != 'p') {
|
||||
aptr = argptr;
|
||||
name = *aptr;
|
||||
if (name) {
|
||||
@@ -12624,10 +12633,12 @@ exportcmd(int argc UNUSED_PARAM, char **
|
||||
vp = *findvar(hashvar(name), name);
|
||||
if (vp) {
|
||||
vp->flags |= flag;
|
||||
+ vp->flags &= mask;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
setvar(name, p, flag);
|
||||
+ setvar(name, p, flag & mask);
|
||||
} while ((name = *++aptr) != NULL);
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
--- a/shell/ash.c
|
||||
+++ b/shell/ash.c
|
||||
@@ -6846,8 +6846,7 @@ evalvar(char *p, int flags, struct strli
|
||||
patloc = expdest - (char *)stackblock();
|
||||
if (NULL == subevalvar(p, /* varname: */ NULL, patloc, subtype,
|
||||
startloc, varflags,
|
||||
-//TODO: | EXP_REDIR too? All other such places do it too
|
||||
- /* quotes: */ flags & (EXP_FULL | EXP_CASE),
|
||||
+ /* quotes: */ flags & (EXP_FULL | EXP_CASE | EXP_REDIR),
|
||||
var_str_list)
|
||||
) {
|
||||
int amount = expdest - (
|
||||
22
package/utils/busybox/patches/260-vconfig_proc.patch
Normal file
22
package/utils/busybox/patches/260-vconfig_proc.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- a/networking/vconfig.c
|
||||
+++ b/networking/vconfig.c
|
||||
@@ -116,8 +116,6 @@ static const char name_types[] ALIGN1 =
|
||||
'_', 'N', 'O', '_', 'P', 'A', 'D', 0,
|
||||
};
|
||||
|
||||
-static const char conf_file_name[] ALIGN1 = "/proc/net/vlan/config";
|
||||
-
|
||||
int vconfig_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int vconfig_main(int argc, char **argv)
|
||||
{
|
||||
@@ -129,10 +127,6 @@ int vconfig_main(int argc, char **argv)
|
||||
bb_show_usage();
|
||||
}
|
||||
|
||||
- /* Don't bother closing the filedes. It will be closed on cleanup. */
|
||||
- /* Will die if 802.1q is not present */
|
||||
- xopen(conf_file_name, O_RDONLY);
|
||||
-
|
||||
memset(&ifr, 0, sizeof(ifr));
|
||||
|
||||
++argv;
|
||||
103
package/utils/busybox/patches/300-netmsg.patch
Normal file
103
package/utils/busybox/patches/300-netmsg.patch
Normal file
@@ -0,0 +1,103 @@
|
||||
--- a/include/applets.src.h
|
||||
+++ b/include/applets.src.h
|
||||
@@ -266,6 +266,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO
|
||||
IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP))
|
||||
IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP))
|
||||
IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP))
|
||||
+IF_NETMSG(APPLET(netmsg, BB_DIR_BIN, BB_SUID_REQUIRE))
|
||||
IF_NETSTAT(APPLET(netstat, BB_DIR_BIN, BB_SUID_DROP))
|
||||
IF_NICE(APPLET(nice, BB_DIR_BIN, BB_SUID_DROP))
|
||||
IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
|
||||
--- a/networking/Config.src
|
||||
+++ b/networking/Config.src
|
||||
@@ -612,6 +612,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
|
||||
help
|
||||
Support long options for the ipcalc applet.
|
||||
|
||||
+config NETMSG
|
||||
+ bool "netmsg"
|
||||
+ default n
|
||||
+ help
|
||||
+ simple program for sending udp broadcast messages
|
||||
+
|
||||
config NETSTAT
|
||||
bool "netstat"
|
||||
default y
|
||||
--- a/networking/Kbuild.src
|
||||
+++ b/networking/Kbuild.src
|
||||
@@ -27,6 +27,7 @@ lib-$(CONFIG_IP) += ip.o
|
||||
lib-$(CONFIG_IPCALC) += ipcalc.o
|
||||
lib-$(CONFIG_NAMEIF) += nameif.o
|
||||
lib-$(CONFIG_NC) += nc.o
|
||||
+lib-$(CONFIG_NETMSG) += netmsg.o
|
||||
lib-$(CONFIG_NETSTAT) += netstat.o
|
||||
lib-$(CONFIG_NSLOOKUP) += nslookup.o
|
||||
lib-$(CONFIG_NTPD) += ntpd.o
|
||||
--- /dev/null
|
||||
+++ b/networking/netmsg.c
|
||||
@@ -0,0 +1,65 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
|
||||
+ *
|
||||
+ * This is free software, licensed under the GNU General Public License v2.
|
||||
+ */
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/socket.h>
|
||||
+#include <netinet/in.h>
|
||||
+#include <netdb.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#include "busybox.h"
|
||||
+
|
||||
+//usage:#define netmsg_trivial_usage NOUSAGE_STR
|
||||
+//usage:#define netmsg_full_usage ""
|
||||
+
|
||||
+#ifndef CONFIG_NETMSG
|
||||
+int main(int argc, char **argv)
|
||||
+#else
|
||||
+int netmsg_main(int argc, char **argv)
|
||||
+#endif
|
||||
+{
|
||||
+ int s;
|
||||
+ struct sockaddr_in addr;
|
||||
+ int optval = 1;
|
||||
+ unsigned char buf[1001];
|
||||
+
|
||||
+ if (argc != 3) {
|
||||
+ fprintf(stderr, "usage: %s <ip> \"<message>\"\n", argv[0]);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
|
||||
+ perror("Opening socket");
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ memset(&addr, 0, sizeof(addr));
|
||||
+ addr.sin_family = AF_INET;
|
||||
+ addr.sin_addr.s_addr = inet_addr(argv[1]);
|
||||
+ addr.sin_port = htons(0x1337);
|
||||
+
|
||||
+ memset(buf, 0, 1001);
|
||||
+ buf[0] = 0xde;
|
||||
+ buf[1] = 0xad;
|
||||
+
|
||||
+ strncpy(buf + 2, argv[2], 998);
|
||||
+
|
||||
+ if (setsockopt (s, SOL_SOCKET, SO_BROADCAST, (caddr_t) &optval, sizeof (optval)) < 0) {
|
||||
+ perror("setsockopt()");
|
||||
+ goto fail;
|
||||
+ }
|
||||
+
|
||||
+ if (sendto(s, buf, 1001, 0, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
|
||||
+ perror("sendto()");
|
||||
+ goto fail;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+fail:
|
||||
+ close(s);
|
||||
+ exit(1);
|
||||
+}
|
||||
41
package/utils/busybox/patches/310-passwd_access.patch
Normal file
41
package/utils/busybox/patches/310-passwd_access.patch
Normal file
@@ -0,0 +1,41 @@
|
||||
|
||||
Copyright (C) 2006 OpenWrt.org
|
||||
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1700,21 +1700,32 @@ static int check_user_passwd(const char
|
||||
|
||||
if (ENABLE_FEATURE_HTTPD_AUTH_MD5) {
|
||||
char *md5_passwd;
|
||||
+ int user_len_p1;
|
||||
|
||||
md5_passwd = strchr(cur->after_colon, ':');
|
||||
- if (md5_passwd && md5_passwd[1] == '$' && md5_passwd[2] == '1'
|
||||
+ user_len_p1 = md5_passwd + 1 - cur->after_colon;
|
||||
+ if (md5_passwd && !strncmp(md5_passwd + 1, "$p$", 3)) {
|
||||
+ struct passwd *pwd = NULL;
|
||||
+
|
||||
+ pwd = getpwnam(&md5_passwd[4]);
|
||||
+ if(!pwd->pw_passwd || !pwd->pw_passwd[0] || pwd->pw_passwd[0] == '!')
|
||||
+ return 1;
|
||||
+
|
||||
+ md5_passwd = pwd->pw_passwd;
|
||||
+ goto check_md5_pw;
|
||||
+ } else if (md5_passwd && md5_passwd[1] == '$' && md5_passwd[2] == '1'
|
||||
&& md5_passwd[3] == '$' && md5_passwd[4]
|
||||
) {
|
||||
char *encrypted;
|
||||
- int r, user_len_p1;
|
||||
+ int r;
|
||||
|
||||
md5_passwd++;
|
||||
- user_len_p1 = md5_passwd - cur->after_colon;
|
||||
/* comparing "user:" */
|
||||
if (strncmp(cur->after_colon, user_and_passwd, user_len_p1) != 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
+check_md5_pw:
|
||||
encrypted = pw_encrypt(
|
||||
user_and_passwd + user_len_p1 /* cleartext pwd from user */,
|
||||
md5_passwd /*salt */, 1 /* cleanup */);
|
||||
172
package/utils/busybox/patches/340-lock_util.patch
Normal file
172
package/utils/busybox/patches/340-lock_util.patch
Normal file
@@ -0,0 +1,172 @@
|
||||
--- a/include/applets.src.h
|
||||
+++ b/include/applets.src.h
|
||||
@@ -218,6 +218,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,
|
||||
IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP))
|
||||
IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP))
|
||||
IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP))
|
||||
+IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP))
|
||||
IF_LOGGER(APPLET(logger, BB_DIR_USR_BIN, BB_SUID_DROP))
|
||||
/* Needs to be run by root or be suid root - needs to change uid and gid: */
|
||||
IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE))
|
||||
--- a/miscutils/Config.src
|
||||
+++ b/miscutils/Config.src
|
||||
@@ -419,6 +419,11 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||
help
|
||||
Enables the 'hdparm -d' option to get/set using_dma flag.
|
||||
|
||||
+config LOCK
|
||||
+ bool "lock"
|
||||
+ help
|
||||
+ Small utility for using locks in scripts
|
||||
+
|
||||
config MAKEDEVS
|
||||
bool "makedevs"
|
||||
default y
|
||||
--- a/miscutils/Kbuild.src
|
||||
+++ b/miscutils/Kbuild.src
|
||||
@@ -29,6 +29,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o
|
||||
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o
|
||||
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
|
||||
lib-$(CONFIG_LESS) += less.o
|
||||
+lib-$(CONFIG_LOCK) += lock.o
|
||||
lib-$(CONFIG_MAKEDEVS) += makedevs.o
|
||||
lib-$(CONFIG_MAN) += man.o
|
||||
lib-$(CONFIG_MICROCOM) += microcom.o
|
||||
--- /dev/null
|
||||
+++ b/miscutils/lock.c
|
||||
@@ -0,0 +1,135 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
|
||||
+ *
|
||||
+ * This is free software, licensed under the GNU General Public License v2.
|
||||
+ */
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/file.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <signal.h>
|
||||
+#include <fcntl.h>
|
||||
+#include <unistd.h>
|
||||
+#include <stdio.h>
|
||||
+#include "busybox.h"
|
||||
+
|
||||
+//usage:#define lock_trivial_usage NOUSAGE_STR
|
||||
+//usage:#define lock_full_usage ""
|
||||
+
|
||||
+static int unlock = 0;
|
||||
+static int shared = 0;
|
||||
+static int waitonly = 0;
|
||||
+static int fd;
|
||||
+static char *file;
|
||||
+
|
||||
+static void usage(char *name)
|
||||
+{
|
||||
+ fprintf(stderr, "Usage: %s [-suw] <filename>\n"
|
||||
+ " -s Use shared locking\n"
|
||||
+ " -u Unlock\n"
|
||||
+ " -w Wait for the lock to become free, don't acquire lock\n"
|
||||
+ "\n", name);
|
||||
+ exit(1);
|
||||
+}
|
||||
+
|
||||
+static void exit_unlock(int sig)
|
||||
+{
|
||||
+ flock(fd, LOCK_UN);
|
||||
+ exit(0);
|
||||
+}
|
||||
+
|
||||
+static int do_unlock(void)
|
||||
+{
|
||||
+ FILE *f;
|
||||
+ int i;
|
||||
+
|
||||
+ if ((f = fopen(file, "r")) == NULL)
|
||||
+ return 0;
|
||||
+
|
||||
+ fscanf(f, "%d", &i);
|
||||
+ if (i > 0)
|
||||
+ kill(i, SIGTERM);
|
||||
+
|
||||
+ fclose(f);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int do_lock(void)
|
||||
+{
|
||||
+ int pid;
|
||||
+ char pidstr[8];
|
||||
+
|
||||
+ if ((fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0700)) < 0) {
|
||||
+ if ((fd = open(file, O_RDWR)) < 0) {
|
||||
+ fprintf(stderr, "Can't open %s\n", file);
|
||||
+ return 1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (flock(fd, (shared ? LOCK_SH : LOCK_EX)) < 0) {
|
||||
+ fprintf(stderr, "Can't lock %s\n", file);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ pid = fork();
|
||||
+
|
||||
+ if (pid < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ if (pid == 0) {
|
||||
+ signal(SIGKILL, exit_unlock);
|
||||
+ signal(SIGTERM, exit_unlock);
|
||||
+ signal(SIGINT, exit_unlock);
|
||||
+ if (waitonly)
|
||||
+ exit_unlock(0);
|
||||
+ else
|
||||
+ while (1)
|
||||
+ sleep(1);
|
||||
+ } else {
|
||||
+ if (!waitonly) {
|
||||
+ lseek(fd, 0, SEEK_SET);
|
||||
+ ftruncate(fd, 0);
|
||||
+ sprintf(pidstr, "%d\n", pid);
|
||||
+ write(fd, pidstr, strlen(pidstr));
|
||||
+ close(fd);
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int lock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
+int lock_main(int argc, char **argv)
|
||||
+{
|
||||
+ char **args = &argv[1];
|
||||
+ int c = argc - 1;
|
||||
+
|
||||
+ while ((*args != NULL) && (*args)[0] == '-') {
|
||||
+ char *ch = *args;
|
||||
+ while (*(++ch) > 0) {
|
||||
+ switch(*ch) {
|
||||
+ case 'w':
|
||||
+ waitonly = 1;
|
||||
+ break;
|
||||
+ case 's':
|
||||
+ shared = 1;
|
||||
+ break;
|
||||
+ case 'u':
|
||||
+ unlock = 1;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ c--;
|
||||
+ args++;
|
||||
+ }
|
||||
+
|
||||
+ if (c != 1)
|
||||
+ usage(argv[0]);
|
||||
+
|
||||
+ file = *args;
|
||||
+ if (unlock)
|
||||
+ return do_unlock();
|
||||
+ else
|
||||
+ return do_lock();
|
||||
+}
|
||||
90
package/utils/busybox/patches/350-httpd_redir.patch
Normal file
90
package/utils/busybox/patches/350-httpd_redir.patch
Normal file
@@ -0,0 +1,90 @@
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -105,6 +105,7 @@
|
||||
//usage: IF_FEATURE_HTTPD_BASIC_AUTH(" [-r REALM]")
|
||||
//usage: " [-h HOME]\n"
|
||||
//usage: "or httpd -d/-e" IF_FEATURE_HTTPD_AUTH_MD5("/-m") " STRING"
|
||||
+//usage: " [-R <path> [-H <host>]]"
|
||||
//usage:#define httpd_full_usage "\n\n"
|
||||
//usage: "Listen for incoming HTTP requests\n"
|
||||
//usage: "\n -i Inetd mode"
|
||||
@@ -121,6 +122,8 @@
|
||||
//usage: "\n -m STRING MD5 crypt STRING")
|
||||
//usage: "\n -e STRING HTML encode STRING"
|
||||
//usage: "\n -d STRING URL decode STRING"
|
||||
+//usage: "\n -R PATH Redirect target path"
|
||||
+//usage: "\n -H HOST Redirect target host"
|
||||
|
||||
#include "libbb.h"
|
||||
#if ENABLE_FEATURE_HTTPD_USE_SENDFILE
|
||||
@@ -272,6 +275,8 @@ struct globals {
|
||||
|
||||
const char *found_mime_type;
|
||||
const char *found_moved_temporarily;
|
||||
+ const char *redirect_path;
|
||||
+ const char *redirect_host;
|
||||
Htaccess_IP *ip_a_d; /* config allow/deny lines */
|
||||
|
||||
IF_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
|
||||
@@ -322,6 +327,8 @@ struct globals {
|
||||
#define index_page (G.index_page )
|
||||
#define found_mime_type (G.found_mime_type )
|
||||
#define found_moved_temporarily (G.found_moved_temporarily)
|
||||
+#define redirect_path (G.redirect_path )
|
||||
+#define redirect_host (G.redirect_host )
|
||||
#define last_mod (G.last_mod )
|
||||
#define ip_a_d (G.ip_a_d )
|
||||
#define g_realm (G.g_realm )
|
||||
@@ -956,8 +963,11 @@ static void send_headers(int responseNum
|
||||
}
|
||||
#endif
|
||||
if (responseNum == HTTP_MOVED_TEMPORARILY) {
|
||||
- len += sprintf(iobuf + len, "Location: %s/%s%s\r\n",
|
||||
+ len += sprintf(iobuf + len, "Location: %s%s%s%s%s%s\r\n",
|
||||
+ (redirect_host ? "http://" : ""),
|
||||
+ (redirect_host ? redirect_host : ""),
|
||||
found_moved_temporarily,
|
||||
+ (redirect_host ? "" : "/"),
|
||||
(g_query ? "?" : ""),
|
||||
(g_query ? g_query : ""));
|
||||
}
|
||||
@@ -1925,8 +1935,12 @@ static void handle_incoming_and_exit(con
|
||||
} while (*++tptr);
|
||||
*++urlp = '\0'; /* terminate after last character */
|
||||
|
||||
+ /* redirect active */
|
||||
+ if (redirect_path && (strncmp(urlcopy, redirect_path, strlen(redirect_path)) != 0))
|
||||
+ found_moved_temporarily = redirect_path;
|
||||
+
|
||||
/* If URL is a directory, add '/' */
|
||||
- if (urlp[-1] != '/') {
|
||||
+ if (!redirect_path && (urlp[-1] != '/')) {
|
||||
if (is_directory(urlcopy + 1, 1, NULL)) {
|
||||
found_moved_temporarily = urlcopy;
|
||||
}
|
||||
@@ -2283,7 +2297,9 @@ static void sighup_handler(int sig UNUSE
|
||||
}
|
||||
|
||||
enum {
|
||||
- c_opt_config_file = 0,
|
||||
+ R_opt_redirect_path = 0,
|
||||
+ H_opt_redirect_host,
|
||||
+ c_opt_config_file,
|
||||
d_opt_decode_url,
|
||||
h_opt_home_httpd,
|
||||
IF_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
|
||||
@@ -2332,12 +2348,13 @@ int httpd_main(int argc UNUSED_PARAM, ch
|
||||
/* We do not "absolutize" path given by -h (home) opt.
|
||||
* If user gives relative path in -h,
|
||||
* $SCRIPT_FILENAME will not be set. */
|
||||
- opt = getopt32(argv, "c:d:h:"
|
||||
+ opt = getopt32(argv, "R:H:c:d:h:"
|
||||
IF_FEATURE_HTTPD_ENCODE_URL_STR("e:")
|
||||
IF_FEATURE_HTTPD_BASIC_AUTH("r:")
|
||||
IF_FEATURE_HTTPD_AUTH_MD5("m:")
|
||||
IF_FEATURE_HTTPD_SETUID("u:")
|
||||
"p:ifv",
|
||||
+ &redirect_path, &redirect_host,
|
||||
&opt_c_configFile, &url_for_decode, &home_httpd
|
||||
IF_FEATURE_HTTPD_ENCODE_URL_STR(, &url_for_encode)
|
||||
IF_FEATURE_HTTPD_BASIC_AUTH(, &g_realm)
|
||||
16
package/utils/busybox/patches/410-httpd_cgi_headers.patch
Normal file
16
package/utils/busybox/patches/410-httpd_cgi_headers.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1222,10 +1222,10 @@ static NOINLINE void cgi_io_loop_and_exi
|
||||
if (full_write(STDOUT_FILENO, HTTP_200, sizeof(HTTP_200)-1) != sizeof(HTTP_200)-1)
|
||||
break;
|
||||
}
|
||||
- /* Commented out:
|
||||
- if (!strstr(rbuf, "ontent-")) {
|
||||
- full_write(s, "Content-type: text/plain\r\n\r\n", 28);
|
||||
+ if (!strstr(rbuf, "ontent-") && !strstr(rbuf, "ocation:")) {
|
||||
+ full_write(1, "Content-type: text/plain\r\n\r\n", 28);
|
||||
}
|
||||
+ /* Previously commented out:
|
||||
* Counter-example of valid CGI without Content-type:
|
||||
* echo -en "HTTP/1.0 302 Found\r\n"
|
||||
* echo -en "Location: http://www.busybox.net\r\n"
|
||||
10
package/utils/busybox/patches/440-httpd_chdir.patch
Normal file
10
package/utils/busybox/patches/440-httpd_chdir.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/networking/httpd.c
|
||||
+++ b/networking/httpd.c
|
||||
@@ -1814,6 +1814,7 @@ static void handle_incoming_and_exit(con
|
||||
char *header_ptr = header_ptr;
|
||||
Htaccess_Proxy *proxy_entry;
|
||||
#endif
|
||||
+ xchdir(home_httpd);
|
||||
|
||||
/* Allocation of iobuf is postponed until now
|
||||
* (IOW, server process doesn't need to waste 8k) */
|
||||
137
package/utils/busybox/patches/470-insmod_search.patch
Normal file
137
package/utils/busybox/patches/470-insmod_search.patch
Normal file
@@ -0,0 +1,137 @@
|
||||
--- a/modutils/Config.src
|
||||
+++ b/modutils/Config.src
|
||||
@@ -247,7 +247,7 @@ config FEATURE_MODUTILS_SYMBOLS
|
||||
config DEFAULT_MODULES_DIR
|
||||
string "Default directory containing modules"
|
||||
default "/lib/modules"
|
||||
- depends on DEPMOD || MODPROBE || MODPROBE_SMALL || MODINFO
|
||||
+ depends on DEPMOD || INSMOD || MODPROBE || MODPROBE_SMALL || MODINFO
|
||||
help
|
||||
Directory that contains kernel modules.
|
||||
Defaults to "/lib/modules"
|
||||
--- a/modutils/insmod.c
|
||||
+++ b/modutils/insmod.c
|
||||
@@ -11,6 +11,106 @@
|
||||
|
||||
#include "libbb.h"
|
||||
#include "modutils.h"
|
||||
+#include <sys/utsname.h>
|
||||
+#ifndef CONFIG_FEATURE_2_4_MODULES
|
||||
+#include <sys/mman.h>
|
||||
+#include <asm/unistd.h>
|
||||
+#include <sys/syscall.h>
|
||||
+#endif
|
||||
+
|
||||
+static char *g_filename = NULL;
|
||||
+
|
||||
+static int FAST_FUNC check_module_name_match(const char *filename, struct stat *statbuf,
|
||||
+ void *userdata, int depth)
|
||||
+{
|
||||
+ char *fullname = (char *) userdata;
|
||||
+ char *tmp;
|
||||
+
|
||||
+ if (fullname[0] == '\0')
|
||||
+ return FALSE;
|
||||
+
|
||||
+ tmp = bb_get_last_path_component_nostrip(filename);
|
||||
+ if (strcmp(tmp, fullname) == 0) {
|
||||
+ /* Stop searching if we find a match */
|
||||
+ g_filename = xstrdup(filename);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static int find_module(char *filename)
|
||||
+{
|
||||
+ char *module_dir, real_module_dir[FILENAME_MAX];
|
||||
+ int len, slen, ret = ENOENT, k_version;
|
||||
+ struct utsname myuname;
|
||||
+ const char *suffix = ".ko";
|
||||
+ struct stat st;
|
||||
+
|
||||
+ /* check the kernel version */
|
||||
+ if (uname(&myuname) != 0)
|
||||
+ return EINVAL;
|
||||
+
|
||||
+ k_version = myuname.release[0] - '0';
|
||||
+
|
||||
+ if (k_version < 2 || k_version > 9)
|
||||
+ return EINVAL;
|
||||
+
|
||||
+ if (k_version == 2) {
|
||||
+ int k_patchlevel = myuname.release[2] - '0';
|
||||
+ if (k_patchlevel <= 4)
|
||||
+#if ENABLE_FEATURE_2_4_MODULES
|
||||
+ suffix = ".o";
|
||||
+#else
|
||||
+ return EINVAL;
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ len = strlen(filename);
|
||||
+ slen = strlen(suffix);
|
||||
+
|
||||
+ /* check for suffix and absolute path first */
|
||||
+ if ((len < slen + 2) || (strcmp(filename + len - slen, suffix) != 0)) {
|
||||
+ filename = xasprintf("%s%s", filename, suffix);
|
||||
+ } else {
|
||||
+ filename = strdup(filename);
|
||||
+ if ((stat(filename, &st) == 0) && S_ISREG(st.st_mode)) {
|
||||
+ g_filename = filename;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ free(filename);
|
||||
+ return ENOENT;
|
||||
+ }
|
||||
+
|
||||
+ /* next: scan /lib/modules/<release> */
|
||||
+ /* Jump through hoops in case /lib/modules/`uname -r`
|
||||
+ * is a symlink. We do not want recursive_action to
|
||||
+ * follow symlinks, but we do want to follow the
|
||||
+ * /lib/modules/`uname -r` dir, So resolve it ourselves
|
||||
+ * if it is a link... */
|
||||
+ module_dir = concat_path_file(CONFIG_DEFAULT_MODULES_DIR, myuname.release);
|
||||
+ if (realpath(module_dir, real_module_dir) != NULL) {
|
||||
+ free(module_dir);
|
||||
+ module_dir = real_module_dir;
|
||||
+ }
|
||||
+
|
||||
+ recursive_action(module_dir, ACTION_RECURSE,
|
||||
+ check_module_name_match, 0, filename, 0);
|
||||
+
|
||||
+ /* Check if we have a complete path */
|
||||
+ if (g_filename == NULL)
|
||||
+ goto done;
|
||||
+
|
||||
+ if ((stat(g_filename, &st) == 0) && S_ISREG(st.st_mode))
|
||||
+ ret = 0;
|
||||
+ else
|
||||
+ free(g_filename);
|
||||
+
|
||||
+done:
|
||||
+ free(filename);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
|
||||
/* 2.6 style insmod has no options and required filename
|
||||
* (not module name - .ko can't be omitted) */
|
||||
@@ -58,9 +158,15 @@ int insmod_main(int argc UNUSED_PARAM, c
|
||||
if (!filename)
|
||||
bb_show_usage();
|
||||
|
||||
- rc = bb_init_module(filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
|
||||
+ rc = find_module(filename);
|
||||
+ if (rc || (g_filename == NULL))
|
||||
+ goto done;
|
||||
+
|
||||
+ rc = bb_init_module(g_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
|
||||
if (rc)
|
||||
bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
|
||||
+ free (g_filename);
|
||||
|
||||
+done:
|
||||
return rc;
|
||||
}
|
||||
12
package/utils/busybox/patches/490-mount_disable_check.patch
Normal file
12
package/utils/busybox/patches/490-mount_disable_check.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- a/util-linux/mount.c
|
||||
+++ b/util-linux/mount.c
|
||||
@@ -128,9 +128,6 @@
|
||||
#if ENABLE_FEATURE_MOUNT_NFS
|
||||
/* This is just a warning of a common mistake. Possibly this should be a
|
||||
* uclibc faq entry rather than in busybox... */
|
||||
-# if defined(__UCLIBC__) && ! defined(__UCLIBC_HAS_RPC__)
|
||||
-# error "You need to build uClibc with UCLIBC_HAS_RPC for NFS support"
|
||||
-# endif
|
||||
# include <rpc/rpc.h>
|
||||
# include <rpc/pmap_prot.h>
|
||||
# include <rpc/pmap_clnt.h>
|
||||
217
package/utils/busybox/patches/510-awk_include.patch
Normal file
217
package/utils/busybox/patches/510-awk_include.patch
Normal file
@@ -0,0 +1,217 @@
|
||||
--- a/editors/awk.c
|
||||
+++ b/editors/awk.c
|
||||
@@ -1,3 +1,4 @@
|
||||
+
|
||||
/* vi: set sw=4 ts=4: */
|
||||
/*
|
||||
* awk implementation for busybox
|
||||
@@ -81,9 +82,14 @@ typedef struct chain_s {
|
||||
} chain;
|
||||
|
||||
/* Function */
|
||||
+typedef var *(*awk_cfunc)(var *res, var *args, int nargs);
|
||||
typedef struct func_s {
|
||||
unsigned nargs;
|
||||
+ enum { AWKFUNC, CFUNC } type;
|
||||
+ union {
|
||||
+ awk_cfunc cfunc;
|
||||
struct chain_s body;
|
||||
+ } x;
|
||||
} func;
|
||||
|
||||
/* I/O stream */
|
||||
@@ -1473,7 +1479,8 @@ static void parse_program(char *p)
|
||||
next_token(TC_FUNCTION);
|
||||
g_pos++;
|
||||
f = newfunc(t_string);
|
||||
- f->body.first = NULL;
|
||||
+ f->type = AWKFUNC;
|
||||
+ f->x.body.first = NULL;
|
||||
f->nargs = 0;
|
||||
while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
|
||||
v = findvar(ahash, t_string);
|
||||
@@ -1482,7 +1489,7 @@ static void parse_program(char *p)
|
||||
if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
|
||||
break;
|
||||
}
|
||||
- seq = &f->body;
|
||||
+ seq = &f->x.body;
|
||||
chain_group();
|
||||
clear_array(ahash);
|
||||
|
||||
@@ -2580,7 +2587,8 @@ static var *evaluate(node *op, var *res)
|
||||
var *vbeg, *v;
|
||||
const char *sv_progname;
|
||||
|
||||
- if (!op->r.f->body.first)
|
||||
+ if ((op->r.f->type == AWKFUNC) &&
|
||||
+ !op->r.f->x.body.first)
|
||||
syntax_error(EMSG_UNDEF_FUNC);
|
||||
|
||||
vbeg = v = nvalloc(op->r.f->nargs + 1);
|
||||
@@ -2597,7 +2605,10 @@ static var *evaluate(node *op, var *res)
|
||||
fnargs = vbeg;
|
||||
sv_progname = g_progname;
|
||||
|
||||
- res = evaluate(op->r.f->body.first, res);
|
||||
+ if (op->r.f->type == AWKFUNC)
|
||||
+ res = evaluate(op->r.f->x.body.first, res);
|
||||
+ else if (op->r.f->type == CFUNC)
|
||||
+ res = op->r.f->x.cfunc(res, fnargs, op->r.f->nargs);
|
||||
|
||||
g_progname = sv_progname;
|
||||
nvfree(fnargs);
|
||||
@@ -2991,6 +3002,143 @@ static rstream *next_input_file(void)
|
||||
#undef files_happen
|
||||
}
|
||||
|
||||
+/* read the contents of an entire file */
|
||||
+static char *get_file(const char *fname)
|
||||
+{
|
||||
+ FILE *F;
|
||||
+ char *s = NULL;
|
||||
+ int i, j, flen;
|
||||
+
|
||||
+ F = fopen(fname, "r");
|
||||
+ if (!F) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (fseek(F, 0, SEEK_END) == 0) {
|
||||
+ flen = ftell(F);
|
||||
+ s = (char *)xmalloc(flen+4);
|
||||
+ fseek(F, 0, SEEK_SET);
|
||||
+ i = 1 + fread(s+1, 1, flen, F);
|
||||
+ } else {
|
||||
+ for (i=j=1; j>0; i+=j) {
|
||||
+ s = (char *)xrealloc(s, i+4096);
|
||||
+ j = fread(s+i, 1, 4094, F);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ s[i] = '\0';
|
||||
+ fclose(F);
|
||||
+ return s;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* parse_include():
|
||||
+ *
|
||||
+ * taken from parse_program from awk.c
|
||||
+ * END{} is not parsed here, and BEGIN{} is executed immediately
|
||||
+ */
|
||||
+static void parse_include(char *p)
|
||||
+{
|
||||
+ uint32_t tclass;
|
||||
+ chain *initseq = NULL;
|
||||
+ chain tmp;
|
||||
+ func *f;
|
||||
+ var *v, *tv;
|
||||
+
|
||||
+ tv = nvalloc(1);
|
||||
+ memset(&tmp, 0, sizeof(tmp));
|
||||
+ g_pos = p;
|
||||
+ t_lineno = 1;
|
||||
+ while ((tclass = next_token(TC_EOF | TC_OPSEQ |
|
||||
+ TC_OPTERM | TC_BEGIN | TC_FUNCDECL)) != TC_EOF) {
|
||||
+ if (tclass & TC_OPTERM)
|
||||
+ continue;
|
||||
+
|
||||
+ seq = &tmp;
|
||||
+ if (tclass & TC_BEGIN) {
|
||||
+ initseq = xzalloc(sizeof(chain));
|
||||
+ seq = initseq;
|
||||
+ chain_group();
|
||||
+ } else if (tclass & TC_FUNCDECL) {
|
||||
+ next_token(TC_FUNCTION);
|
||||
+ g_pos++;
|
||||
+ f = newfunc(t_string);
|
||||
+ f->type = AWKFUNC;
|
||||
+ f->x.body.first = NULL;
|
||||
+ f->nargs = 0;
|
||||
+ while (next_token(TC_VARIABLE | TC_SEQTERM) & TC_VARIABLE) {
|
||||
+ v = findvar(ahash, t_string);
|
||||
+ v->x.aidx = (f->nargs)++;
|
||||
+
|
||||
+ if (next_token(TC_COMMA | TC_SEQTERM) & TC_SEQTERM)
|
||||
+ break;
|
||||
+ }
|
||||
+ seq = &(f->x.body);
|
||||
+ chain_group();
|
||||
+ clear_array(ahash);
|
||||
+ }
|
||||
+ }
|
||||
+ if (initseq && initseq->first)
|
||||
+ tv = evaluate(initseq->first, tv);
|
||||
+ nvfree(tv);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* include an awk file and run its BEGIN{} section */
|
||||
+static xhash *includes = NULL;
|
||||
+static void include_file(const char *filename)
|
||||
+{
|
||||
+ char *s;
|
||||
+ var *v;
|
||||
+ int oldlnr = g_lineno;
|
||||
+ const char *oldprg = g_progname;
|
||||
+
|
||||
+ if (!includes)
|
||||
+ includes = hash_init();
|
||||
+
|
||||
+ /* find out if the file has been included already */
|
||||
+ v = findvar(includes, filename);
|
||||
+ if (istrue(v))
|
||||
+ return;
|
||||
+ setvar_s(v, "1");
|
||||
+
|
||||
+ /* read include file */
|
||||
+ s = get_file(filename);
|
||||
+ if (!s) {
|
||||
+ fprintf(stderr, "Could not open file.\n");
|
||||
+ return;
|
||||
+ }
|
||||
+ g_lineno = 1;
|
||||
+ g_progname = xstrdup(filename);
|
||||
+ parse_include(s+1);
|
||||
+ free(s);
|
||||
+ g_lineno = oldlnr;
|
||||
+ g_progname = oldprg;
|
||||
+}
|
||||
+
|
||||
+static var *include(var *res, var *args, int nargs)
|
||||
+{
|
||||
+ const char *s;
|
||||
+
|
||||
+ nargs = nargs; /* shut up, gcc */
|
||||
+ s = getvar_s(args);
|
||||
+ if (s && (strlen(s) > 0))
|
||||
+ include_file(s);
|
||||
+
|
||||
+ return res;
|
||||
+}
|
||||
+
|
||||
+/* registers a global c function for the awk interpreter */
|
||||
+static void register_cfunc(const char *name, awk_cfunc cfunc, int nargs)
|
||||
+{
|
||||
+ func *f;
|
||||
+
|
||||
+ f = newfunc(name);
|
||||
+ f->type = CFUNC;
|
||||
+ f->x.cfunc = cfunc;
|
||||
+ f->nargs = nargs;
|
||||
+}
|
||||
+
|
||||
int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int awk_main(int argc, char **argv)
|
||||
{
|
||||
@@ -3056,6 +3204,9 @@ int awk_main(int argc, char **argv)
|
||||
*s1 = '=';
|
||||
}
|
||||
}
|
||||
+
|
||||
+ register_cfunc("include", include, 1);
|
||||
+
|
||||
opt_complementary = "v::f::"; /* -v and -f can occur multiple times */
|
||||
opt = getopt32(argv, "F:v:f:W:", &opt_F, &list_v, &list_f, &opt_W);
|
||||
argv += optind;
|
||||
10
package/utils/busybox/patches/524-udhcpc_renew.patch
Normal file
10
package/utils/busybox/patches/524-udhcpc_renew.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -1045,7 +1045,6 @@ static void perform_renew(void)
|
||||
state = RENEW_REQUESTED;
|
||||
break;
|
||||
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */
|
||||
- udhcp_run_script(NULL, "deconfig");
|
||||
case REQUESTING:
|
||||
case RELEASED:
|
||||
change_listen_mode(LISTEN_RAW);
|
||||
48
package/utils/busybox/patches/610-ntpd_delayed_resolve.patch
Normal file
48
package/utils/busybox/patches/610-ntpd_delayed_resolve.patch
Normal file
@@ -0,0 +1,48 @@
|
||||
--- a/networking/ntpd.c
|
||||
+++ b/networking/ntpd.c
|
||||
@@ -216,6 +216,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
len_and_sockaddr *p_lsa;
|
||||
char *p_dotted;
|
||||
+ char *p_hostname;
|
||||
/* when to send new query (if p_fd == -1)
|
||||
* or when receive times out (if p_fd >= 0): */
|
||||
int p_fd;
|
||||
@@ -646,8 +647,9 @@ add_peers(char *s)
|
||||
peer_t *p;
|
||||
|
||||
p = xzalloc(sizeof(*p));
|
||||
- p->p_lsa = xhost2sockaddr(s, 123);
|
||||
- p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
|
||||
+ p->p_hostname = s;
|
||||
+ p->p_lsa = NULL;
|
||||
+ p->p_dotted = NULL;
|
||||
p->p_fd = -1;
|
||||
p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3);
|
||||
p->next_action_time = G.cur_time; /* = set_next(p, 0); */
|
||||
@@ -696,6 +698,25 @@ send_query_to_peer(peer_t *p)
|
||||
*
|
||||
* Uncomment this and use strace to see it in action:
|
||||
*/
|
||||
+
|
||||
+ /* See if the peer hostname already resolved yet, if not, retry to resolv and return on failure */
|
||||
+ if (!p->p_lsa)
|
||||
+ {
|
||||
+ p->p_lsa = host2sockaddr(p->p_hostname, 123);
|
||||
+
|
||||
+ if (p->p_lsa)
|
||||
+ {
|
||||
+ p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
|
||||
+ VERB1 bb_error_msg("resolved peer %s to %s", p->p_hostname, p->p_dotted);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ set_next(p, RETRY_INTERVAL);
|
||||
+ VERB1 bb_error_msg("could not resolve peer %s, skipping", p->p_hostname);
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
#define PROBE_LOCAL_ADDR /* { len_and_sockaddr lsa; lsa.len = LSA_SIZEOF_SA; getsockname(p->query.fd, &lsa.u.sa, &lsa.len); } */
|
||||
|
||||
if (p->p_fd == -1) {
|
||||
@@ -0,0 +1,29 @@
|
||||
From b7841cf7b919b16d1bd4619154bf7cb4c22b4ccd Mon Sep 17 00:00:00 2001
|
||||
From: Paul Marks <paul@pmarks.net>
|
||||
Date: Mon, 14 Jan 2013 01:39:10 +0000
|
||||
Subject: ntpd: fix incorrect m_status field in outgoing packets. Closes 5120
|
||||
|
||||
When using busybox ntpd with an NTPv3 client and NTPv4 server (or vice
|
||||
versa), the version numbers can be incorrectly ORed together, yielding
|
||||
the bogus value of "NTPv7". This makes ntpd unusable with clients
|
||||
such as Chrony and Windows "Internet Time".
|
||||
|
||||
This patch avoids the version mangling, by copying only the Leap
|
||||
Indicator bits from the server's status field.
|
||||
|
||||
Signed-off-by: Paul Marks <paul@pmarks.net>
|
||||
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
||||
---
|
||||
(limited to 'networking/ntpd.c')
|
||||
|
||||
--- a/networking/ntpd.c
|
||||
+++ b/networking/ntpd.c
|
||||
@@ -1794,7 +1794,7 @@ recv_and_process_client_pkt(void /*int f
|
||||
|
||||
/* Build a reply packet */
|
||||
memset(&msg, 0, sizeof(msg));
|
||||
- msg.m_status = G.stratum < MAXSTRAT ? G.ntp_status : LI_ALARM;
|
||||
+ msg.m_status = G.stratum < MAXSTRAT ? (G.ntp_status & LI_MASK) : LI_ALARM;
|
||||
msg.m_status |= (query_status & VERSION_MASK);
|
||||
msg.m_status |= ((query_status & MODE_MASK) == MODE_CLIENT) ?
|
||||
MODE_SERVER : MODE_SYM_PAS;
|
||||
11
package/utils/busybox/patches/700-hexdump_segfault_fix.patch
Normal file
11
package/utils/busybox/patches/700-hexdump_segfault_fix.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/libbb/dump.c
|
||||
+++ b/libbb/dump.c
|
||||
@@ -301,7 +301,7 @@ static NOINLINE void rewrite(priv_dumper
|
||||
) {
|
||||
fu->reps += (dumper->blocksize - fs->bcnt) / fu->bcnt;
|
||||
}
|
||||
- if (fu->reps > 1) {
|
||||
+ if (fu->reps > 1 && fu->nextpr) {
|
||||
for (pr = fu->nextpr;; pr = pr->nextpr)
|
||||
if (!pr->nextpr)
|
||||
break;
|
||||
74
package/utils/busybox/patches/802-brctl_linux24.patch
Normal file
74
package/utils/busybox/patches/802-brctl_linux24.patch
Normal file
@@ -0,0 +1,74 @@
|
||||
--- a/networking/brctl.c
|
||||
+++ b/networking/brctl.c
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
/* Maximum number of ports supported per bridge interface. */
|
||||
#ifndef MAX_PORTS
|
||||
-# define MAX_PORTS 32
|
||||
+# define MAX_PORTS 1024
|
||||
#endif
|
||||
|
||||
/* Use internal number parsing and not the "exact" conversion. */
|
||||
@@ -193,6 +193,7 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
printf(bi.stp_enabled ? "\tyes" : "\tno");
|
||||
|
||||
/* print interface list */
|
||||
+ memset(ifidx, 0, sizeof ifidx);
|
||||
arm_ioctl(args, BRCTL_GET_PORT_LIST,
|
||||
(unsigned long) ifidx, MAX_PORTS);
|
||||
xioctl(fd, SIOCDEVPRIVATE, &ifr);
|
||||
@@ -221,9 +222,19 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
br = *argv++;
|
||||
|
||||
if (key == ARG_addbr || key == ARG_delbr) { /* addbr or delbr */
|
||||
- ioctl_or_perror_and_die(fd,
|
||||
- key == ARG_addbr ? SIOCBRADDBR : SIOCBRDELBR,
|
||||
- br, "bridge %s", br);
|
||||
+ int ret;
|
||||
+ ret = ioctl(fd,
|
||||
+ key == ARG_addbr ? SIOCBRADDBR : SIOCBRDELBR,
|
||||
+ br);
|
||||
+ if (ret < 0) {
|
||||
+ arm_ioctl(args,
|
||||
+ key == ARG_addbr ? BRCTL_ADD_BRIDGE : BRCTL_DEL_BRIDGE,
|
||||
+ (unsigned long) br, 0);
|
||||
+ ret = ioctl(fd, SIOCSIFBR, args);
|
||||
+ }
|
||||
+ if (ret < 0) {
|
||||
+ bb_perror_msg_and_die("bridge %s", br);
|
||||
+ }
|
||||
goto done;
|
||||
}
|
||||
|
||||
@@ -232,14 +243,27 @@ int brctl_main(int argc UNUSED_PARAM, ch
|
||||
|
||||
strncpy_IFNAMSIZ(ifr.ifr_name, br);
|
||||
if (key == ARG_addif || key == ARG_delif) { /* addif or delif */
|
||||
+ int ret;
|
||||
+ int if_index;
|
||||
brif = *argv;
|
||||
- ifr.ifr_ifindex = if_nametoindex(brif);
|
||||
- if (!ifr.ifr_ifindex) {
|
||||
+ if_index = if_nametoindex(brif);
|
||||
+ if (!if_index) {
|
||||
bb_perror_msg_and_die("iface %s", brif);
|
||||
}
|
||||
- ioctl_or_perror_and_die(fd,
|
||||
+ ifr.ifr_ifindex = if_index;
|
||||
+ ret = ioctl(fd,
|
||||
key == ARG_addif ? SIOCBRADDIF : SIOCBRDELIF,
|
||||
- &ifr, "bridge %s", br);
|
||||
+ &ifr);
|
||||
+ if (ret < 0) {
|
||||
+ arm_ioctl(args,
|
||||
+ key == ARG_addif ? BRCTL_ADD_IF : BRCTL_DEL_IF,
|
||||
+ if_index, 0);
|
||||
+ ifr.ifr_data = (char *) &args;
|
||||
+ ret = ioctl(fd, SIOCDEVPRIVATE, &ifr);
|
||||
+ }
|
||||
+ if (ret < 0) {
|
||||
+ bb_perror_msg_and_die("bridge %s", br);
|
||||
+ }
|
||||
goto done_next_argv;
|
||||
}
|
||||
#if ENABLE_FEATURE_BRCTL_FANCY
|
||||
10
package/utils/busybox/patches/902-telnetd_intr.patch
Normal file
10
package/utils/busybox/patches/902-telnetd_intr.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/networking/telnetd.c
|
||||
+++ b/networking/telnetd.c
|
||||
@@ -330,6 +330,7 @@ make_new_session(
|
||||
|
||||
/* Restore default signal handling ASAP */
|
||||
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);
|
||||
+ signal(SIGINT, SIG_DFL);
|
||||
|
||||
pid = getpid();
|
||||
|
||||
33
package/utils/busybox/patches/910-insmod-q-flag.patch
Normal file
33
package/utils/busybox/patches/910-insmod-q-flag.patch
Normal file
@@ -0,0 +1,33 @@
|
||||
--- a/modutils/insmod.c
|
||||
+++ b/modutils/insmod.c
|
||||
@@ -139,7 +139,7 @@ int insmod_main(int argc, char **argv) M
|
||||
int insmod_main(int argc UNUSED_PARAM, char **argv)
|
||||
{
|
||||
char *filename;
|
||||
- int rc;
|
||||
+ int rc, opt;
|
||||
|
||||
/* Compat note:
|
||||
* 2.6 style insmod has no options and required filename
|
||||
@@ -149,10 +149,8 @@ int insmod_main(int argc UNUSED_PARAM, c
|
||||
* or in $MODPATH.
|
||||
*/
|
||||
|
||||
- IF_FEATURE_2_4_MODULES(
|
||||
- getopt32(argv, INSMOD_OPTS INSMOD_ARGS);
|
||||
- argv += optind - 1;
|
||||
- );
|
||||
+ opt = getopt32(argv, INSMOD_OPTS, NULL, NULL);
|
||||
+ argv += optind - 1;
|
||||
|
||||
filename = *++argv;
|
||||
if (!filename)
|
||||
@@ -163,7 +161,7 @@ int insmod_main(int argc UNUSED_PARAM, c
|
||||
goto done;
|
||||
|
||||
rc = bb_init_module(g_filename, parse_cmdline_module_options(argv, /*quote_spaces:*/ 0));
|
||||
- if (rc)
|
||||
+ if (rc && !(opt & INSMOD_OPT_SILENT))
|
||||
bb_error_msg("can't insert '%s': %s", filename, moderror(rc));
|
||||
free (g_filename);
|
||||
|
||||
87
package/utils/busybox/patches/911-date-k-flag.patch
Normal file
87
package/utils/busybox/patches/911-date-k-flag.patch
Normal file
@@ -0,0 +1,87 @@
|
||||
--- a/coreutils/date.c
|
||||
+++ b/coreutils/date.c
|
||||
@@ -123,6 +123,7 @@
|
||||
//usage: IF_FEATURE_DATE_ISOFMT(
|
||||
//usage: "\n -D FMT Use FMT for -d TIME conversion"
|
||||
//usage: )
|
||||
+//usage: "\n -k Set Kernel timezone from localtime and exit"
|
||||
//usage: "\n"
|
||||
//usage: "\nRecognized TIME formats:"
|
||||
//usage: "\n hh:mm[:ss]"
|
||||
@@ -135,6 +136,7 @@
|
||||
//usage: "Wed Apr 12 18:52:41 MDT 2000\n"
|
||||
|
||||
#include "libbb.h"
|
||||
+#include <sys/time.h>
|
||||
#if ENABLE_FEATURE_DATE_NANO
|
||||
# include <sys/syscall.h>
|
||||
#endif
|
||||
@@ -145,8 +147,9 @@ enum {
|
||||
OPT_UTC = (1 << 2), /* u */
|
||||
OPT_DATE = (1 << 3), /* d */
|
||||
OPT_REFERENCE = (1 << 4), /* r */
|
||||
- OPT_TIMESPEC = (1 << 5) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
|
||||
- OPT_HINT = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
|
||||
+ OPT_KERNELTZ = (1 << 5), /* k */
|
||||
+ OPT_TIMESPEC = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
|
||||
+ OPT_HINT = (1 << 7) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
|
||||
};
|
||||
|
||||
static void maybe_set_utc(int opt)
|
||||
@@ -164,12 +167,15 @@ static const char date_longopts[] ALIGN1
|
||||
/* "universal\0" No_argument "u" */
|
||||
"date\0" Required_argument "d"
|
||||
"reference\0" Required_argument "r"
|
||||
+ "set-kernel-tz\0" No_argument "k"
|
||||
;
|
||||
#endif
|
||||
|
||||
int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int date_main(int argc UNUSED_PARAM, char **argv)
|
||||
{
|
||||
+ time_t tt;
|
||||
+ struct timezone tz;
|
||||
struct timespec ts;
|
||||
struct tm tm_time;
|
||||
char buf_fmt_dt2str[64];
|
||||
@@ -184,7 +190,7 @@ int date_main(int argc UNUSED_PARAM, cha
|
||||
opt_complementary = "d--s:s--d"
|
||||
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
|
||||
IF_LONG_OPTS(applet_long_options = date_longopts;)
|
||||
- opt = getopt32(argv, "Rs:ud:r:"
|
||||
+ opt = getopt32(argv, "Rs:ud:r:k"
|
||||
IF_FEATURE_DATE_ISOFMT("I::D:"),
|
||||
&date_str, &date_str, &filename
|
||||
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
|
||||
@@ -241,6 +247,31 @@ int date_main(int argc UNUSED_PARAM, cha
|
||||
if (*argv)
|
||||
bb_show_usage();
|
||||
|
||||
+ /* Setting of kernel timezone was requested */
|
||||
+ if (opt & OPT_KERNELTZ) {
|
||||
+ tt = time(NULL);
|
||||
+ localtime_r(&tt, &tm_time);
|
||||
+
|
||||
+ /* workaround warp_clock() on first invocation */
|
||||
+ memset(&tz, 0, sizeof(tz));
|
||||
+ settimeofday(NULL, &tz);
|
||||
+
|
||||
+ memset(&tz, 0, sizeof(tz));
|
||||
+#ifdef __USE_BSD
|
||||
+ tz.tz_minuteswest = -(tm_time.tm_gmtoff / 60);
|
||||
+#else
|
||||
+ tz.tz_minuteswest = -(tm_time.__tm_gmtoff / 60);
|
||||
+#endif
|
||||
+
|
||||
+ if (settimeofday(NULL, &tz))
|
||||
+ {
|
||||
+ bb_perror_msg("can't set kernel time zone");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ return EXIT_SUCCESS;
|
||||
+ }
|
||||
+
|
||||
/* Now we have parsed all the information except the date format
|
||||
* which depends on whether the clock is being set or read */
|
||||
|
||||
13
package/utils/busybox/patches/920-portability.patch
Normal file
13
package/utils/busybox/patches/920-portability.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- a/scripts/kconfig/mconf.c
|
||||
+++ b/scripts/kconfig/mconf.c
|
||||
@@ -25,6 +25,10 @@
|
||||
#include <unistd.h>
|
||||
#include <locale.h>
|
||||
|
||||
+#ifndef SIGWINCH
|
||||
+#define SIGWINCH 28
|
||||
+#endif
|
||||
+
|
||||
#define LKC_DIRECT_LINK
|
||||
#include "lkc.h"
|
||||
|
||||
86
package/utils/busybox/patches/950-partial-checksum.patch
Normal file
86
package/utils/busybox/patches/950-partial-checksum.patch
Normal file
@@ -0,0 +1,86 @@
|
||||
--- a/networking/udhcp/dhcpc.c
|
||||
+++ b/networking/udhcp/dhcpc.c
|
||||
@@ -26,8 +26,8 @@
|
||||
#include "dhcpc.h"
|
||||
|
||||
#include <netinet/if_ether.h>
|
||||
-#include <netpacket/packet.h>
|
||||
#include <linux/filter.h>
|
||||
+#include <linux/if_packet.h>
|
||||
|
||||
/* struct client_config_t client_config is in bb_common_bufsiz1 */
|
||||
|
||||
@@ -846,17 +846,41 @@ static int send_release(uint32_t server,
|
||||
static NOINLINE int udhcp_recv_raw_packet(struct dhcp_packet *dhcp_pkt, int fd)
|
||||
{
|
||||
int bytes;
|
||||
+ int nocsum = 0;
|
||||
struct ip_udp_dhcp_packet packet;
|
||||
uint16_t check;
|
||||
+ unsigned char cmsgbuf[CMSG_LEN(sizeof(struct tpacket_auxdata))];
|
||||
+ struct iovec iov = {
|
||||
+ .iov_base = &packet,
|
||||
+ .iov_len = sizeof(packet),
|
||||
+ };
|
||||
+ struct msghdr msg = {
|
||||
+ .msg_iov = &iov,
|
||||
+ .msg_iovlen = 1,
|
||||
+ .msg_control = cmsgbuf,
|
||||
+ .msg_controllen = sizeof(cmsgbuf),
|
||||
+ };
|
||||
+ struct cmsghdr *cmsg;
|
||||
|
||||
memset(&packet, 0, sizeof(packet));
|
||||
- bytes = safe_read(fd, &packet, sizeof(packet));
|
||||
+ do {
|
||||
+ bytes = recvmsg(fd, &msg, 0);
|
||||
+ } while (bytes < 0 && errno == EINTR);
|
||||
+
|
||||
if (bytes < 0) {
|
||||
log1("Packet read error, ignoring");
|
||||
/* NB: possible down interface, etc. Caller should pause. */
|
||||
return bytes; /* returns -1 */
|
||||
}
|
||||
|
||||
+ for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
|
||||
+ if (cmsg->cmsg_level == SOL_PACKET &&
|
||||
+ cmsg->cmsg_type == PACKET_AUXDATA) {
|
||||
+ struct tpacket_auxdata *aux = (void *)CMSG_DATA(cmsg);
|
||||
+ nocsum = aux->tp_status & TP_STATUS_CSUMNOTREADY;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp))) {
|
||||
log1("Packet is too short, ignoring");
|
||||
return -2;
|
||||
@@ -896,7 +920,7 @@ static NOINLINE int udhcp_recv_raw_packe
|
||||
packet.ip.tot_len = packet.udp.len; /* yes, this is needed */
|
||||
check = packet.udp.check;
|
||||
packet.udp.check = 0;
|
||||
- if (check && check != udhcp_checksum(&packet, bytes)) {
|
||||
+ if (!nocsum && check && check != udhcp_checksum(&packet, bytes)) {
|
||||
log1("Packet with bad UDP checksum received, ignoring");
|
||||
return -2;
|
||||
}
|
||||
@@ -942,6 +966,7 @@ static int udhcp_raw_socket(int ifindex)
|
||||
{
|
||||
int fd;
|
||||
struct sockaddr_ll sock;
|
||||
+ int val;
|
||||
|
||||
/*
|
||||
* Comment:
|
||||
@@ -1008,6 +1033,13 @@ static int udhcp_raw_socket(int ifindex)
|
||||
log1("Attached filter to raw socket fd %d", fd); // log?
|
||||
}
|
||||
|
||||
+ val = 1;
|
||||
+ if (setsockopt(fd, SOL_PACKET, PACKET_AUXDATA, &val,
|
||||
+ sizeof(val)) < 0) {
|
||||
+ if (errno != ENOPROTOOPT)
|
||||
+ log1("Failed to set auxiliary packet data for socket fd %d", fd);
|
||||
+ }
|
||||
+
|
||||
log1("Created raw socket");
|
||||
|
||||
return fd;
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/networking/arping.c
|
||||
+++ b/networking/arping.c
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
#include <arpa/inet.h>
|
||||
#include <net/if.h>
|
||||
+#include <net/if_arp.h>
|
||||
+#include <netinet/if_ether.h>
|
||||
#include <netinet/ether.h>
|
||||
#include <netpacket/packet.h>
|
||||
|
||||
16
package/utils/busybox/patches/999-musl-fixes.patch
Normal file
16
package/utils/busybox/patches/999-musl-fixes.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- a/include/platform.h
|
||||
+++ b/include/platform.h
|
||||
@@ -443,6 +443,13 @@ typedef unsigned smalluint;
|
||||
# undef HAVE_NET_ETHERNET_H
|
||||
#endif
|
||||
|
||||
+#if defined(__musl__)
|
||||
+# undef HAVE_SETBIT
|
||||
+# include <stddef.h>
|
||||
+# include <termios.h>
|
||||
+# include <sys/ioctl.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Now, define prototypes for all the functions defined in platform.c
|
||||
* These must come after all the HAVE_* macros are defined (or not)
|
||||
169
package/utils/e2fsprogs/Makefile
Normal file
169
package/utils/e2fsprogs/Makefile
Normal file
@@ -0,0 +1,169 @@
|
||||
#
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
# Copyright 2010 Vertical Communications
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=e2fsprogs
|
||||
PKG_VERSION:=1.42.4
|
||||
PKG_MD5SUM:=b6e296f210d642361b7394437ff0f318
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/e2fsprogs
|
||||
|
||||
PKG_BUILD_DEPENDS:=util-linux
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/e2fsprogs/Default
|
||||
URL:=http://e2fsprogs.sourceforge.net/
|
||||
SUBMENU:=Filesystem
|
||||
endef
|
||||
|
||||
define Package/e2fsprogs
|
||||
$(call Package/e2fsprogs/Default)
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Ext2/3/4 filesystem utilities
|
||||
DEPENDS:=+libblkid +libuuid +libext2fs
|
||||
endef
|
||||
|
||||
define Package/e2fsprogs/description
|
||||
This package contains essential ext2 filesystem utilities which consists of
|
||||
e2fsck, mke2fs, tune2fs, and most of the other core ext2
|
||||
filesystem utilities.
|
||||
endef
|
||||
|
||||
define Package/libext2fs
|
||||
$(call Package/e2fsprogs/Default)
|
||||
DEPENDS:=+libcom_err
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=ext2/3/4 filesystem library
|
||||
endef
|
||||
|
||||
define Package/libext2fs/description
|
||||
libext2fs is a library which can access ext2, ext3 and ext4 filesystems.
|
||||
endef
|
||||
|
||||
define Package/libcom_err
|
||||
$(call Package/e2fsprogs/Default)
|
||||
DEPENDS:=+libpthread
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=Common error description library
|
||||
endef
|
||||
|
||||
define Package/libcom_err/description
|
||||
libcom_err is a library providing common error descriptions
|
||||
endef
|
||||
|
||||
define Package/tune2fs
|
||||
$(call Package/e2fsprogs)
|
||||
TITLE:=Ext2 Filesystem tune utility
|
||||
DEPENDS:= +e2fsprogs
|
||||
endef
|
||||
|
||||
define Package/resize2fs
|
||||
$(call Package/e2fsprogs)
|
||||
TITLE:=Ext2 Filesystem resize utility
|
||||
DEPENDS:= +e2fsprogs
|
||||
endef
|
||||
|
||||
define Package/badblocks
|
||||
$(call Package/e2fsprogs)
|
||||
TITLE:=Ext2 Filesystem badblocks utility
|
||||
DEPENDS:= +e2fsprogs
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-elf-shlibs \
|
||||
--disable-libuuid \
|
||||
--disable-libblkid \
|
||||
--disable-uuidd \
|
||||
--disable-tls \
|
||||
--disable-nls \
|
||||
--disable-rpath
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
$(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/config/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/util \
|
||||
BUILDCC="$(HOSTCC)" \
|
||||
CFLAGS="" \
|
||||
CPPFLAGS="" \
|
||||
LDFLAGS="" \
|
||||
subst
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
BUILDCC="$(HOSTCC)" \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
all
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
BUILDCC="$(HOSTCC)" \
|
||||
DESTDIR="$(1)" \
|
||||
install-libs
|
||||
$(MAKE) -C $(PKG_BUILD_DIR)/lib/ext2fs \
|
||||
BUILDCC="$(HOSTCC)" \
|
||||
DESTDIR="$(1)" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Package/e2fsprogs/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/e2fsck $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mke2fs $(1)/usr/sbin/
|
||||
ln -sf mke2fs $(1)/usr/sbin/mkfs.ext2
|
||||
ln -sf mke2fs $(1)/usr/sbin/mkfs.ext3
|
||||
ln -sf mke2fs $(1)/usr/sbin/mkfs.ext4
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libe2p.so.* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/etc/init.d
|
||||
$(INSTALL_DIR) $(1)/lib/functions/fsck
|
||||
$(INSTALL_DATA) ./files/e2fsck.sh $(1)/lib/functions/fsck/
|
||||
$(INSTALL_DATA) ./files/e2fsck.conf $(1)/etc/e2fsck.conf
|
||||
endef
|
||||
|
||||
define Package/libcom_err/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcom_err.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libext2fs/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libext2fs.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/tune2fs/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/tune2fs $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
define Package/resize2fs/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/resize2fs $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
define Package/badblocks/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/badblocks $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,e2fsprogs))
|
||||
$(eval $(call BuildPackage,libext2fs))
|
||||
$(eval $(call BuildPackage,libcom_err))
|
||||
$(eval $(call BuildPackage,tune2fs))
|
||||
$(eval $(call BuildPackage,resize2fs))
|
||||
$(eval $(call BuildPackage,badblocks))
|
||||
3
package/utils/e2fsprogs/files/e2fsck.conf
Normal file
3
package/utils/e2fsprogs/files/e2fsck.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
[options]
|
||||
broken_system_clock = true
|
||||
|
||||
38
package/utils/e2fsprogs/files/e2fsck.sh
Normal file
38
package/utils/e2fsprogs/files/e2fsck.sh
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2010 Vertical Communications
|
||||
# Copyright 2012 OpenWrt.org
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
fsck_e2fsck() {
|
||||
set -o pipefail
|
||||
e2fsck -p "$device" 2>&1 | logger -t "fstab: e2fsck ($device)"
|
||||
local status="$?"
|
||||
set +o pipefail
|
||||
case "$status" in
|
||||
0|1) ;; #success
|
||||
2) reboot;;
|
||||
4) echo "e2fsck ($device): Warning! Uncorrected errors."| logger -t fstab
|
||||
return 1
|
||||
;;
|
||||
*) echo "e2fsck ($device): Error $status. Check not complete."| logger -t fstab;;
|
||||
esac
|
||||
return 0
|
||||
}
|
||||
|
||||
fsck_ext2() {
|
||||
fsck_e2fsck "$@"
|
||||
}
|
||||
|
||||
fsck_ext3() {
|
||||
fsck_e2fsck "$@"
|
||||
}
|
||||
|
||||
fsck_ext4() {
|
||||
fsck_e2fsck "$@"
|
||||
}
|
||||
|
||||
append libmount_known_fsck "ext2"
|
||||
append libmount_known_fsck "ext3"
|
||||
append libmount_known_fsck "ext4"
|
||||
@@ -0,0 +1,38 @@
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -5038,7 +5038,7 @@ if test "${ac_cv_lib_blkid_blkid_get_cac
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
-LIBS="-lblkid $LIBBLKID $LIBS"
|
||||
+LIBS="-lblkid $LIBBLKID $LIBUUID $LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
--- a/misc/Makefile.in
|
||||
+++ b/misc/Makefile.in
|
||||
@@ -146,10 +146,10 @@ partinfo: partinfo.o
|
||||
$(E) " LD $@"
|
||||
$(Q) $(CC) $(ALL_LDFLAGS) -o partinfo partinfo.o
|
||||
|
||||
-e2initrd_helper: e2initrd_helper.o $(DEPLIBS) $(DEPLIBBLKID) $(LIBEXT2FS)
|
||||
+e2initrd_helper: e2initrd_helper.o $(DEPLIBS) $(DEPLIBBLKID) $(DEPLIBUUID) $(LIBEXT2FS)
|
||||
$(E) " LD $@"
|
||||
$(Q) $(CC) $(ALL_LDFLAGS) -o e2initrd_helper e2initrd_helper.o $(LIBS) \
|
||||
- $(LIBBLKID) $(LIBEXT2FS) $(LIBINTL)
|
||||
+ $(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(LIBINTL)
|
||||
|
||||
tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBBLKID) \
|
||||
$(DEPLIBUUID) $(DEPLIBQUOTA) $(LIBEXT2FS)
|
||||
@@ -289,9 +289,9 @@ dumpe2fs.profiled: $(PROFILED_DUMPE2FS_O
|
||||
$(PROFILED_DUMPE2FS_OBJS) $(PROFILED_LIBS) \
|
||||
$(PROFILED_LIBE2P) $(PROFILED_LIBUUID) $(LIBINTL)
|
||||
|
||||
-fsck: $(FSCK_OBJS) $(DEPLIBBLKID)
|
||||
+fsck: $(FSCK_OBJS) $(DEPLIBBLKID) $(DEPLIBUUID)
|
||||
$(E) " LD $@"
|
||||
- $(Q) $(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBBLKID) $(LIBINTL)
|
||||
+ $(Q) $(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBBLKID) $(LIBUUID) $(LIBINTL)
|
||||
|
||||
fsck.profiled: $(PROFILED_FSCK_OBJS) $(PROFILED_DEPLIBBLKID)
|
||||
$(E) " LD $@"
|
||||
10
package/utils/e2fsprogs/patches/002-no_malloc_h.patch
Normal file
10
package/utils/e2fsprogs/patches/002-no_malloc_h.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/util/symlinks.c
|
||||
+++ b/util/symlinks.c
|
||||
@@ -8,7 +8,6 @@
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
-#include <malloc.h>
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/param.h>
|
||||
44
package/utils/fbtest/Makefile
Normal file
44
package/utils/fbtest/Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
#
|
||||
# Copyright (C) 2012 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=fbtest
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/fbtest
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Frame buffer device testing tool
|
||||
DEPENDS:=@DISPLAY_SUPPORT
|
||||
endef
|
||||
|
||||
define Build/Prepare
|
||||
mkdir -p $(PKG_BUILD_DIR)
|
||||
$(CP) ./src/* $(PKG_BUILD_DIR)/
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
CC="$(TARGET_CC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS) -Wall" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)"
|
||||
endef
|
||||
|
||||
define Package/fbtest/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/fbtest $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,fbtest))
|
||||
14
package/utils/fbtest/src/Makefile
Normal file
14
package/utils/fbtest/src/Makefile
Normal file
@@ -0,0 +1,14 @@
|
||||
CC = gcc
|
||||
CFLAGS = -Wall
|
||||
OBJS = fbtest.o
|
||||
|
||||
all: fbtest
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
fbtest: $(OBJS)
|
||||
$(CC) -o $@ $(OBJS)
|
||||
|
||||
clean:
|
||||
rm -f rbcfg *.o
|
||||
448
package/utils/fbtest/src/fbtest.c
Normal file
448
package/utils/fbtest/src/fbtest.c
Normal file
@@ -0,0 +1,448 @@
|
||||
/******************************************************************************
|
||||
* fbtest - fbtest.c
|
||||
* test program for the tuxbox-framebuffer device
|
||||
* tests all GTX/eNX supported modes
|
||||
*
|
||||
* (c) 2003 Carsten Juttner (carjay@gmx.net)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* The Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
******************************************************************************
|
||||
* $Id: fbtest.c,v 1.5 2005/01/14 23:14:41 carjay Exp $
|
||||
******************************************************************************/
|
||||
|
||||
// TODO: - should restore the colour map and mode to what it was before
|
||||
// - is colour map handled correctly?
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mman.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include <linux/fb.h>
|
||||
|
||||
#include <error.h>
|
||||
|
||||
#define FBDEV "/dev/fb0"
|
||||
|
||||
struct vidsize{
|
||||
int width;
|
||||
int height;
|
||||
};
|
||||
static
|
||||
const struct vidsize vidsizetable[]={ // all supported sizes
|
||||
{720,576},{720,480},{720,288},{720,240},
|
||||
{640,576},{640,480},{640,288},{640,240},
|
||||
{360,576},{360,480},{360,288},{360,240},
|
||||
{320,576},{320,480},{320,288},{320,240}
|
||||
};
|
||||
#define VIDSIZENUM (sizeof(vidsizetable)/sizeof(struct vidsize))
|
||||
|
||||
enum pixenum{ // keep in sync with pixname !
|
||||
CLUT4=0,
|
||||
CLUT8,
|
||||
RGB565,
|
||||
ARGB1555,
|
||||
ARGB
|
||||
};
|
||||
const char *pixname[] = {
|
||||
"CLUT4",
|
||||
"CLUT8",
|
||||
"RGB565",
|
||||
"ARGB1555",
|
||||
"ARGB"
|
||||
};
|
||||
|
||||
struct pixelformat{
|
||||
char *name;
|
||||
struct fb_bitfield red;
|
||||
struct fb_bitfield green;
|
||||
struct fb_bitfield blue;
|
||||
struct fb_bitfield transp;
|
||||
char bpp;
|
||||
char pixenum;
|
||||
};
|
||||
|
||||
static // so far these are all modes supported by the eNX (only partially by GTX)
|
||||
const struct pixelformat pixelformattable[] = {
|
||||
{ .name = "CLUT4 ARGB8888", // CLUT4 (ARGB8888)
|
||||
.bpp = 4, .pixenum = CLUT4,
|
||||
.red = { .offset = 0, .length=8, .msb_right =0 },
|
||||
.green = { .offset = 0, .length=8, .msb_right =0 },
|
||||
.blue = { .offset = 0, .length=8, .msb_right =0 },
|
||||
.transp= { .offset = 0, .length=8, .msb_right =0 }
|
||||
},
|
||||
{ .name = "CLUT4 ARGB1555", // CLUT4 (ARGB1555)
|
||||
.bpp = 4, .pixenum = CLUT4,
|
||||
.red = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.green = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.blue = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.transp= { .offset = 0, .length=1, .msb_right =0 }
|
||||
},
|
||||
{ .name = "CLUT8 ARGB8888", // CLUT8 (ARGB8888)
|
||||
.bpp = 8, .pixenum = CLUT8,
|
||||
.red = { .offset = 0, .length=8, .msb_right =0 },
|
||||
.green = { .offset = 0, .length=8, .msb_right =0 },
|
||||
.blue = { .offset = 0, .length=8, .msb_right =0 },
|
||||
.transp= { .offset = 0, .length=8, .msb_right =0 }
|
||||
},
|
||||
{ .name = "CLUT8 ARGB1555", // CLUT8 (ARGB1555)
|
||||
.bpp = 8, .pixenum = CLUT8,
|
||||
.red = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.green = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.blue = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.transp= { .offset = 0, .length=1, .msb_right =0 }
|
||||
},
|
||||
{ .name = "ARGB1555", // ARGB1555
|
||||
.bpp = 16, .pixenum = ARGB1555,
|
||||
.red = { .offset = 10, .length=5, .msb_right =0 },
|
||||
.green = { .offset = 5, .length=5, .msb_right =0 },
|
||||
.blue = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.transp= { .offset = 15, .length=1, .msb_right =0 }
|
||||
},
|
||||
{ .name = "RGB565", // RGB565
|
||||
.bpp = 16, .pixenum = RGB565,
|
||||
.red = { .offset = 11, .length=5, .msb_right =0 },
|
||||
.green = { .offset = 5, .length=6, .msb_right =0 },
|
||||
.blue = { .offset = 0, .length=5, .msb_right =0 },
|
||||
.transp= { .offset = 0, .length=0, .msb_right =0 }
|
||||
},
|
||||
{ .name = "ARGB", // 32 f*cking bits, the real McCoy :)
|
||||
.bpp = 32, .pixenum = ARGB,
|
||||
.red = { .offset = 16, .length=8, .msb_right =0 },
|
||||
.green = { .offset = 8, .length=8, .msb_right =0 },
|
||||
.blue = { .offset = 0, .length=8, .msb_right =0 },
|
||||
.transp= { .offset = 24, .length=8, .msb_right =0 }
|
||||
}
|
||||
};
|
||||
#define PIXELFORMATNUM (sizeof(pixelformattable)/sizeof(struct pixelformat))
|
||||
|
||||
struct colour {
|
||||
__u16 r;
|
||||
__u16 g;
|
||||
__u16 b;
|
||||
__u16 a;
|
||||
};
|
||||
static
|
||||
struct colour colourtable[] = {
|
||||
{.r =0xffff, .g = 0xffff, .b=0xffff, .a=0xffff}, // fully transparent white
|
||||
{.r =0xffff, .g = 0x0000, .b=0x0000, .a=0x0000}, // red
|
||||
{.r =0x0000, .g = 0xffff, .b=0x0000, .a=0x0000}, // green
|
||||
{.r =0x0000, .g = 0x0000, .b=0xffff, .a=0x0000}, // blue
|
||||
{.r =0x0000, .g = 0x0000, .b=0x0000, .a=0x0000} // black
|
||||
};
|
||||
#define COLOURNUM (sizeof(colourtable)/sizeof(struct colour))
|
||||
|
||||
struct rect{
|
||||
int x;
|
||||
int y;
|
||||
int width;
|
||||
int height;
|
||||
const struct colour *col;
|
||||
};
|
||||
struct pixel{ // up to 32 bits of pixel information
|
||||
char byte[4];
|
||||
};
|
||||
|
||||
void col2pixel (struct pixel *pix, const struct pixelformat *pixf, const struct colour *col){
|
||||
switch (pixf->pixenum){
|
||||
case RGB565:
|
||||
pix->byte[0]=(col->r&0xf8)|(col->g&0xfc)>>5;
|
||||
pix->byte[1]=(col->g&0xfc)<<3|(col->b&0xf8)>>3;
|
||||
break;
|
||||
case ARGB1555:
|
||||
pix->byte[0]=(col->a&0x80)|(col->r&0xf8)>>1|(col->g&0xf8)>>6;
|
||||
pix->byte[1]=(col->g&0xf8)<<2|(col->b&0xf8)>>3;
|
||||
break;
|
||||
case ARGB:
|
||||
pix->byte[0]=col->a;
|
||||
pix->byte[1]=col->r;
|
||||
pix->byte[2]=col->g;
|
||||
pix->byte[3]=col->b;
|
||||
break;
|
||||
default:
|
||||
printf ("unknown pixelformat\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
int setmode(int fbd, const struct pixelformat *pixf,const struct vidsize *vids){
|
||||
struct fb_var_screeninfo var;
|
||||
int stat;
|
||||
stat = ioctl (fbd, FBIOGET_VSCREENINFO,&var);
|
||||
if (stat<0) return -2;
|
||||
|
||||
var.xres= vids->width;
|
||||
var.xres_virtual = vids->width;
|
||||
var.yres= vids->height;
|
||||
var.yres_virtual = vids->height;
|
||||
|
||||
var.bits_per_pixel = pixf->bpp;
|
||||
var.red = pixf->red;
|
||||
var.green = pixf->green;
|
||||
var.blue = pixf->blue;
|
||||
var.transp = pixf->transp;
|
||||
|
||||
stat = ioctl (fbd, FBIOPUT_VSCREENINFO,&var);
|
||||
if (stat<0) return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// unefficient implementation, do NOT use it for your next ego shooter, please :)
|
||||
// for 4-Bit only rectangles with even width are supported
|
||||
// CLUT-modes use value of red component as index
|
||||
void drawrect(void *videoram, struct rect *r, const struct pixelformat *pixf, const struct vidsize *vids){
|
||||
int x,y,corwidth, bpp = 0, tocopy = 1;
|
||||
struct pixel pix;
|
||||
unsigned char *pmem = videoram;
|
||||
corwidth = r->width; // actually only "corrected" for 4 Bit
|
||||
|
||||
if (pixf->pixenum!=CLUT4&&pixf->pixenum!=CLUT8){
|
||||
switch (pixf->pixenum){
|
||||
case ARGB1555:
|
||||
case RGB565:
|
||||
bpp = 16;
|
||||
tocopy = 2;
|
||||
break;
|
||||
case ARGB:
|
||||
bpp = 32;
|
||||
tocopy = 4;
|
||||
break;
|
||||
default:
|
||||
printf ("drawrect: unknown pixelformat(%d) bpp:%d\n",pixf->pixenum,pixf->bpp);
|
||||
exit(1);
|
||||
}
|
||||
col2pixel(&pix,pixf,r->col);
|
||||
} else {
|
||||
switch (pixf->pixenum){ // CLUT = Colour LookUp Table (palette)
|
||||
case CLUT4: // take red value as index in this case
|
||||
pix.byte[0]=(r->col->r)<<4|(r->col->r&0xf); // slightly cryptic... "rect->colour->red"
|
||||
corwidth>>=1; // we copy bytes
|
||||
bpp=4;
|
||||
tocopy=1;
|
||||
break;
|
||||
case CLUT8:
|
||||
pix.byte[0]=(r->col->r&0xff);
|
||||
bpp=8;
|
||||
tocopy=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
pmem=videoram+((((r->y*vids->width)+r->x)*bpp)>>3);
|
||||
for (y=0;y<r->height;y++){
|
||||
int offset = 0;
|
||||
for (x=0;x<corwidth;x++){
|
||||
memcpy (pmem+offset,pix.byte,tocopy);
|
||||
offset+=tocopy;
|
||||
}
|
||||
pmem +=((vids->width*bpp)>>3); // skip one whole line, actually should be taken from "fix-info"
|
||||
}
|
||||
}
|
||||
|
||||
// create quick little test image, 4 colours from table
|
||||
void draw4field(void *videoram, const struct pixelformat *pixf, const struct vidsize *vids){
|
||||
struct rect r;
|
||||
struct colour c;
|
||||
int height, width;
|
||||
c.r = 1; // only used for the indexed modes, r is taken as index
|
||||
height = vids->height;
|
||||
width = vids->width;
|
||||
|
||||
r.height = height>>1;
|
||||
r.width = width>>1;
|
||||
r.x = 0; r.y = 0;
|
||||
if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) r.col = &c;
|
||||
else r.col = &colourtable[1];
|
||||
drawrect (videoram, &r, pixf, vids);
|
||||
|
||||
r.x = width/2; r.y = 0;
|
||||
if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) c.r = 2;
|
||||
else r.col = &colourtable[2];
|
||||
drawrect (videoram, &r, pixf, vids);
|
||||
|
||||
r.x = 0; r.y = height/2;
|
||||
if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) c.r = 3;
|
||||
else r.col = &colourtable[3];
|
||||
drawrect (videoram, &r, pixf, vids);
|
||||
|
||||
r.x = width/2; r.y = height/2;
|
||||
if (pixf->pixenum==CLUT4||pixf->pixenum==CLUT8) c.r = 0;
|
||||
else r.col = &colourtable[0];
|
||||
drawrect (videoram, &r, pixf, vids);
|
||||
}
|
||||
|
||||
void usage(char *name){
|
||||
printf ("Usage: %s [options]\n"
|
||||
"Options: -f<pixelformat>\n"
|
||||
" where format is one of:\n"
|
||||
" CLUT4,CLUT8,ARGB1555,RGB565,ARGB\n"
|
||||
" -s<width>x<heigth>\n"
|
||||
" where width is either 720,640,360,320\n"
|
||||
" and height is either 288,240,480,576\n"
|
||||
" -n\n"
|
||||
" disables clearing the framebuffer after drawing\n"
|
||||
" the testimage. This can be useful to keep the last\n"
|
||||
" drawn image onscreen.\n"
|
||||
"\nExample: %s -fRGB322\n",name,name);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
int main (int argc,char **argv){
|
||||
struct fb_fix_screeninfo fix;
|
||||
struct fb_var_screeninfo var;
|
||||
struct fb_cmap cmap;
|
||||
struct rect r;
|
||||
int fbd;
|
||||
unsigned char *pfb;
|
||||
int stat;
|
||||
int optchar,fmode=-1,smode=-1,clear=1;
|
||||
int i_cmap,i_size,i_pix;
|
||||
extern char *optarg;
|
||||
|
||||
if (argc!=0&&argc>4) usage(argv[0]);
|
||||
while ( (optchar = getopt (argc,argv,"f:s:n"))!= -1){
|
||||
int i,height,width;
|
||||
switch (optchar){
|
||||
case 'f':
|
||||
for (i=0;i<(sizeof(pixname)/sizeof(char*));i++){
|
||||
if (!strncmp (optarg,pixname[i],strlen(pixname[i]))){
|
||||
fmode=i;
|
||||
printf ("displaying only %s-modes\n",pixname[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (fmode==-1){
|
||||
printf ("unknown pixelformat\n");
|
||||
exit(0);
|
||||
}
|
||||
break;
|
||||
case 's':
|
||||
if (sscanf (optarg,"%dx%d",&width,&height)!=2){
|
||||
printf ("parsing size failed\n");
|
||||
exit(0);
|
||||
} else {
|
||||
printf ("requested size %dx%d\n",width,height);
|
||||
for (i=0;i<VIDSIZENUM;i++){
|
||||
if (vidsizetable[i].width == width &&
|
||||
vidsizetable[i].height == height){
|
||||
smode = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (smode==-1){
|
||||
printf ("this size is not supported\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'n':
|
||||
clear = 0;
|
||||
printf ("clearing framebuffer after drawing is disabled\n");
|
||||
break;
|
||||
case '?':
|
||||
usage (argv[0]);
|
||||
}
|
||||
}
|
||||
|
||||
fbd = open (FBDEV, O_RDWR);
|
||||
if (fbd<0){
|
||||
perror ("Error opening framebuffer device");
|
||||
return 1;
|
||||
}
|
||||
stat = ioctl (fbd, FBIOGET_FSCREENINFO,&fix);
|
||||
if (stat<0){
|
||||
perror ("Error getting fix screeninfo");
|
||||
return 1;
|
||||
}
|
||||
stat = ioctl (fbd, FBIOGET_VSCREENINFO,&var);
|
||||
if (stat<0){
|
||||
perror ("Error getting var screeninfo");
|
||||
return 1;
|
||||
}
|
||||
stat = ioctl (fbd, FBIOPUT_VSCREENINFO,&var);
|
||||
if (stat<0){
|
||||
perror ("Error setting mode");
|
||||
return 1;
|
||||
}
|
||||
pfb = mmap (0, fix.smem_len, PROT_READ|PROT_WRITE, MAP_SHARED, fbd, 0);
|
||||
if (pfb == MAP_FAILED){
|
||||
perror ("Error mmap'ing framebuffer device");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// iterate over all modes
|
||||
for (i_pix=0;i_pix<PIXELFORMATNUM;i_pix++){
|
||||
if (fmode!=-1 && pixelformattable[i_pix].pixenum != fmode) continue;
|
||||
printf ("testing: %s",pixelformattable[i_pix].name);
|
||||
printf (" for sizes: \n");
|
||||
for (i_size=0;i_size<VIDSIZENUM;i_size++){
|
||||
if (smode!=-1 && i_size!=smode) continue;
|
||||
printf ("%dx%d ",vidsizetable[i_size].width,vidsizetable[i_size].height);
|
||||
fflush(stdout);
|
||||
if ((i_size%4)==3) printf ("\n");
|
||||
|
||||
// try to set mode
|
||||
stat = setmode(fbd,&pixelformattable[i_pix],&vidsizetable[i_size]);
|
||||
if (stat==-2) perror ("fbtest: could not get fb_var-screeninfo from fb-device");
|
||||
else if (stat==-1){
|
||||
printf ("\nCould not set mode %s (%dx%d), possible reasons:\n"
|
||||
"- you have a GTX (soz m8)\n"
|
||||
"- your configuration does not have enough graphics RAM\n"
|
||||
"- you found a bug\n"
|
||||
"choose your poison accordingly...\n",
|
||||
pixelformattable[i_pix].name,vidsizetable[i_size].width,vidsizetable[i_size].height);
|
||||
continue;
|
||||
}
|
||||
// fill cmap;
|
||||
cmap.len = 1;
|
||||
if ((pixelformattable[i_pix].bpp==4)||
|
||||
((pixelformattable[i_pix].bpp==8)&&(pixelformattable[i_pix].red.length!=3))){
|
||||
for (i_cmap=0;i_cmap<COLOURNUM;i_cmap++){
|
||||
cmap.start=i_cmap;
|
||||
cmap.red=&colourtable[i_cmap].r;
|
||||
cmap.green=&colourtable[i_cmap].g;
|
||||
cmap.blue=&colourtable[i_cmap].b;
|
||||
cmap.transp=&colourtable[i_cmap].a;
|
||||
stat = ioctl (fbd, FBIOPUTCMAP, &cmap);
|
||||
if (stat<0) printf ("setting colourmap failed\n");
|
||||
}
|
||||
}
|
||||
// create the test image
|
||||
draw4field(pfb,&pixelformattable[i_pix],&vidsizetable[i_size]);
|
||||
usleep (500000);
|
||||
// clear screen
|
||||
if (clear){
|
||||
r.x=r.y=0;r.width = vidsizetable[i_size].width; r.height = vidsizetable[i_size].height;
|
||||
r.col = &colourtable[4];
|
||||
drawrect(pfb,&r,&pixelformattable[i_pix],&vidsizetable[i_size]);
|
||||
}
|
||||
}
|
||||
printf ("\n");
|
||||
}
|
||||
|
||||
stat = munmap (pfb,fix.smem_len);
|
||||
if (stat<0){
|
||||
perror ("Error munmap'ing framebuffer device");
|
||||
return 1;
|
||||
}
|
||||
close (fbd);
|
||||
return 0;
|
||||
}
|
||||
111
package/utils/fuse/Makefile
Normal file
111
package/utils/fuse/Makefile
Normal file
@@ -0,0 +1,111 @@
|
||||
#
|
||||
# Copyright (C) 2006-2010 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
include $(INCLUDE_DIR)/kernel.mk
|
||||
|
||||
PKG_NAME:=fuse
|
||||
PKG_VERSION:=2.9.0
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
|
||||
PKG_MD5SUM:=894ee11674f89a915ae87524aed55bc4
|
||||
|
||||
PKG_LICENSE:=LGPLv2.1 GPLv2
|
||||
PKG_LICENSE_FILES:=COPYING.LIB COPYING
|
||||
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/fuse/Default
|
||||
TITLE:=FUSE
|
||||
URL:=http://fuse.sourceforge.net/
|
||||
endef
|
||||
|
||||
define Package/fuse/Default/description
|
||||
FUSE (Filesystem in UserSpacE)
|
||||
endef
|
||||
|
||||
define Package/fuse-utils
|
||||
$(call Package/fuse/Default)
|
||||
SECTION:=utils
|
||||
CATEGORY:=Utilities
|
||||
DEPENDS:=+libfuse
|
||||
TITLE+= (utilities)
|
||||
SUBMENU:=Filesystem
|
||||
endef
|
||||
|
||||
define Package/fuse-utils/description
|
||||
$(call Package/fuse/Default/description)
|
||||
This package contains the FUSE utilities.
|
||||
- fusermount
|
||||
- ulockmgr_server
|
||||
endef
|
||||
|
||||
define Package/libfuse
|
||||
$(call Package/fuse/Default)
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE+= (library)
|
||||
DEPENDS:=+kmod-fuse +libpthread
|
||||
SUBMENU:=Filesystem
|
||||
endef
|
||||
|
||||
define Package/libfuse/description
|
||||
$(call Package/fuse/Default/description)
|
||||
This package contains the FUSE shared libraries, needed by other programs.
|
||||
- libfuse
|
||||
- libulockmgr
|
||||
endef
|
||||
|
||||
# generic args
|
||||
CONFIGURE_ARGS += \
|
||||
--enable-shared \
|
||||
--enable-static \
|
||||
--disable-rpath \
|
||||
--disable-example \
|
||||
--disable-mtab
|
||||
|
||||
# generic package uses lib & utils
|
||||
CONFIGURE_ARGS += --enable-lib --enable-util
|
||||
|
||||
define Build/InstallDev
|
||||
@echo "--> Build/InstallDev enter"
|
||||
mkdir -p $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/{fuse,*.h} $(1)/usr/include/
|
||||
mkdir -p $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} $(1)/usr/lib/
|
||||
mkdir -p $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(1)/usr/lib/pkgconfig/
|
||||
$(SED) 's,-I$$$${includedir}/fuse,,g' $(1)/usr/lib/pkgconfig/fuse.pc
|
||||
$(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/fuse.pc
|
||||
@echo "--> Build/InstallDev leave"
|
||||
endef
|
||||
|
||||
define Package/fuse-utils/install
|
||||
@echo "--> Package/fuse-utils/install enter"
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
# use cp and keep fusermount sticky bit
|
||||
$(FIND) $(PKG_INSTALL_DIR)/usr/bin/ -type f -exec $(CP) -a {} $(1)/usr/bin/ \;
|
||||
@echo "--> Package/fuse-utils/install leave"
|
||||
endef
|
||||
|
||||
define Package/libfuse/install
|
||||
@echo "--> Package/libfuse/install enter"
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
|
||||
@echo "--> Package/libfuse/install leave"
|
||||
endef
|
||||
|
||||
define Package/kmod-fuse/install
|
||||
@echo "--> Package/kmod-fuse/install enter/leave"
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,fuse-utils))
|
||||
$(eval $(call BuildPackage,libfuse))
|
||||
11
package/utils/fuse/patches/112-no_break_on_mknod.patch
Normal file
11
package/utils/fuse/patches/112-no_break_on_mknod.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/util/Makefile.in
|
||||
+++ b/util/Makefile.in
|
||||
@@ -641,7 +641,7 @@ mount_util.c: $(top_srcdir)/lib/mount_ut
|
||||
|
||||
install-exec-hook:
|
||||
-chmod u+s $(DESTDIR)$(bindir)/fusermount
|
||||
- @if test ! -e $(DESTDIR)/dev/fuse; then \
|
||||
+ -@if test ! -e $(DESTDIR)/dev/fuse; then \
|
||||
$(mkdir_p) $(DESTDIR)/dev; \
|
||||
echo "mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true"; \
|
||||
mknod $(DESTDIR)/dev/fuse -m 0666 c 10 229 || true; \
|
||||
44
package/utils/hostap-utils/Makefile
Normal file
44
package/utils/hostap-utils/Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=hostap-utils
|
||||
PKG_VERSION:=0.4.7
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
|
||||
PKG_MD5SUM:=afe041581b8f01666e353bec20917c85
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/hostap-utils
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
DEPENDS:=kmod-hostap
|
||||
TITLE:=Host AP driver utility programs
|
||||
URL:=http://hostap.epitest.fi/
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) -Wall" \
|
||||
all
|
||||
endef
|
||||
|
||||
define Package/hostap-utils/install
|
||||
$(INSTALL_DIR) $(1)/usr/sbin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostap_crypt_conf $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostap_diag $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostap_io_debug $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hostap_rid $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/prism2_srec $(1)/usr/sbin/
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/split_combined_hex $(1)/usr/sbin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,hostap-utils))
|
||||
183
package/utils/lua/Makefile
Normal file
183
package/utils/lua/Makefile
Normal file
@@ -0,0 +1,183 @@
|
||||
#
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=lua
|
||||
PKG_VERSION:=5.1.5
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
|
||||
http://ftp.gwdg.de/pub/languages/lua/ \
|
||||
http://mirrors.dotsrc.org/lua/ \
|
||||
http://www.tecgraf.puc-rio.br/lua/ftp/
|
||||
PKG_MD5SUM:=2e115fe26e435e33b0d5c022e4490567
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=COPYRIGHT
|
||||
|
||||
HOST_PATCH_DIR := ./patches-host
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define Package/lua/Default
|
||||
SUBMENU:=Lua
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
TITLE:=Lua programming language
|
||||
URL:=http://www.lua.org/
|
||||
MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
|
||||
endef
|
||||
|
||||
define Package/lua/Default/description
|
||||
Lua is a powerful light-weight programming language designed for extending
|
||||
applications. Lua is also frequently used as a general-purpose, stand-alone
|
||||
language. Lua is free software.
|
||||
endef
|
||||
|
||||
define Package/liblua
|
||||
$(call Package/lua/Default)
|
||||
SUBMENU:=
|
||||
SECTION:=libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE+= (libraries)
|
||||
endef
|
||||
|
||||
define Package/liblua/description
|
||||
$(call Package/lua/Default/description)
|
||||
This package contains the Lua shared libraries, needed by other programs.
|
||||
endef
|
||||
|
||||
define Package/lua
|
||||
$(call Package/lua/Default)
|
||||
DEPENDS:=+liblua
|
||||
TITLE+= (interpreter)
|
||||
endef
|
||||
|
||||
define Package/lua/description
|
||||
$(call Package/lua/Default/description)
|
||||
This package contains the Lua language interpreter.
|
||||
endef
|
||||
|
||||
define Package/luac
|
||||
$(call Package/lua/Default)
|
||||
DEPENDS:=+liblua
|
||||
TITLE+= (compiler)
|
||||
endef
|
||||
|
||||
define Package/luac/description
|
||||
$(call Package/lua/Default/description)
|
||||
This package contains the Lua language compiler.
|
||||
endef
|
||||
|
||||
define Package/lua-examples
|
||||
$(call Package/lua/Default)
|
||||
DEPENDS:=lua
|
||||
TITLE+= (examples)
|
||||
endef
|
||||
|
||||
define Package/lua-examples/description
|
||||
$(call Package/lua/Default/description)
|
||||
This package contains Lua language examples.
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99
|
||||
|
||||
ifneq ($(CONFIG_USE_EGLIBC),)
|
||||
ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP),)
|
||||
TARGET_CFLAGS += -DNO_GETLOGIN
|
||||
endif
|
||||
endif
|
||||
|
||||
define Build/Compile
|
||||
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
|
||||
CC="$(TARGET_CROSS)gcc" \
|
||||
AR="$(TARGET_CROSS)ar rcu" \
|
||||
RANLIB="$(TARGET_CROSS)ranlib" \
|
||||
INSTALL_ROOT=/usr \
|
||||
CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
|
||||
MYLDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
PKG_VERSION=$(PKG_VERSION) \
|
||||
linux
|
||||
rm -rf $(PKG_INSTALL_DIR)
|
||||
mkdir -p $(PKG_INSTALL_DIR)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
INSTALL_TOP="$(PKG_INSTALL_DIR)/usr" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Host/Configure
|
||||
$(SED) 's,"/usr/local/","$(STAGING_DIR_HOST)/",' $(HOST_BUILD_DIR)/src/luaconf.h
|
||||
endef
|
||||
|
||||
ifeq ($(HOST_OS),Darwin)
|
||||
LUA_OS:=macosx
|
||||
else
|
||||
ifeq ($(HOST_OS),FreeBSD)
|
||||
LUA_OS:=freebsd
|
||||
else
|
||||
LUA_OS:=linux
|
||||
endif
|
||||
endif
|
||||
|
||||
define Host/Compile
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) \
|
||||
CC="$(HOSTCC) -std=gnu99" \
|
||||
$(LUA_OS)
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) \
|
||||
INSTALL_TOP="$(STAGING_DIR_HOST)" \
|
||||
install
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/lua{,lib,conf}.h $(1)/usr/include/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/lauxlib.h $(1)/usr/include/
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/lnum_config.h $(1)/usr/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.{a,so*} $(1)/usr/lib/
|
||||
ln -sf liblua.so.$(PKG_VERSION) $(1)/usr/lib/liblualib.so
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_BUILD_DIR)/etc/lua.pc $(1)/usr/lib/pkgconfig/
|
||||
endef
|
||||
|
||||
define Package/liblua/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/lua/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
define Package/luac/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
define Package/lua-examples/install
|
||||
$(INSTALL_DIR) $(1)/usr/share/lua/examples
|
||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/test/*.lua \
|
||||
$(1)/usr/share/lua/examples/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,liblua))
|
||||
$(eval $(call BuildPackage,lua))
|
||||
$(eval $(call BuildPackage,luac))
|
||||
$(eval $(call BuildPackage,lua-examples))
|
||||
$(eval $(call HostBuild))
|
||||
|
||||
3736
package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch
Normal file
3736
package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch
Normal file
File diff suppressed because it is too large
Load Diff
11
package/utils/lua/patches-host/011-lnum-use-double.patch
Normal file
11
package/utils/lua/patches-host/011-lnum-use-double.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/src/lnum_config.h
|
||||
+++ b/src/lnum_config.h
|
||||
@@ -11,7 +11,7 @@
|
||||
** Default number modes
|
||||
*/
|
||||
#if (!defined LNUM_DOUBLE) && (!defined LNUM_FLOAT) && (!defined LNUM_LDOUBLE)
|
||||
-# define LNUM_FLOAT
|
||||
+# define LNUM_DOUBLE
|
||||
#endif
|
||||
#if (!defined LNUM_INT16) && (!defined LNUM_INT32) && (!defined LNUM_INT64)
|
||||
# define LNUM_INT32
|
||||
11
package/utils/lua/patches-host/015-lnum-ppc-compat.patch
Normal file
11
package/utils/lua/patches-host/015-lnum-ppc-compat.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/src/lua.h
|
||||
+++ b/src/lua.h
|
||||
@@ -79,7 +79,7 @@ typedef void * (*lua_Alloc) (void *ud, v
|
||||
* not acceptable for 5.1, maybe 5.2 onwards?
|
||||
* 9: greater than existing (5.1) type values.
|
||||
*/
|
||||
-#define LUA_TINT (-2)
|
||||
+#define LUA_TINT 9
|
||||
|
||||
#define LUA_TNIL 0
|
||||
#define LUA_TBOOLEAN 1
|
||||
@@ -0,0 +1,111 @@
|
||||
--- a/src/ldump.c
|
||||
+++ b/src/ldump.c
|
||||
@@ -67,12 +67,12 @@ static void DumpString(const TString* s,
|
||||
{
|
||||
if (s==NULL || getstr(s)==NULL)
|
||||
{
|
||||
- size_t size=0;
|
||||
+ unsigned int size=0;
|
||||
DumpVar(size,D);
|
||||
}
|
||||
else
|
||||
{
|
||||
- size_t size=s->tsv.len+1; /* include trailing '\0' */
|
||||
+ unsigned int size=s->tsv.len+1; /* include trailing '\0' */
|
||||
DumpVar(size,D);
|
||||
DumpBlock(getstr(s),size,D);
|
||||
}
|
||||
--- a/src/lundump.c
|
||||
+++ b/src/lundump.c
|
||||
@@ -25,6 +25,7 @@ typedef struct {
|
||||
ZIO* Z;
|
||||
Mbuffer* b;
|
||||
const char* name;
|
||||
+ int swap;
|
||||
} LoadState;
|
||||
|
||||
#ifdef LUAC_TRUST_BINARIES
|
||||
@@ -40,7 +41,6 @@ static void error(LoadState* S, const ch
|
||||
}
|
||||
#endif
|
||||
|
||||
-#define LoadMem(S,b,n,size) LoadBlock(S,b,(n)*(size))
|
||||
#define LoadByte(S) (lu_byte)LoadChar(S)
|
||||
#define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x))
|
||||
#define LoadVector(S,b,n,size) LoadMem(S,b,n,size)
|
||||
@@ -51,6 +51,49 @@ static void LoadBlock(LoadState* S, void
|
||||
IF (r!=0, "unexpected end");
|
||||
}
|
||||
|
||||
+static void LoadMem (LoadState* S, void* b, int n, size_t size)
|
||||
+{
|
||||
+ LoadBlock(S,b,n*size);
|
||||
+ if (S->swap)
|
||||
+ {
|
||||
+ char* p=(char*) b;
|
||||
+ char c;
|
||||
+ switch (size)
|
||||
+ {
|
||||
+ case 1:
|
||||
+ break;
|
||||
+ case 2:
|
||||
+ while (n--)
|
||||
+ {
|
||||
+ c=p[0]; p[0]=p[1]; p[1]=c;
|
||||
+ p+=2;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 4:
|
||||
+ while (n--)
|
||||
+ {
|
||||
+ c=p[0]; p[0]=p[3]; p[3]=c;
|
||||
+ c=p[1]; p[1]=p[2]; p[2]=c;
|
||||
+ p+=4;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 8:
|
||||
+ while (n--)
|
||||
+ {
|
||||
+ c=p[0]; p[0]=p[7]; p[7]=c;
|
||||
+ c=p[1]; p[1]=p[6]; p[6]=c;
|
||||
+ c=p[2]; p[2]=p[5]; p[5]=c;
|
||||
+ c=p[3]; p[3]=p[4]; p[4]=c;
|
||||
+ p+=8;
|
||||
+ }
|
||||
+ break;
|
||||
+ default:
|
||||
+ IF(1, "bad size");
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static int LoadChar(LoadState* S)
|
||||
{
|
||||
char x;
|
||||
@@ -82,7 +125,7 @@ static lua_Integer LoadInteger(LoadState
|
||||
|
||||
static TString* LoadString(LoadState* S)
|
||||
{
|
||||
- size_t size;
|
||||
+ unsigned int size;
|
||||
LoadVar(S,size);
|
||||
if (size==0)
|
||||
return NULL;
|
||||
@@ -196,6 +239,7 @@ static void LoadHeader(LoadState* S)
|
||||
char s[LUAC_HEADERSIZE];
|
||||
luaU_header(h);
|
||||
LoadBlock(S,s,LUAC_HEADERSIZE);
|
||||
+ S->swap=(s[6]!=h[6]); s[6]=h[6];
|
||||
IF (memcmp(h,s,LUAC_HEADERSIZE)!=0, "bad header");
|
||||
}
|
||||
|
||||
@@ -230,7 +274,7 @@ void luaU_header (char* h)
|
||||
*h++=(char)LUAC_FORMAT;
|
||||
*h++=(char)*(char*)&x; /* endianness */
|
||||
*h++=(char)sizeof(int);
|
||||
- *h++=(char)sizeof(size_t);
|
||||
+ *h++=(char)sizeof(unsigned int);
|
||||
*h++=(char)sizeof(Instruction);
|
||||
*h++=(char)sizeof(lua_Number);
|
||||
|
||||
49
package/utils/lua/patches-host/100-no_readline.patch
Normal file
49
package/utils/lua/patches-host/100-no_readline.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
--- a/src/luaconf.h
|
||||
+++ b/src/luaconf.h
|
||||
@@ -38,7 +38,6 @@
|
||||
#if defined(LUA_USE_LINUX)
|
||||
#define LUA_USE_POSIX
|
||||
#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
|
||||
-#define LUA_USE_READLINE /* needs some extra libraries */
|
||||
#endif
|
||||
|
||||
#if defined(LUA_USE_MACOSX)
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -17,6 +17,7 @@
|
||||
MYCFLAGS=
|
||||
MYLDFLAGS=
|
||||
MYLIBS=
|
||||
+# USE_READLINE=1
|
||||
|
||||
# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
|
||||
|
||||
@@ -75,7 +76,7 @@
|
||||
@echo "MYLIBS = $(MYLIBS)"
|
||||
|
||||
# convenience targets for popular platforms
|
||||
-
|
||||
+RFLAG=$(if $(USE_READLINE),-DLUA_USE_READLINE)
|
||||
none:
|
||||
@echo "Please choose a platform:"
|
||||
@echo " $(PLATS)"
|
||||
@@ -90,16 +91,16 @@
|
||||
$(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E"
|
||||
|
||||
freebsd:
|
||||
- $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX" MYLIBS="-Wl,-E -lreadline"
|
||||
+ $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX" $(RFLAG)" MYLIBS="-Wl,-E$(if $(USE_READLINE), -lreadline)"
|
||||
|
||||
generic:
|
||||
$(MAKE) all MYCFLAGS=
|
||||
|
||||
linux:
|
||||
- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
|
||||
+ $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX $(RFLAG)" MYLIBS="-Wl,-E -ldl $(if $(USE_READLINE), -lreadline -lhistory -lncurses)"
|
||||
|
||||
macosx:
|
||||
- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"
|
||||
+ $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX $(if $(USE_READLINE), MYLIBS="-lreadline")
|
||||
# use this on Mac OS X 10.3-
|
||||
# $(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX
|
||||
|
||||
3736
package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch
Normal file
3736
package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch
Normal file
File diff suppressed because it is too large
Load Diff
11
package/utils/lua/patches/011-lnum-use-double.patch
Normal file
11
package/utils/lua/patches/011-lnum-use-double.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/src/lnum_config.h
|
||||
+++ b/src/lnum_config.h
|
||||
@@ -11,7 +11,7 @@
|
||||
** Default number modes
|
||||
*/
|
||||
#if (!defined LNUM_DOUBLE) && (!defined LNUM_FLOAT) && (!defined LNUM_LDOUBLE)
|
||||
-# define LNUM_FLOAT
|
||||
+# define LNUM_DOUBLE
|
||||
#endif
|
||||
#if (!defined LNUM_INT16) && (!defined LNUM_INT32) && (!defined LNUM_INT64)
|
||||
# define LNUM_INT32
|
||||
11
package/utils/lua/patches/015-lnum-ppc-compat.patch
Normal file
11
package/utils/lua/patches/015-lnum-ppc-compat.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/src/lua.h
|
||||
+++ b/src/lua.h
|
||||
@@ -79,7 +79,7 @@ typedef void * (*lua_Alloc) (void *ud, v
|
||||
* not acceptable for 5.1, maybe 5.2 onwards?
|
||||
* 9: greater than existing (5.1) type values.
|
||||
*/
|
||||
-#define LUA_TINT (-2)
|
||||
+#define LUA_TINT 9
|
||||
|
||||
#define LUA_TNIL 0
|
||||
#define LUA_TBOOLEAN 1
|
||||
140
package/utils/lua/patches/020-shared_liblua.patch
Normal file
140
package/utils/lua/patches/020-shared_liblua.patch
Normal file
@@ -0,0 +1,140 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -42,8 +42,8 @@ PLATS= aix ansi bsd freebsd generic linu
|
||||
|
||||
# What to install.
|
||||
TO_BIN= lua luac
|
||||
-TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
|
||||
-TO_LIB= liblua.a
|
||||
+TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp lnum_config.h
|
||||
+TO_LIB= liblua.a liblua.so.$R
|
||||
TO_MAN= lua.1 luac.1
|
||||
|
||||
# Lua version and release.
|
||||
@@ -63,6 +63,7 @@ install: dummy
|
||||
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
||||
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
||||
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
||||
+ ln -s liblua.so.$R $(INSTALL_LIB)/liblua.so
|
||||
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
||||
|
||||
ranlib:
|
||||
--- a/src/ldo.h
|
||||
+++ b/src/ldo.h
|
||||
@@ -46,7 +46,7 @@ LUAI_FUNC int luaD_pcall (lua_State *L,
|
||||
LUAI_FUNC int luaD_poscall (lua_State *L, StkId firstResult);
|
||||
LUAI_FUNC void luaD_reallocCI (lua_State *L, int newsize);
|
||||
LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize);
|
||||
-LUAI_FUNC void luaD_growstack (lua_State *L, int n);
|
||||
+LUA_API void luaD_growstack (lua_State *L, int n);
|
||||
|
||||
LUAI_FUNC void luaD_throw (lua_State *L, int errcode);
|
||||
LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud);
|
||||
--- a/src/lfunc.h
|
||||
+++ b/src/lfunc.h
|
||||
@@ -18,7 +18,7 @@
|
||||
cast(int, sizeof(TValue *)*((n)-1)))
|
||||
|
||||
|
||||
-LUAI_FUNC Proto *luaF_newproto (lua_State *L);
|
||||
+LUA_API Proto *luaF_newproto (lua_State *L);
|
||||
LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems, Table *e);
|
||||
LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems, Table *e);
|
||||
LUAI_FUNC UpVal *luaF_newupval (lua_State *L);
|
||||
--- a/src/lmem.h
|
||||
+++ b/src/lmem.h
|
||||
@@ -38,9 +38,9 @@
|
||||
((v)=cast(t *, luaM_reallocv(L, v, oldn, n, sizeof(t))))
|
||||
|
||||
|
||||
-LUAI_FUNC void *luaM_realloc_ (lua_State *L, void *block, size_t oldsize,
|
||||
+LUA_API void *luaM_realloc_ (lua_State *L, void *block, size_t oldsize,
|
||||
size_t size);
|
||||
-LUAI_FUNC void *luaM_toobig (lua_State *L);
|
||||
+LUA_API void *luaM_toobig (lua_State *L);
|
||||
LUAI_FUNC void *luaM_growaux_ (lua_State *L, void *block, int *size,
|
||||
size_t size_elem, int limit,
|
||||
const char *errormsg);
|
||||
--- a/src/lstring.h
|
||||
+++ b/src/lstring.h
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
LUAI_FUNC void luaS_resize (lua_State *L, int newsize);
|
||||
LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e);
|
||||
-LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l);
|
||||
+LUA_API TString *luaS_newlstr (lua_State *L, const char *str, size_t l);
|
||||
|
||||
|
||||
#endif
|
||||
--- a/src/lundump.h
|
||||
+++ b/src/lundump.h
|
||||
@@ -17,7 +17,7 @@ LUAI_FUNC Proto* luaU_undump (lua_State*
|
||||
LUAI_FUNC void luaU_header (char* h);
|
||||
|
||||
/* dump one chunk; from ldump.c */
|
||||
-LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip);
|
||||
+LUA_API int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip);
|
||||
|
||||
#ifdef luac_c
|
||||
/* print one chunk; from print.c */
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -23,6 +23,7 @@ MYLIBS=
|
||||
PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
|
||||
|
||||
LUA_A= liblua.a
|
||||
+LUA_SO= liblua.so
|
||||
CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
|
||||
lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
|
||||
lundump.o lvm.o lzio.o lnum.o
|
||||
@@ -33,11 +34,12 @@ LUA_T= lua
|
||||
LUA_O= lua.o
|
||||
|
||||
LUAC_T= luac
|
||||
-LUAC_O= luac.o print.o
|
||||
+LUAC_O= luac.o print.o lopcodes.o
|
||||
|
||||
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
|
||||
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
||||
+ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
||||
ALL_A= $(LUA_A)
|
||||
+ALL_SO= $(LUA_SO)
|
||||
|
||||
default: $(PLAT)
|
||||
|
||||
@@ -47,14 +49,23 @@ o: $(ALL_O)
|
||||
|
||||
a: $(ALL_A)
|
||||
|
||||
+so: $(ALL_SO)
|
||||
+
|
||||
$(LUA_A): $(CORE_O) $(LIB_O)
|
||||
$(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
|
||||
$(RANLIB) $@
|
||||
|
||||
-$(LUA_T): $(LUA_O) $(LUA_A)
|
||||
- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
||||
+$(LUA_SO): $(CORE_O) $(LIB_O)
|
||||
+ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
||||
+ ln -fs $@.$(PKG_VERSION) $@
|
||||
+
|
||||
+$(LUA_T): $(LUA_O) $(LUA_SO)
|
||||
+ $(CC) -o $@ -L. -llua $(MYLDFLAGS) $(LUA_O) $(LIBS)
|
||||
+
|
||||
+$(LUAC_T): $(LUAC_O) $(LUA_SO)
|
||||
+ $(CC) -o $@ -L. -llua $(MYLDFLAGS) $(LUAC_O) $(LIBS)
|
||||
|
||||
-$(LUAC_T): $(LUAC_O) $(LUA_A)
|
||||
+$(LUAC_T)-host: $(LUAC_O) $(LUA_A)
|
||||
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|
||||
|
||||
clean:
|
||||
@@ -96,7 +107,7 @@ generic:
|
||||
$(MAKE) all MYCFLAGS=
|
||||
|
||||
linux:
|
||||
- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
|
||||
+ $(MAKE) all MYCFLAGS+=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
|
||||
|
||||
macosx:
|
||||
$(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"
|
||||
111
package/utils/lua/patches/030-archindependent-bytecode.patch
Normal file
111
package/utils/lua/patches/030-archindependent-bytecode.patch
Normal file
@@ -0,0 +1,111 @@
|
||||
--- a/src/ldump.c
|
||||
+++ b/src/ldump.c
|
||||
@@ -67,12 +67,12 @@ static void DumpString(const TString* s,
|
||||
{
|
||||
if (s==NULL || getstr(s)==NULL)
|
||||
{
|
||||
- size_t size=0;
|
||||
+ unsigned int size=0;
|
||||
DumpVar(size,D);
|
||||
}
|
||||
else
|
||||
{
|
||||
- size_t size=s->tsv.len+1; /* include trailing '\0' */
|
||||
+ unsigned int size=s->tsv.len+1; /* include trailing '\0' */
|
||||
DumpVar(size,D);
|
||||
DumpBlock(getstr(s),size,D);
|
||||
}
|
||||
--- a/src/lundump.c
|
||||
+++ b/src/lundump.c
|
||||
@@ -25,6 +25,7 @@ typedef struct {
|
||||
ZIO* Z;
|
||||
Mbuffer* b;
|
||||
const char* name;
|
||||
+ int swap;
|
||||
} LoadState;
|
||||
|
||||
#ifdef LUAC_TRUST_BINARIES
|
||||
@@ -40,7 +41,6 @@ static void error(LoadState* S, const ch
|
||||
}
|
||||
#endif
|
||||
|
||||
-#define LoadMem(S,b,n,size) LoadBlock(S,b,(n)*(size))
|
||||
#define LoadByte(S) (lu_byte)LoadChar(S)
|
||||
#define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x))
|
||||
#define LoadVector(S,b,n,size) LoadMem(S,b,n,size)
|
||||
@@ -51,6 +51,49 @@ static void LoadBlock(LoadState* S, void
|
||||
IF (r!=0, "unexpected end");
|
||||
}
|
||||
|
||||
+static void LoadMem (LoadState* S, void* b, int n, size_t size)
|
||||
+{
|
||||
+ LoadBlock(S,b,n*size);
|
||||
+ if (S->swap)
|
||||
+ {
|
||||
+ char* p=(char*) b;
|
||||
+ char c;
|
||||
+ switch (size)
|
||||
+ {
|
||||
+ case 1:
|
||||
+ break;
|
||||
+ case 2:
|
||||
+ while (n--)
|
||||
+ {
|
||||
+ c=p[0]; p[0]=p[1]; p[1]=c;
|
||||
+ p+=2;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 4:
|
||||
+ while (n--)
|
||||
+ {
|
||||
+ c=p[0]; p[0]=p[3]; p[3]=c;
|
||||
+ c=p[1]; p[1]=p[2]; p[2]=c;
|
||||
+ p+=4;
|
||||
+ }
|
||||
+ break;
|
||||
+ case 8:
|
||||
+ while (n--)
|
||||
+ {
|
||||
+ c=p[0]; p[0]=p[7]; p[7]=c;
|
||||
+ c=p[1]; p[1]=p[6]; p[6]=c;
|
||||
+ c=p[2]; p[2]=p[5]; p[5]=c;
|
||||
+ c=p[3]; p[3]=p[4]; p[4]=c;
|
||||
+ p+=8;
|
||||
+ }
|
||||
+ break;
|
||||
+ default:
|
||||
+ IF(1, "bad size");
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static int LoadChar(LoadState* S)
|
||||
{
|
||||
char x;
|
||||
@@ -82,7 +125,7 @@ static lua_Integer LoadInteger(LoadState
|
||||
|
||||
static TString* LoadString(LoadState* S)
|
||||
{
|
||||
- size_t size;
|
||||
+ unsigned int size;
|
||||
LoadVar(S,size);
|
||||
if (size==0)
|
||||
return NULL;
|
||||
@@ -196,6 +239,7 @@ static void LoadHeader(LoadState* S)
|
||||
char s[LUAC_HEADERSIZE];
|
||||
luaU_header(h);
|
||||
LoadBlock(S,s,LUAC_HEADERSIZE);
|
||||
+ S->swap=(s[6]!=h[6]); s[6]=h[6];
|
||||
IF (memcmp(h,s,LUAC_HEADERSIZE)!=0, "bad header");
|
||||
}
|
||||
|
||||
@@ -230,7 +274,7 @@ void luaU_header (char* h)
|
||||
*h++=(char)LUAC_FORMAT;
|
||||
*h++=(char)*(char*)&x; /* endianness */
|
||||
*h++=(char)sizeof(int);
|
||||
- *h++=(char)sizeof(size_t);
|
||||
+ *h++=(char)sizeof(unsigned int);
|
||||
*h++=(char)sizeof(Instruction);
|
||||
*h++=(char)sizeof(lua_Number);
|
||||
|
||||
49
package/utils/lua/patches/100-no_readline.patch
Normal file
49
package/utils/lua/patches/100-no_readline.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
--- a/src/luaconf.h
|
||||
+++ b/src/luaconf.h
|
||||
@@ -38,7 +38,6 @@
|
||||
#if defined(LUA_USE_LINUX)
|
||||
#define LUA_USE_POSIX
|
||||
#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
|
||||
-#define LUA_USE_READLINE /* needs some extra libraries */
|
||||
#endif
|
||||
|
||||
#if defined(LUA_USE_MACOSX)
|
||||
--- a/src/Makefile
|
||||
+++ b/src/Makefile
|
||||
@@ -17,6 +17,7 @@ LIBS= -lm $(MYLIBS)
|
||||
MYCFLAGS=
|
||||
MYLDFLAGS=
|
||||
MYLIBS=
|
||||
+# USE_READLINE=1
|
||||
|
||||
# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
|
||||
|
||||
@@ -86,7 +87,7 @@ echo:
|
||||
@echo "MYLIBS = $(MYLIBS)"
|
||||
|
||||
# convenience targets for popular platforms
|
||||
-
|
||||
+RFLAG=$(if $(USE_READLINE),-DLUA_USE_READLINE)
|
||||
none:
|
||||
@echo "Please choose a platform:"
|
||||
@echo " $(PLATS)"
|
||||
@@ -101,16 +102,16 @@ bsd:
|
||||
$(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E"
|
||||
|
||||
freebsd:
|
||||
- $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX" MYLIBS="-Wl,-E -lreadline"
|
||||
+ $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX $(RFLAG)" MYLIBS="-Wl,-E$(if $(USE_READLINE), -lreadline)"
|
||||
|
||||
generic:
|
||||
$(MAKE) all MYCFLAGS=
|
||||
|
||||
linux:
|
||||
- $(MAKE) all MYCFLAGS+=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
|
||||
+ $(MAKE) all MYCFLAGS+="-DLUA_USE_LINUX $(RFLAG)" MYLIBS="-Wl,-E -ldl $(if $(USE_READLINE), -lreadline -lhistory -lncurses)"
|
||||
|
||||
macosx:
|
||||
- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"
|
||||
+ $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX $(if $(USE_READLINE), MYLIBS="-lreadline")
|
||||
# use this on Mac OS X 10.3-
|
||||
# $(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX
|
||||
|
||||
15
package/utils/lua/patches/200-lua-path.patch
Normal file
15
package/utils/lua/patches/200-lua-path.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
--- a/src/luaconf.h
|
||||
+++ b/src/luaconf.h
|
||||
@@ -95,9 +95,9 @@
|
||||
".\\?.dll;" LUA_CDIR"?.dll;" LUA_CDIR"loadall.dll"
|
||||
|
||||
#else
|
||||
-#define LUA_ROOT "/usr/local/"
|
||||
-#define LUA_LDIR LUA_ROOT "share/lua/5.1/"
|
||||
-#define LUA_CDIR LUA_ROOT "lib/lua/5.1/"
|
||||
+#define LUA_ROOT "/usr/"
|
||||
+#define LUA_LDIR LUA_ROOT "share/lua/"
|
||||
+#define LUA_CDIR LUA_ROOT "lib/lua/"
|
||||
#define LUA_PATH_DEFAULT \
|
||||
"./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \
|
||||
LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua"
|
||||
363
package/utils/lua/patches/300-opcode_performance.patch
Normal file
363
package/utils/lua/patches/300-opcode_performance.patch
Normal file
@@ -0,0 +1,363 @@
|
||||
--- a/src/lvm.c
|
||||
+++ b/src/lvm.c
|
||||
@@ -31,6 +31,9 @@
|
||||
/* limit for table tag-method chains (to avoid loops) */
|
||||
#define MAXTAGLOOP 100
|
||||
|
||||
+#ifdef __GNUC__
|
||||
+#define COMPUTED_GOTO 1
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* If 'obj' is a string, it is tried to be interpreted as a number.
|
||||
@@ -566,12 +569,63 @@ static inline int arith_mode( const TVal
|
||||
ARITH_OP1_END
|
||||
#endif
|
||||
|
||||
+#ifdef COMPUTED_GOTO
|
||||
+#define OPCODE_TARGET(op) DO_OP_##op:
|
||||
+#define CALL_OPCODE(op) goto *opcodes[op];
|
||||
+#define OPCODE_PTR(op) [OP_##op] = &&DO_OP_##op
|
||||
+#else
|
||||
+#define OPCODE_TARGET(op) case OP_##op:
|
||||
+#define CALL_OPCODE(op) switch (op)
|
||||
+#endif
|
||||
+
|
||||
|
||||
void luaV_execute (lua_State *L, int nexeccalls) {
|
||||
LClosure *cl;
|
||||
StkId base;
|
||||
TValue *k;
|
||||
const Instruction *pc;
|
||||
+#ifdef COMPUTED_GOTO
|
||||
+ static const void *opcodes[] = {
|
||||
+ OPCODE_PTR(MOVE),
|
||||
+ OPCODE_PTR(LOADK),
|
||||
+ OPCODE_PTR(LOADBOOL),
|
||||
+ OPCODE_PTR(LOADNIL),
|
||||
+ OPCODE_PTR(GETUPVAL),
|
||||
+ OPCODE_PTR(GETGLOBAL),
|
||||
+ OPCODE_PTR(GETTABLE),
|
||||
+ OPCODE_PTR(SETGLOBAL),
|
||||
+ OPCODE_PTR(SETUPVAL),
|
||||
+ OPCODE_PTR(SETTABLE),
|
||||
+ OPCODE_PTR(NEWTABLE),
|
||||
+ OPCODE_PTR(SELF),
|
||||
+ OPCODE_PTR(ADD),
|
||||
+ OPCODE_PTR(SUB),
|
||||
+ OPCODE_PTR(MUL),
|
||||
+ OPCODE_PTR(DIV),
|
||||
+ OPCODE_PTR(MOD),
|
||||
+ OPCODE_PTR(POW),
|
||||
+ OPCODE_PTR(UNM),
|
||||
+ OPCODE_PTR(NOT),
|
||||
+ OPCODE_PTR(LEN),
|
||||
+ OPCODE_PTR(CONCAT),
|
||||
+ OPCODE_PTR(JMP),
|
||||
+ OPCODE_PTR(EQ),
|
||||
+ OPCODE_PTR(LT),
|
||||
+ OPCODE_PTR(LE),
|
||||
+ OPCODE_PTR(TEST),
|
||||
+ OPCODE_PTR(TESTSET),
|
||||
+ OPCODE_PTR(CALL),
|
||||
+ OPCODE_PTR(TAILCALL),
|
||||
+ OPCODE_PTR(RETURN),
|
||||
+ OPCODE_PTR(FORLOOP),
|
||||
+ OPCODE_PTR(FORPREP),
|
||||
+ OPCODE_PTR(TFORLOOP),
|
||||
+ OPCODE_PTR(SETLIST),
|
||||
+ OPCODE_PTR(CLOSE),
|
||||
+ OPCODE_PTR(CLOSURE),
|
||||
+ OPCODE_PTR(VARARG)
|
||||
+ };
|
||||
+#endif
|
||||
reentry: /* entry point */
|
||||
lua_assert(isLua(L->ci));
|
||||
pc = L->savedpc;
|
||||
@@ -596,33 +650,33 @@ void luaV_execute (lua_State *L, int nex
|
||||
lua_assert(base == L->base && L->base == L->ci->base);
|
||||
lua_assert(base <= L->top && L->top <= L->stack + L->stacksize);
|
||||
lua_assert(L->top == L->ci->top || luaG_checkopenop(i));
|
||||
- switch (GET_OPCODE(i)) {
|
||||
- case OP_MOVE: {
|
||||
+ CALL_OPCODE(GET_OPCODE(i)) {
|
||||
+ OPCODE_TARGET(MOVE) {
|
||||
setobjs2s(L, ra, RB(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_LOADK: {
|
||||
+ OPCODE_TARGET(LOADK) {
|
||||
setobj2s(L, ra, KBx(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_LOADBOOL: {
|
||||
+ OPCODE_TARGET(LOADBOOL) {
|
||||
setbvalue(ra, GETARG_B(i));
|
||||
if (GETARG_C(i)) pc++; /* skip next instruction (if C) */
|
||||
continue;
|
||||
}
|
||||
- case OP_LOADNIL: {
|
||||
+ OPCODE_TARGET(LOADNIL) {
|
||||
TValue *rb = RB(i);
|
||||
do {
|
||||
setnilvalue(rb--);
|
||||
} while (rb >= ra);
|
||||
continue;
|
||||
}
|
||||
- case OP_GETUPVAL: {
|
||||
+ OPCODE_TARGET(GETUPVAL) {
|
||||
int b = GETARG_B(i);
|
||||
setobj2s(L, ra, cl->upvals[b]->v);
|
||||
continue;
|
||||
}
|
||||
- case OP_GETGLOBAL: {
|
||||
+ OPCODE_TARGET(GETGLOBAL) {
|
||||
TValue g;
|
||||
TValue *rb = KBx(i);
|
||||
sethvalue(L, &g, cl->env);
|
||||
@@ -630,88 +684,88 @@ void luaV_execute (lua_State *L, int nex
|
||||
Protect(luaV_gettable(L, &g, rb, ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_GETTABLE: {
|
||||
+ OPCODE_TARGET(GETTABLE) {
|
||||
Protect(luaV_gettable(L, RB(i), RKC(i), ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_SETGLOBAL: {
|
||||
+ OPCODE_TARGET(SETGLOBAL) {
|
||||
TValue g;
|
||||
sethvalue(L, &g, cl->env);
|
||||
lua_assert(ttisstring(KBx(i)));
|
||||
Protect(luaV_settable(L, &g, KBx(i), ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_SETUPVAL: {
|
||||
+ OPCODE_TARGET(SETUPVAL) {
|
||||
UpVal *uv = cl->upvals[GETARG_B(i)];
|
||||
setobj(L, uv->v, ra);
|
||||
luaC_barrier(L, uv, ra);
|
||||
continue;
|
||||
}
|
||||
- case OP_SETTABLE: {
|
||||
+ OPCODE_TARGET(SETTABLE) {
|
||||
Protect(luaV_settable(L, ra, RKB(i), RKC(i)));
|
||||
continue;
|
||||
}
|
||||
- case OP_NEWTABLE: {
|
||||
+ OPCODE_TARGET(NEWTABLE) {
|
||||
int b = GETARG_B(i);
|
||||
int c = GETARG_C(i);
|
||||
sethvalue(L, ra, luaH_new(L, luaO_fb2int(b), luaO_fb2int(c)));
|
||||
Protect(luaC_checkGC(L));
|
||||
continue;
|
||||
}
|
||||
- case OP_SELF: {
|
||||
+ OPCODE_TARGET(SELF) {
|
||||
StkId rb = RB(i);
|
||||
setobjs2s(L, ra+1, rb);
|
||||
Protect(luaV_gettable(L, rb, RKC(i), ra));
|
||||
continue;
|
||||
}
|
||||
- case OP_ADD: {
|
||||
+ OPCODE_TARGET(ADD) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue( luai_numadd, try_addint, luai_vectadd );
|
||||
Protect(Arith(L, ra, rb, rc, TM_ADD)); \
|
||||
continue;
|
||||
}
|
||||
- case OP_SUB: {
|
||||
+ OPCODE_TARGET(SUB) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue( luai_numsub, try_subint, luai_vectsub );
|
||||
Protect(Arith(L, ra, rb, rc, TM_SUB));
|
||||
continue;
|
||||
}
|
||||
- case OP_MUL: {
|
||||
+ OPCODE_TARGET(MUL) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue(luai_nummul, try_mulint, luai_vectmul);
|
||||
Protect(Arith(L, ra, rb, rc, TM_MUL));
|
||||
continue;
|
||||
}
|
||||
- case OP_DIV: {
|
||||
+ OPCODE_TARGET(DIV) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue(luai_numdiv, try_divint, luai_vectdiv);
|
||||
Protect(Arith(L, ra, rb, rc, TM_DIV));
|
||||
continue;
|
||||
}
|
||||
- case OP_MOD: {
|
||||
+ OPCODE_TARGET(MOD) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue_scalar(luai_nummod, try_modint); /* scalars only */
|
||||
Protect(Arith(L, ra, rb, rc, TM_MOD));
|
||||
continue;
|
||||
}
|
||||
- case OP_POW: {
|
||||
+ OPCODE_TARGET(POW) {
|
||||
TValue *rb = RKB(i), *rc= RKC(i);
|
||||
arith_op_continue(luai_numpow, try_powint, luai_vectpow);
|
||||
Protect(Arith(L, ra, rb, rc, TM_POW));
|
||||
continue;
|
||||
}
|
||||
- case OP_UNM: {
|
||||
+ OPCODE_TARGET(UNM) {
|
||||
TValue *rb = RB(i);
|
||||
arith_op1_continue(luai_numunm, try_unmint, luai_vectunm);
|
||||
Protect(Arith(L, ra, rb, rb, TM_UNM));
|
||||
continue;
|
||||
}
|
||||
- case OP_NOT: {
|
||||
+ OPCODE_TARGET(NOT) {
|
||||
int res = l_isfalse(RB(i)); /* next assignment may change this value */
|
||||
setbvalue(ra, res);
|
||||
continue;
|
||||
}
|
||||
- case OP_LEN: {
|
||||
+ OPCODE_TARGET(LEN) {
|
||||
const TValue *rb = RB(i);
|
||||
switch (ttype(rb)) {
|
||||
case LUA_TTABLE: {
|
||||
@@ -731,18 +785,18 @@ void luaV_execute (lua_State *L, int nex
|
||||
}
|
||||
continue;
|
||||
}
|
||||
- case OP_CONCAT: {
|
||||
+ OPCODE_TARGET(CONCAT) {
|
||||
int b = GETARG_B(i);
|
||||
int c = GETARG_C(i);
|
||||
Protect(luaV_concat(L, c-b+1, c); luaC_checkGC(L));
|
||||
setobjs2s(L, RA(i), base+b);
|
||||
continue;
|
||||
}
|
||||
- case OP_JMP: {
|
||||
+ OPCODE_TARGET(JMP) {
|
||||
dojump(L, pc, GETARG_sBx(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_EQ: {
|
||||
+ OPCODE_TARGET(EQ) {
|
||||
TValue *rb = RKB(i);
|
||||
TValue *rc = RKC(i);
|
||||
Protect(
|
||||
@@ -752,7 +806,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_LT: {
|
||||
+ OPCODE_TARGET(LT) {
|
||||
Protect(
|
||||
if (luaV_lessthan(L, RKB(i), RKC(i)) == GETARG_A(i))
|
||||
dojump(L, pc, GETARG_sBx(*pc));
|
||||
@@ -760,7 +814,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_LE: {
|
||||
+ OPCODE_TARGET(LE) {
|
||||
Protect(
|
||||
if (lessequal(L, RKB(i), RKC(i)) == GETARG_A(i))
|
||||
dojump(L, pc, GETARG_sBx(*pc));
|
||||
@@ -768,13 +822,13 @@ void luaV_execute (lua_State *L, int nex
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_TEST: {
|
||||
+ OPCODE_TARGET(TEST) {
|
||||
if (l_isfalse(ra) != GETARG_C(i))
|
||||
dojump(L, pc, GETARG_sBx(*pc));
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_TESTSET: {
|
||||
+ OPCODE_TARGET(TESTSET) {
|
||||
TValue *rb = RB(i);
|
||||
if (l_isfalse(rb) != GETARG_C(i)) {
|
||||
setobjs2s(L, ra, rb);
|
||||
@@ -783,7 +837,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_CALL: {
|
||||
+ OPCODE_TARGET(CALL) {
|
||||
int b = GETARG_B(i);
|
||||
int nresults = GETARG_C(i) - 1;
|
||||
if (b != 0) L->top = ra+b; /* else previous instruction set top */
|
||||
@@ -804,7 +858,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
}
|
||||
}
|
||||
}
|
||||
- case OP_TAILCALL: {
|
||||
+ OPCODE_TARGET(TAILCALL) {
|
||||
int b = GETARG_B(i);
|
||||
if (b != 0) L->top = ra+b; /* else previous instruction set top */
|
||||
L->savedpc = pc;
|
||||
@@ -836,7 +890,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
}
|
||||
}
|
||||
}
|
||||
- case OP_RETURN: {
|
||||
+ OPCODE_TARGET(RETURN) {
|
||||
int b = GETARG_B(i);
|
||||
if (b != 0) L->top = ra+b-1;
|
||||
if (L->openupval) luaF_close(L, base);
|
||||
@@ -851,7 +905,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
goto reentry;
|
||||
}
|
||||
}
|
||||
- case OP_FORLOOP: {
|
||||
+ OPCODE_TARGET(FORLOOP) {
|
||||
/* If start,step and limit are all integers, we don't need to check
|
||||
* against overflow in the looping.
|
||||
*/
|
||||
@@ -879,7 +933,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
}
|
||||
continue;
|
||||
}
|
||||
- case OP_FORPREP: {
|
||||
+ OPCODE_TARGET(FORPREP) {
|
||||
const TValue *init = ra;
|
||||
const TValue *plimit = ra+1;
|
||||
const TValue *pstep = ra+2;
|
||||
@@ -902,7 +956,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
dojump(L, pc, GETARG_sBx(i));
|
||||
continue;
|
||||
}
|
||||
- case OP_TFORLOOP: {
|
||||
+ OPCODE_TARGET(TFORLOOP) {
|
||||
StkId cb = ra + 3; /* call base */
|
||||
setobjs2s(L, cb+2, ra+2);
|
||||
setobjs2s(L, cb+1, ra+1);
|
||||
@@ -918,7 +972,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
pc++;
|
||||
continue;
|
||||
}
|
||||
- case OP_SETLIST: {
|
||||
+ OPCODE_TARGET(SETLIST) {
|
||||
int n = GETARG_B(i);
|
||||
int c = GETARG_C(i);
|
||||
int last;
|
||||
@@ -940,11 +994,11 @@ void luaV_execute (lua_State *L, int nex
|
||||
}
|
||||
continue;
|
||||
}
|
||||
- case OP_CLOSE: {
|
||||
+ OPCODE_TARGET(CLOSE) {
|
||||
luaF_close(L, ra);
|
||||
continue;
|
||||
}
|
||||
- case OP_CLOSURE: {
|
||||
+ OPCODE_TARGET(CLOSURE) {
|
||||
Proto *p;
|
||||
Closure *ncl;
|
||||
int nup, j;
|
||||
@@ -964,7 +1018,7 @@ void luaV_execute (lua_State *L, int nex
|
||||
Protect(luaC_checkGC(L));
|
||||
continue;
|
||||
}
|
||||
- case OP_VARARG: {
|
||||
+ OPCODE_TARGET(VARARG) {
|
||||
int b = GETARG_B(i) - 1;
|
||||
int j;
|
||||
CallInfo *ci = L->ci;
|
||||
35
package/utils/mkelfimage/Makefile
Normal file
35
package/utils/mkelfimage/Makefile
Normal file
@@ -0,0 +1,35 @@
|
||||
#
|
||||
# Copyright (C) 2006 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mkelfimage
|
||||
PKG_VERSION:=2.7
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
|
||||
PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/m/mkelfimage/
|
||||
PKG_MD5SUM:=e505cb87e9c0cdc44cf03d2c4ea8c74b
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/mkelfimage
|
||||
SECTION:=base
|
||||
CATEGORY:=Base system
|
||||
TITLE:=mkelfimage
|
||||
HIDDEN:=1
|
||||
DEPENDS:=@i386
|
||||
DEFAULT:=y if TARGET_x86
|
||||
endef
|
||||
|
||||
CONFIGURE_VARS += AS="$(TARGET_CROSS)as"
|
||||
MAKE_FLAGS += HOST_CC="$(HOSTCC)" DEFS="-I$(STAGING_DIR_HOST)/include"
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/objdir/sbin/mkelfImage $(STAGING_DIR_HOST)/bin
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,mkelfimage))
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user