build system overhaul
This commit is contained in:
parent
8f8f268cfd
commit
7d219aab70
177 changed files with 23539 additions and 4123 deletions
104
Config.in
104
Config.in
|
@ -13,7 +13,7 @@ menu "Busybox Settings"
|
||||||
|
|
||||||
menu "General Configuration"
|
menu "General Configuration"
|
||||||
|
|
||||||
config CONFIG_NITPICK
|
config NITPICK
|
||||||
bool "See lots more (probably unnecessary) configuration options."
|
bool "See lots more (probably unnecessary) configuration options."
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -29,7 +29,7 @@ config CONFIG_NITPICK
|
||||||
|
|
||||||
You have been warned.
|
You have been warned.
|
||||||
|
|
||||||
config CONFIG_DESKTOP
|
config DESKTOP
|
||||||
bool "Enable options for full-blown desktop systems."
|
bool "Enable options for full-blown desktop systems."
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -39,8 +39,8 @@ config CONFIG_DESKTOP
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Buffer allocation policy"
|
prompt "Buffer allocation policy"
|
||||||
default CONFIG_FEATURE_BUFFERS_USE_MALLOC
|
default FEATURE_BUFFERS_USE_MALLOC
|
||||||
depends on CONFIG_NITPICK
|
depends on NITPICK
|
||||||
help
|
help
|
||||||
There are 3 ways BusyBox can handle buffer allocations:
|
There are 3 ways BusyBox can handle buffer allocations:
|
||||||
- Use malloc. This costs code size for the call to xmalloc.
|
- Use malloc. This costs code size for the call to xmalloc.
|
||||||
|
@ -51,18 +51,18 @@ choice
|
||||||
behavior was the only one available for BusyBox versions 0.48 and
|
behavior was the only one available for BusyBox versions 0.48 and
|
||||||
earlier.
|
earlier.
|
||||||
|
|
||||||
config CONFIG_FEATURE_BUFFERS_USE_MALLOC
|
config FEATURE_BUFFERS_USE_MALLOC
|
||||||
bool "Allocate with Malloc"
|
bool "Allocate with Malloc"
|
||||||
|
|
||||||
config CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
config FEATURE_BUFFERS_GO_ON_STACK
|
||||||
bool "Allocate on the Stack"
|
bool "Allocate on the Stack"
|
||||||
|
|
||||||
config CONFIG_FEATURE_BUFFERS_GO_IN_BSS
|
config FEATURE_BUFFERS_GO_IN_BSS
|
||||||
bool "Allocate in the .bss section"
|
bool "Allocate in the .bss section"
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config CONFIG_SHOW_USAGE
|
config SHOW_USAGE
|
||||||
bool "Show terse applet usage messages"
|
bool "Show terse applet usage messages"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
|
@ -71,20 +71,20 @@ config CONFIG_SHOW_USAGE
|
||||||
messages if you say no here.
|
messages if you say no here.
|
||||||
This will save you up to 7k.
|
This will save you up to 7k.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VERBOSE_USAGE
|
config FEATURE_VERBOSE_USAGE
|
||||||
bool "Show verbose applet usage messages"
|
bool "Show verbose applet usage messages"
|
||||||
default n
|
default n
|
||||||
select CONFIG_SHOW_USAGE
|
select SHOW_USAGE
|
||||||
help
|
help
|
||||||
All BusyBox applets will show more verbose help messages when
|
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 is invoked with --help. This will add a lot of text to the
|
||||||
busybox binary. In the default configuration, this will add about
|
busybox binary. In the default configuration, this will add about
|
||||||
13k, but it can add much more depending on your configuration.
|
13k, but it can add much more depending on your configuration.
|
||||||
|
|
||||||
config CONFIG_FEATURE_COMPRESS_USAGE
|
config FEATURE_COMPRESS_USAGE
|
||||||
bool "Store applet usage messages in compressed form"
|
bool "Store applet usage messages in compressed form"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_SHOW_USAGE
|
depends on SHOW_USAGE
|
||||||
help
|
help
|
||||||
Store usage messages in compressed form, uncompress them on-the-fly
|
Store usage messages in compressed form, uncompress them on-the-fly
|
||||||
when <applet> --help is called.
|
when <applet> --help is called.
|
||||||
|
@ -95,7 +95,7 @@ config CONFIG_FEATURE_COMPRESS_USAGE
|
||||||
and have very little memory, this might not be a win. Otherwise,
|
and have very little memory, this might not be a win. Otherwise,
|
||||||
you probably want this.
|
you probably want this.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INSTALLER
|
config FEATURE_INSTALLER
|
||||||
bool "Support --install [-s] to install applet links at runtime"
|
bool "Support --install [-s] to install applet links at runtime"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -104,14 +104,14 @@ config CONFIG_FEATURE_INSTALLER
|
||||||
applets that are compiled into busybox. This feature requires the
|
applets that are compiled into busybox. This feature requires the
|
||||||
/proc filesystem.
|
/proc filesystem.
|
||||||
|
|
||||||
config CONFIG_LOCALE_SUPPORT
|
config LOCALE_SUPPORT
|
||||||
bool "Enable locale support (system needs locale for this to work)"
|
bool "Enable locale support (system needs locale for this to work)"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Enable this if your system has locale support and you would like
|
Enable this if your system has locale support and you would like
|
||||||
busybox to support locale settings.
|
busybox to support locale settings.
|
||||||
|
|
||||||
config CONFIG_GETOPT_LONG
|
config GETOPT_LONG
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
# bool "Enable support for --long-options"
|
# bool "Enable support for --long-options"
|
||||||
|
@ -120,7 +120,7 @@ config CONFIG_GETOPT_LONG
|
||||||
# Enable this if you want busybox applets to use the gnu --long-option
|
# Enable this if you want busybox applets to use the gnu --long-option
|
||||||
# style, in addition to single character -a -b -c style options.
|
# style, in addition to single character -a -b -c style options.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DEVPTS
|
config FEATURE_DEVPTS
|
||||||
bool "Use the devpts filesystem for Unix98 PTYs"
|
bool "Use the devpts filesystem for Unix98 PTYs"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
|
@ -130,10 +130,10 @@ config CONFIG_FEATURE_DEVPTS
|
||||||
/dev/ttyp<number> will be used. To use this option, you should have
|
/dev/ttyp<number> will be used. To use this option, you should have
|
||||||
devpts mounted.
|
devpts mounted.
|
||||||
|
|
||||||
config CONFIG_FEATURE_CLEAN_UP
|
config FEATURE_CLEAN_UP
|
||||||
bool "Clean up all memory before exiting (usually not needed)"
|
bool "Clean up all memory before exiting (usually not needed)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_NITPICK
|
depends on NITPICK
|
||||||
help
|
help
|
||||||
As a size optimization, busybox normally exits without explicitly
|
As a size optimization, busybox normally exits without explicitly
|
||||||
freeing dynamically allocated memory or closing files. This saves
|
freeing dynamically allocated memory or closing files. This saves
|
||||||
|
@ -143,7 +143,7 @@ config CONFIG_FEATURE_CLEAN_UP
|
||||||
Don't enable this unless you have a really good reason to clean
|
Don't enable this unless you have a really good reason to clean
|
||||||
things up manually.
|
things up manually.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SUID
|
config FEATURE_SUID
|
||||||
bool "Support for SUID/SGID handling"
|
bool "Support for SUID/SGID handling"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -158,17 +158,17 @@ config CONFIG_FEATURE_SUID
|
||||||
are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs,
|
are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs,
|
||||||
and vlock.
|
and vlock.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SYSLOG
|
config FEATURE_SYSLOG
|
||||||
bool "Support for syslog"
|
bool "Support for syslog"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This option is auto-selected when you select any applet which may
|
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.
|
send its output to syslog. You do not need to select it manually.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SUID_CONFIG
|
config FEATURE_SUID_CONFIG
|
||||||
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
|
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
|
||||||
default n if CONFIG_FEATURE_SUID
|
default n if FEATURE_SUID
|
||||||
depends on CONFIG_FEATURE_SUID
|
depends on FEATURE_SUID
|
||||||
help
|
help
|
||||||
Allow the SUID / SGID state of an applet to be determined at runtime
|
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.)
|
by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
|
||||||
|
@ -197,15 +197,15 @@ config CONFIG_FEATURE_SUID_CONFIG
|
||||||
Robert 'sandman' Griebl has more information here:
|
Robert 'sandman' Griebl has more information here:
|
||||||
<url: http://www.softforge.de/bb/suid.html >.
|
<url: http://www.softforge.de/bb/suid.html >.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SUID_CONFIG_QUIET
|
config FEATURE_SUID_CONFIG_QUIET
|
||||||
bool "Suppress warning message if /etc/busybox.conf is not readable"
|
bool "Suppress warning message if /etc/busybox.conf is not readable"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_SUID_CONFIG
|
depends on FEATURE_SUID_CONFIG
|
||||||
help
|
help
|
||||||
/etc/busybox.conf should be readable by the user needing the SUID, check
|
/etc/busybox.conf should be readable by the user needing the SUID, check
|
||||||
this option to avoid users to be notified about missing permissions.
|
this option to avoid users to be notified about missing permissions.
|
||||||
|
|
||||||
config CONFIG_SELINUX
|
config SELINUX
|
||||||
bool "Support NSA Security Enhanced Linux"
|
bool "Support NSA Security Enhanced Linux"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -225,7 +225,7 @@ config CONFIG_SELINUX
|
||||||
|
|
||||||
Most people will leave this set to 'N'.
|
Most people will leave this set to 'N'.
|
||||||
|
|
||||||
config CONFIG_BUSYBOX_EXEC_PATH
|
config BUSYBOX_EXEC_PATH
|
||||||
string "Path to BusyBox executable"
|
string "Path to BusyBox executable"
|
||||||
default "/proc/self/exe"
|
default "/proc/self/exe"
|
||||||
help
|
help
|
||||||
|
@ -239,7 +239,7 @@ endmenu
|
||||||
|
|
||||||
menu 'Build Options'
|
menu 'Build Options'
|
||||||
|
|
||||||
config CONFIG_STATIC
|
config STATIC
|
||||||
bool "Build BusyBox as a static binary (no shared libs)"
|
bool "Build BusyBox as a static binary (no shared libs)"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -253,7 +253,7 @@ config CONFIG_STATIC
|
||||||
|
|
||||||
Most people will leave this set to 'N'.
|
Most people will leave this set to 'N'.
|
||||||
|
|
||||||
config CONFIG_BUILD_LIBBUSYBOX
|
config BUILD_LIBBUSYBOX
|
||||||
bool "Build shared libbusybox"
|
bool "Build shared libbusybox"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -265,10 +265,10 @@ config CONFIG_BUILD_LIBBUSYBOX
|
||||||
binary serves no purpose (and increases the size). You should
|
binary serves no purpose (and increases the size). You should
|
||||||
almost certainly say "no" to this right now.
|
almost certainly say "no" to this right now.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FULL_LIBBUSYBOX
|
config FEATURE_FULL_LIBBUSYBOX
|
||||||
bool "Feature-complete libbusybox"
|
bool "Feature-complete libbusybox"
|
||||||
default n if !CONFIG_FEATURE_SHARED_BUSYBOX
|
default n if !FEATURE_SHARED_BUSYBOX
|
||||||
depends on CONFIG_BUILD_LIBBUSYBOX
|
depends on BUILD_LIBBUSYBOX
|
||||||
help
|
help
|
||||||
Build a libbusybox with the complete feature-set, disregarding
|
Build a libbusybox with the complete feature-set, disregarding
|
||||||
the actually selected config.
|
the actually selected config.
|
||||||
|
@ -284,15 +284,15 @@ config CONFIG_FEATURE_FULL_LIBBUSYBOX
|
||||||
|
|
||||||
Say 'N' if in doubt.
|
Say 'N' if in doubt.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SHARED_BUSYBOX
|
config FEATURE_SHARED_BUSYBOX
|
||||||
bool "Use shared libbusybox for busybox"
|
bool "Use shared libbusybox for busybox"
|
||||||
default y if CONFIG_BUILD_LIBBUSYBOX
|
default y if BUILD_LIBBUSYBOX
|
||||||
depends on !CONFIG_STATIC && CONFIG_BUILD_LIBBUSYBOX
|
depends on !STATIC && BUILD_LIBBUSYBOX
|
||||||
help
|
help
|
||||||
Use libbusybox.so also for busybox itself.
|
Use libbusybox.so also for busybox itself.
|
||||||
You need to have a working dynamic linker to use this variant.
|
You need to have a working dynamic linker to use this variant.
|
||||||
|
|
||||||
config CONFIG_LFS
|
config LFS
|
||||||
bool "Build with Large File Support (for accessing files > 2 GB)"
|
bool "Build with Large File Support (for accessing files > 2 GB)"
|
||||||
default n
|
default n
|
||||||
select FDISK_SUPPORT_LARGE_DISKS
|
select FDISK_SUPPORT_LARGE_DISKS
|
||||||
|
@ -304,7 +304,7 @@ config CONFIG_LFS
|
||||||
cp, mount, tar, and many others. If you want to access files larger
|
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'.
|
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
|
||||||
|
|
||||||
config CONFIG_BUILD_AT_ONCE
|
config BUILD_AT_ONCE
|
||||||
bool "Compile all sources at once"
|
bool "Compile all sources at once"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -327,7 +327,7 @@ endmenu
|
||||||
|
|
||||||
menu 'Debugging Options'
|
menu 'Debugging Options'
|
||||||
|
|
||||||
config CONFIG_DEBUG
|
config DEBUG
|
||||||
bool "Build BusyBox with extra Debugging symbols"
|
bool "Build BusyBox with extra Debugging symbols"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -338,10 +338,10 @@ config CONFIG_DEBUG
|
||||||
|
|
||||||
Most people should answer N.
|
Most people should answer N.
|
||||||
|
|
||||||
config CONFIG_DEBUG_PESSIMIZE
|
config DEBUG_PESSIMIZE
|
||||||
bool "Disable compiler optimizations."
|
bool "Disable compiler optimizations."
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DEBUG
|
depends on DEBUG
|
||||||
help
|
help
|
||||||
The compiler's optimization of source code can eliminate and reorder
|
The compiler's optimization of source code can eliminate and reorder
|
||||||
code, resulting in an executable that's hard to understand when
|
code, resulting in an executable that's hard to understand when
|
||||||
|
@ -351,8 +351,8 @@ config CONFIG_DEBUG_PESSIMIZE
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Additional debugging library"
|
prompt "Additional debugging library"
|
||||||
default CONFIG_NO_DEBUG_LIB
|
default NO_DEBUG_LIB
|
||||||
depends on CONFIG_DEBUG
|
depends on DEBUG
|
||||||
help
|
help
|
||||||
Using an additional debugging library will make BusyBox become
|
Using an additional debugging library will make BusyBox become
|
||||||
considerable larger and will cause it to run more slowly. You
|
considerable larger and will cause it to run more slowly. You
|
||||||
|
@ -380,18 +380,18 @@ choice
|
||||||
you are hunting a hard to find memory problem.
|
you are hunting a hard to find memory problem.
|
||||||
|
|
||||||
|
|
||||||
config CONFIG_NO_DEBUG_LIB
|
config NO_DEBUG_LIB
|
||||||
bool "None"
|
bool "None"
|
||||||
|
|
||||||
config CONFIG_DMALLOC
|
config DMALLOC
|
||||||
bool "Dmalloc"
|
bool "Dmalloc"
|
||||||
|
|
||||||
config CONFIG_EFENCE
|
config EFENCE
|
||||||
bool "Electric-fence"
|
bool "Electric-fence"
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config CONFIG_DEBUG_YANK_SUSv2
|
config DEBUG_YANK_SUSv2
|
||||||
bool "Disable obsolete features removed before SUSv3?"
|
bool "Disable obsolete features removed before SUSv3?"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
|
@ -404,7 +404,7 @@ endmenu
|
||||||
|
|
||||||
menu 'Installation Options'
|
menu 'Installation Options'
|
||||||
|
|
||||||
config CONFIG_INSTALL_NO_USR
|
config INSTALL_NO_USR
|
||||||
bool "Don't use /usr"
|
bool "Don't use /usr"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -413,27 +413,27 @@ config CONFIG_INSTALL_NO_USR
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Applets links"
|
prompt "Applets links"
|
||||||
default CONFIG_INSTALL_APPLET_SYMLINKS
|
default INSTALL_APPLET_SYMLINKS
|
||||||
help
|
help
|
||||||
Choose how you install applets links.
|
Choose how you install applets links.
|
||||||
|
|
||||||
config CONFIG_INSTALL_APPLET_SYMLINKS
|
config INSTALL_APPLET_SYMLINKS
|
||||||
bool "as soft-links"
|
bool "as soft-links"
|
||||||
help
|
help
|
||||||
Install applets as soft-links to the busybox binary. This needs some
|
Install applets as soft-links to the busybox binary. This needs some
|
||||||
free inodes on the filesystem, but might help with filesystem
|
free inodes on the filesystem, but might help with filesystem
|
||||||
generators that can't cope with hard-links.
|
generators that can't cope with hard-links.
|
||||||
|
|
||||||
config CONFIG_INSTALL_APPLET_HARDLINKS
|
config INSTALL_APPLET_HARDLINKS
|
||||||
bool "as hard-links"
|
bool "as hard-links"
|
||||||
help
|
help
|
||||||
Install applets as hard-links to the busybox binary. This might count
|
Install applets as hard-links to the busybox binary. This might count
|
||||||
on a filesystem with few inodes.
|
on a filesystem with few inodes.
|
||||||
|
|
||||||
config CONFIG_INSTALL_APPLET_DONT
|
config INSTALL_APPLET_DONT
|
||||||
bool
|
bool
|
||||||
prompt "not installed"
|
prompt "not installed"
|
||||||
depends on CONFIG_FEATURE_INSTALLER || CONFIG_FEATURE_SH_STANDALONE_SHELL
|
depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE_SHELL
|
||||||
help
|
help
|
||||||
Do not install applets links. Usefull when using the -install feature
|
Do not install applets links. Usefull when using the -install feature
|
||||||
or a standalone shell for rescue pruposes.
|
or a standalone shell for rescue pruposes.
|
||||||
|
|
131
Makefile.custom
Normal file
131
Makefile.custom
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
### # defconfig is allyesconfig minus any features that are specialized enough
|
||||||
|
### # or cause enough behavior change that the user really should switch them on
|
||||||
|
### # manually if that's what they want. Sort of "maximum sane config".
|
||||||
|
|
||||||
|
### defconfig: scripts/config/conf
|
||||||
|
### @./scripts/config/conf -y $(CONFIG_CONFIG_IN) > /dev/null
|
||||||
|
### @$(SED) -i -r -e "s/^(CONFIG_(DEBUG.*|STATIC|SELINUX|NITPICK|BUILD_(AT_ONCE|LIBBUSYBOX)|FEATURE_(DEVFS|FULL_LIBBUSYBOX|SHARED_BUSYBOX|MTAB_SUPPORT|CLEAN_UP|UDHCP_DEBUG)|INSTALL_NO_USR))=.*/# \1 is not set/" .config
|
||||||
|
### @./scripts/config/conf -o $(CONFIG_CONFIG_IN) > /dev/null
|
||||||
|
|
||||||
|
### allbareconfig: scripts/config/conf
|
||||||
|
### @./scripts/config/conf -y $(CONFIG_CONFIG_IN) > /dev/null
|
||||||
|
### @$(SED) -i -r -e "s/^(CONFIG_(DEBUG|STATIC|SELINUX|DEVFSD|NC_GAPING_SECURITY_HOLE|BUILD_AT_ONCE)).*/# \1 is not set/" .config
|
||||||
|
### @$(SED) -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
|
||||||
|
### @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config
|
||||||
|
### @yes n | ./scripts/config/conf -o $(CONFIG_CONFIG_IN) > /dev/null
|
||||||
|
|
||||||
|
### hosttools:
|
||||||
|
### $(Q)cp .config .config.bak || noold=yea
|
||||||
|
### $(Q)$(MAKE) CC="$(HOSTCC)" CFLAGS="$(HOSTCFLAGS) $(INCS)" allnoconfig
|
||||||
|
### $(Q)mv .config .config.in
|
||||||
|
### $(Q)(grep -v CONFIG_SED .config.in ; \
|
||||||
|
### echo "CONFIG_SED=y" ; ) > .config
|
||||||
|
### $(Q)$(MAKE) CC="$(HOSTCC)" CFLAGS="$(HOSTCFLAGS) $(INCS)" oldconfig include/bb_config.h
|
||||||
|
### $(Q)$(MAKE) CC="$(HOSTCC)" CFLAGS="$(HOSTCFLAGS) $(INCS)" busybox
|
||||||
|
### $(Q)[ -f .config.bak ] && mv .config.bak .config || rm .config
|
||||||
|
### mv busybox sed
|
||||||
|
### @echo "Now do: $(MAKE) SED=$(objtree)/sed <target>"
|
||||||
|
|
||||||
|
%.bflt: %_unstripped
|
||||||
|
$(CROSS_COMPILE)elf2flt $(ELF2FLTFLAGS) $< -o $@
|
||||||
|
|
||||||
|
busybox.links: $(srctree)/applets/busybox.mkll include/bb_config.h $(srctree)/include/applets.h
|
||||||
|
$(Q)-$(SHELL) $^ >$@
|
||||||
|
|
||||||
|
.PHONY: install
|
||||||
|
install: $(srctree)/applets/install.sh busybox busybox.links
|
||||||
|
$(Q)DO_INSTALL_LIBS="$(strip $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS))" \
|
||||||
|
$(SHELL) $< $(CONFIG_PREFIX) $(INSTALL_OPTS)
|
||||||
|
ifeq ($(strip $(CONFIG_FEATURE_SUID)),y)
|
||||||
|
@echo
|
||||||
|
@echo
|
||||||
|
@echo --------------------------------------------------
|
||||||
|
@echo You will probably need to make your busybox binary
|
||||||
|
@echo setuid root to ensure all configured applets will
|
||||||
|
@echo work properly.
|
||||||
|
@echo --------------------------------------------------
|
||||||
|
@echo
|
||||||
|
endif
|
||||||
|
|
||||||
|
uninstall: busybox.links
|
||||||
|
rm -f $(CONFIG_PREFIX)/bin/busybox
|
||||||
|
for i in `cat busybox.links` ; do rm -f $(CONFIG_PREFIX)$$i; done
|
||||||
|
ifneq ($(strip $(DO_INSTALL_LIBS)),n)
|
||||||
|
for i in $(LIBBUSYBOX_SONAME) $(DO_INSTALL_LIBS); do \
|
||||||
|
rm -f $(CONFIG_PREFIX)$$i; \
|
||||||
|
done
|
||||||
|
endif
|
||||||
|
|
||||||
|
check test: busybox
|
||||||
|
bindir=$(objtree) srcdir=$(srctree)/testsuite SED="$(SED)" \
|
||||||
|
$(SHELL) $(srctree)/testsuite/runtest $(if $(KBUILD_VERBOSE:1=),-v)
|
||||||
|
|
||||||
|
### checkhelp:
|
||||||
|
### $(Q)$(srctree)/scripts/checkhelp.awk \
|
||||||
|
### $(wildcard $(patsubst %,%/Config.in,$(SRC_DIRS) ./))
|
||||||
|
|
||||||
|
.PHONY: sizes
|
||||||
|
sizes: busybox_unstripped
|
||||||
|
$(NM) --size-sort $(<)
|
||||||
|
|
||||||
|
.PHONY: bloatcheck
|
||||||
|
bloatcheck: busybox_old busybox_unstripped
|
||||||
|
@$(srctree)/scripts/bloat-o-meter busybox_old busybox_unstripped
|
||||||
|
|
||||||
|
.PHONY: baseline
|
||||||
|
baseline: busybox_unstripped
|
||||||
|
@mv busybox_unstripped busybox_old
|
||||||
|
|
||||||
|
.PHONY: objsizes
|
||||||
|
objsizes: busybox_unstripped
|
||||||
|
$(SHELL) $(srctree)/scripts/objsizes
|
||||||
|
|
||||||
|
# Documentation Targets
|
||||||
|
.PHONY: doc
|
||||||
|
doc: docs/busybox.pod docs/BusyBox.txt docs/BusyBox.1 docs/BusyBox.html
|
||||||
|
|
||||||
|
docs/busybox.pod: $(srctree)/docs/busybox_header.pod \
|
||||||
|
$(srctree)/include/usage.h \
|
||||||
|
$(srctree)/docs/busybox_footer.pod \
|
||||||
|
$(srctree)/docs/autodocifier.pl
|
||||||
|
$(disp_doc)
|
||||||
|
$(Q)-mkdir -p docs
|
||||||
|
$(Q)-( cat $(srctree)/docs/busybox_header.pod ; \
|
||||||
|
$(srctree)/docs/autodocifier.pl $(srctree)/include/usage.h ; \
|
||||||
|
cat $(srctree)/docs/busybox_footer.pod ; ) > docs/busybox.pod
|
||||||
|
|
||||||
|
docs/BusyBox.txt: docs/busybox.pod
|
||||||
|
$(disp_doc)
|
||||||
|
$(Q)-mkdir -p docs
|
||||||
|
$(Q)-pod2text $< > $@
|
||||||
|
|
||||||
|
docs/BusyBox.1: docs/busybox.pod
|
||||||
|
$(disp_doc)
|
||||||
|
$(Q)-mkdir -p docs
|
||||||
|
$(Q)-pod2man --center=BusyBox --release="version $(VERSION)" \
|
||||||
|
$< > $@
|
||||||
|
|
||||||
|
docs/BusyBox.html: docs/busybox.net/BusyBox.html
|
||||||
|
$(disp_doc)
|
||||||
|
$(Q)-mkdir -p docs
|
||||||
|
$(Q)-rm -f docs/BusyBox.html
|
||||||
|
$(Q)-cp docs/busybox.net/BusyBox.html docs/BusyBox.html
|
||||||
|
|
||||||
|
docs/busybox.net/BusyBox.html: docs/busybox.pod
|
||||||
|
$(Q)-mkdir -p docs/busybox.net
|
||||||
|
$(Q)-pod2html --noindex $< > \
|
||||||
|
docs/busybox.net/BusyBox.html
|
||||||
|
$(Q)-rm -f pod2htm*
|
||||||
|
|
||||||
|
# documentation, cross-reference
|
||||||
|
# Modern distributions already ship synopsis packages (e.g. debian)
|
||||||
|
# If you have an old distribution go to http://synopsis.fresco.org/
|
||||||
|
syn_tgt := $(wildcard $(patsubst %,%/*.c,$(SRC_DIRS)))
|
||||||
|
syn := $(patsubst %.c, %.syn, $(syn_tgt))
|
||||||
|
|
||||||
|
%.syn: %.c
|
||||||
|
synopsis -p C -l Comments.SSDFilter,Comments.Previous $(INCS) -Wp,verbose,debug,preprocess,cppflags="'$(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) $(PROG_CFLAGS) $(PROG_LDFLAGS) $(CFLAGS_COMBINE) $(APPLETS_DEFINE) $(BUSYBOX_DEFINE)'" -o $@ $<
|
||||||
|
|
||||||
|
.PHONY: html
|
||||||
|
html: $(syn)
|
||||||
|
synopsis -f HTML -Wf,title="'BusyBox Documentation'" -o $@ $^
|
19
Makefile.flags
Normal file
19
Makefile.flags
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# ==========================================================================
|
||||||
|
# Building
|
||||||
|
# ==========================================================================
|
||||||
|
|
||||||
|
BB_VER = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
|
||||||
|
|
||||||
|
CPPFLAGS += \
|
||||||
|
-Iinclude -Ilibbb \
|
||||||
|
$(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) -I$(srctree)/libbb \
|
||||||
|
-include include/autoconf.h \
|
||||||
|
-D_GNU_SOURCE -DNDEBUG \
|
||||||
|
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
|
||||||
|
-D"BB_VER=KBUILD_STR($(BB_VER))" -DBB_BT=AUTOCONF_TIMESTAMP \
|
||||||
|
-Wall -Wstrict-prototypes -Wshadow -Werror \
|
||||||
|
-funsigned-char -fno-builtin-strlen -finline-limit=0 -static-libgcc \
|
||||||
|
-Os -march=i386 -mpreferred-stack-boundary=2 \
|
||||||
|
-falign-functions=1 -falign-jumps=1 -falign-loops=1 \
|
||||||
|
-fomit-frame-pointer -ffunction-sections -fdata-sections \
|
||||||
|
-funsigned-char -fno-builtin-strlen \
|
88
Makefile.help
Normal file
88
Makefile.help
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
### Kernel's one:
|
||||||
|
### help:
|
||||||
|
### @echo 'Cleaning targets:'
|
||||||
|
### @echo ' clean - remove most generated files but keep the config'
|
||||||
|
### @echo ' mrproper - remove all generated files + config + various backup files'
|
||||||
|
### @echo ''
|
||||||
|
### @echo 'Configuration targets:'
|
||||||
|
### @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
|
||||||
|
### @echo ''
|
||||||
|
### @echo 'Other generic targets:'
|
||||||
|
### @echo ' all - Build all targets marked with [*]'
|
||||||
|
### @echo '* busybox - Build the bare kernel'
|
||||||
|
### @echo '* modules - Build all modules'
|
||||||
|
### @echo ' modules_install - Install all modules to INSTALL_MOD_PATH (default: /)'
|
||||||
|
### @echo ' dir/ - Build all files in dir and below'
|
||||||
|
### @echo ' dir/file.[ois] - Build specified target only'
|
||||||
|
### @echo ' dir/file.ko - Build module including final link'
|
||||||
|
### @echo ' rpm - Build a kernel as an RPM package'
|
||||||
|
### @echo ' tags/TAGS - Generate tags file for editors'
|
||||||
|
### @echo ' cscope - Generate cscope index'
|
||||||
|
### @echo ' kernelrelease - Output the release version string'
|
||||||
|
### @echo ' kernelversion - Output the version stored in Makefile'
|
||||||
|
### @echo ''
|
||||||
|
### @echo 'Static analysers'
|
||||||
|
### @echo ' checkstack - Generate a list of stack hogs'
|
||||||
|
### @echo ' namespacecheck - Name space analysis on compiled kernel'
|
||||||
|
### @echo ''
|
||||||
|
### @echo 'Kernel packaging:'
|
||||||
|
### @$(MAKE) $(build)=$(package-dir) help
|
||||||
|
### @echo ''
|
||||||
|
### @echo 'Documentation targets:'
|
||||||
|
### @$(MAKE) -f $(srctree)/Documentation/DocBook/Makefile dochelp
|
||||||
|
### @echo ''
|
||||||
|
### @echo 'Architecture specific targets ($(ARCH)):'
|
||||||
|
### @$(if $(archhelp),$(archhelp),\
|
||||||
|
### echo ' No architecture specific help defined for $(ARCH)')
|
||||||
|
### @echo ''
|
||||||
|
### @$(if $(boards), \
|
||||||
|
### $(foreach b, $(boards), \
|
||||||
|
### printf " %-24s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
|
||||||
|
### echo '')
|
||||||
|
###
|
||||||
|
### @echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build'
|
||||||
|
### @echo ' make O=dir [targets] Locate all output files in "dir", including .config'
|
||||||
|
### @echo ' make C=1 [targets] Check all c source with $$CHECK (sparse)'
|
||||||
|
### @echo ' make C=2 [targets] Force check of all c source with $$CHECK (sparse)'
|
||||||
|
### @echo ''
|
||||||
|
### @echo 'Execute "make" or "make all" to build all targets marked with [*] '
|
||||||
|
### @echo 'For further info see the ./README file'
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo 'Cleaning:'
|
||||||
|
@echo ' clean - delete temporary files created by build'
|
||||||
|
@echo ' distclean - delete all non-source files (including .config)'
|
||||||
|
@echo
|
||||||
|
@echo 'Build:'
|
||||||
|
@echo ' all - Executable and documentation'
|
||||||
|
@echo ' busybox - the swiss-army executable'
|
||||||
|
@echo ' doc - docs/BusyBox.{txt,html,1}'
|
||||||
|
@echo ' html - create html-based cross-reference'
|
||||||
|
@echo
|
||||||
|
@echo 'Configuration:'
|
||||||
|
@echo ' allnoconfig - disable all symbols in .config'
|
||||||
|
@echo ' allyesconfig - enable all symbols in .config (see defconfig)'
|
||||||
|
@echo ' allbareconfig - enable all applets without any sub-features'
|
||||||
|
@echo ' config - text based configurator (of last resort)'
|
||||||
|
@echo ' defconfig - set .config to largest generic configuration'
|
||||||
|
@echo ' menuconfig - interactive curses-based configurator'
|
||||||
|
@echo ' oldconfig - resolve any unresolved symbols in .config'
|
||||||
|
@echo ' hosttools - build sed for the host.'
|
||||||
|
@echo ' You can use these commands if the commands on the host'
|
||||||
|
@echo ' is unusable. Afterwards use it like:'
|
||||||
|
@echo ' make SED="$(objtree)/sed"'
|
||||||
|
@echo
|
||||||
|
@echo 'Installation:'
|
||||||
|
@echo ' install - install busybox into $(PREFIX)'
|
||||||
|
@echo ' uninstall'
|
||||||
|
@echo
|
||||||
|
@echo 'Development:'
|
||||||
|
@echo ' baseline - create busybox_old for bloatcheck.'
|
||||||
|
@echo ' bloatcheck - show size difference between old and new versions'
|
||||||
|
@echo ' check - run the test suite for all applets'
|
||||||
|
@echo ' checkhelp - check for missing help-entries in Config.in'
|
||||||
|
@echo ' randconfig - generate a random configuration'
|
||||||
|
@echo ' release - create a distribution tarball'
|
||||||
|
@echo ' sizes - show size of all enabled busybox symbols'
|
||||||
|
@echo ' objsizes - show size of each .o object built'
|
||||||
|
@echo
|
436
Rules.mak
436
Rules.mak
|
@ -1,436 +0,0 @@
|
||||||
# Rules.make for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under GPLv2, see the file LICENSE in this tarball for details.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Pull in the user's busybox configuration
|
|
||||||
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
|
|
||||||
-include $(top_builddir)/.config
|
|
||||||
endif
|
|
||||||
|
|
||||||
#--------------------------------------------------------
|
|
||||||
PROG := busybox
|
|
||||||
MAJOR_VERSION :=1
|
|
||||||
MINOR_VERSION :=2
|
|
||||||
SUBLEVEL_VERSION:=0
|
|
||||||
EXTRAVERSION :=-svn
|
|
||||||
VERSION :=$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL_VERSION)$(EXTRAVERSION)
|
|
||||||
BUILDTIME := $(shell TZ=UTC date -u "+%Y.%m.%d-%H:%M%z")
|
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------------------------
|
|
||||||
# With a modern GNU make(1) (highly recommended, that's what all the
|
|
||||||
# developers use), all of the following configuration values can be
|
|
||||||
# overridden at the command line. For example:
|
|
||||||
# make CROSS_COMPILE=powerpc-linux- top_srcdir="$HOME/busybox" PREFIX=/mnt/app
|
|
||||||
#--------------------------------------------------------
|
|
||||||
|
|
||||||
# If you are running a cross compiler, you will want to set CROSS_COMPILE
|
|
||||||
# to something more interesting... Target architecture is determined
|
|
||||||
# by asking the CC compiler what arch it compiles things for, so unless
|
|
||||||
# your compiler is broken, you should not need to specify TARGET_ARCH
|
|
||||||
CC = $(CROSS_COMPILE)gcc
|
|
||||||
AR = $(CROSS_COMPILE)ar
|
|
||||||
AS = $(CROSS_COMPILE)as
|
|
||||||
LD = $(CROSS_COMPILE)ld
|
|
||||||
NM = $(CROSS_COMPILE)nm
|
|
||||||
STRIP = $(CROSS_COMPILE)strip
|
|
||||||
ELF2FLT = $(CROSS_COMPILE)elf2flt
|
|
||||||
CPP = $(CC) -E
|
|
||||||
SED ?= sed
|
|
||||||
BZIP2 ?= bzip2
|
|
||||||
|
|
||||||
|
|
||||||
# What OS are you compiling busybox for? This allows you to include
|
|
||||||
# OS specific things, syscall overrides, etc.
|
|
||||||
TARGET_OS=linux
|
|
||||||
|
|
||||||
# Ensure consistent sort order, 'gcc -print-search-dirs' behavior, etc.
|
|
||||||
LC_ALL:= C
|
|
||||||
|
|
||||||
# This must bind late because srcdir is reset for every source subdirectory.
|
|
||||||
INCS:=-I$(top_builddir)/include -I$(top_srcdir)/include
|
|
||||||
CFLAGS=$(INCS) -I$(srcdir) -D_GNU_SOURCE
|
|
||||||
CFLAGS+=$(CHECKED_CFLAGS)
|
|
||||||
ARFLAGS=cru
|
|
||||||
|
|
||||||
# gcc centric. Perhaps fiddle with findstring gcc,$(CC) for the rest
|
|
||||||
# get the CC MAJOR/MINOR version
|
|
||||||
CC_MAJOR:=$(shell printf "%02d" $(shell echo __GNUC__ | $(CC) -E -xc - | tail -n 1))
|
|
||||||
CC_MINOR:=$(shell printf "%02d" $(shell echo __GNUC_MINOR__ | $(CC) -E -xc - | tail -n 1))
|
|
||||||
|
|
||||||
#--------------------------------------------------------
|
|
||||||
export VERSION BUILDTIME HOSTCC HOSTCFLAGS CROSS_COMPILE CC AR AS LD NM STRIP CPP
|
|
||||||
ifeq ($(strip $(TARGET_ARCH)),)
|
|
||||||
TARGET_ARCH:=$(shell $(CC) -dumpmachine | $(SED) -e s'/-.*//' \
|
|
||||||
-e 's/i.86/i386/' \
|
|
||||||
-e 's/sparc.*/sparc/' \
|
|
||||||
-e 's/arm.*/arm/g' \
|
|
||||||
-e 's/m68k.*/m68k/' \
|
|
||||||
-e 's/ppc/powerpc/g' \
|
|
||||||
-e 's/v850.*/v850/g' \
|
|
||||||
-e 's/sh[234]/sh/' \
|
|
||||||
-e 's/mips-.*/mips/' \
|
|
||||||
-e 's/mipsel-.*/mipsel/' \
|
|
||||||
-e 's/cris.*/cris/' \
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# A nifty macro to make testing gcc features easier, but note that everything
|
|
||||||
# that uses this _must_ use := or it will be re-evaluated everytime it is
|
|
||||||
# referenced.
|
|
||||||
ifeq ($(strip $(BUILD_VERBOSE)),2)
|
|
||||||
VERBOSE_CHECK_CC=echo CC=\"$(1)\" check_cc $(2) >&2;
|
|
||||||
endif
|
|
||||||
check_cc=$(shell \
|
|
||||||
$(VERBOSE_CHECK_CC) \
|
|
||||||
if [ "x$(1)" != "x" ] && [ "x$(2)" != "x" ]; then \
|
|
||||||
echo "int i;" > ./conftest.c; \
|
|
||||||
if $(1) $(2) -c -o conftest.o conftest.c > /dev/null 2>&1; \
|
|
||||||
then echo "$(2)"; else echo "$(3)"; fi ; \
|
|
||||||
rm -f conftest.c conftest.o; \
|
|
||||||
fi)
|
|
||||||
|
|
||||||
ifneq ($(filter $(nocheck_targets),$(MAKECMDGOALS)),)
|
|
||||||
check_cc:=
|
|
||||||
endif
|
|
||||||
|
|
||||||
# A not very robust macro to check for available ld flags
|
|
||||||
ifeq ($(strip $(BUILD_VERBOSE)),2)
|
|
||||||
VERBOSE_CHECK_LD=echo LD=\"$(1)\" check_ld $(2) >&2;
|
|
||||||
endif
|
|
||||||
check_ld=$(shell \
|
|
||||||
$(VERBOSE_CHECK_LD) \
|
|
||||||
if [ "x$(1)" != "x" ] && [ "x$(2)" != "x" ]; then \
|
|
||||||
$(1) -o /dev/null -b binary /dev/null > /dev/null 2>&1 && \
|
|
||||||
echo "-Wl,$(2)" ; \
|
|
||||||
fi)
|
|
||||||
|
|
||||||
ifneq ($(filter $(nocheck_targets),$(MAKECMDGOALS)),)
|
|
||||||
check_ld:=
|
|
||||||
endif
|
|
||||||
|
|
||||||
# A not very robust macro to check for available strip flags
|
|
||||||
ifeq ($(strip $(BUILD_VERBOSE)),2)
|
|
||||||
VERBOSE_CHECK_STRIP=echo STRIPCMD=\"$(1)\" check_strip $(2) >&2;
|
|
||||||
endif
|
|
||||||
check_strip=$(shell \
|
|
||||||
$(VERBOSE_CHECK_STRIP) \
|
|
||||||
if [ "x$(1)" != "x" ] && [ "x$(2)" != "x" ]; then \
|
|
||||||
echo "int i;" > ./conftest.c ; \
|
|
||||||
$(CC) -c -o conftest.o conftest.c > /dev/null 2>&1 ; \
|
|
||||||
$(1) $(2) conftest.o > /dev/null 2>&1 && \
|
|
||||||
echo "$(1) $(2)" || echo "$(3)"; \
|
|
||||||
rm -f conftest.c conftest.o > /dev/null 2>&1 ; \
|
|
||||||
fi)
|
|
||||||
|
|
||||||
ifneq ($(filter $(nocheck_targets),$(MAKECMDGOALS)),)
|
|
||||||
check_strip:=
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# Select the compiler needed to build binaries for your development system
|
|
||||||
HOSTCC = gcc
|
|
||||||
HOSTCFLAGS:=$(call check_cc,$(HOSTCC),-Wall,)
|
|
||||||
HOSTCFLAGS+=$(call check_cc,$(HOSTCC),-Wstrict-prototypes,)
|
|
||||||
HOSTCFLAGS+=$(call check_cc,$(HOSTCC),-O2,)
|
|
||||||
HOSTCFLAGS+=$(call check_cc,$(HOSTCC),-fomit-frame-pointer,)
|
|
||||||
|
|
||||||
LD_WHOLE_ARCHIVE:=$(shell echo "int i;" > conftest.c ; \
|
|
||||||
$(CC) -c -o conftest.o conftest.c ; \
|
|
||||||
echo "int main(void){return 0;}" > conftest_main.c ; \
|
|
||||||
$(CC) -c -o conftest_main.o conftest_main.c ; \
|
|
||||||
$(AR) $(ARFLAGS) conftest.a conftest.o ; \
|
|
||||||
$(CC) -Wl,--whole-archive conftest.a -Wl,--no-whole-archive \
|
|
||||||
conftest_main.o -o conftest > /dev/null 2>&1 \
|
|
||||||
&& echo "-Wl,--whole-archive" ; \
|
|
||||||
rm conftest_main.o conftest_main.c conftest.o conftest.c \
|
|
||||||
conftest.a conftest > /dev/null 2>&1 ; )
|
|
||||||
ifneq ($(findstring whole-archive,$(LD_WHOLE_ARCHIVE)),)
|
|
||||||
LD_NO_WHOLE_ARCHIVE:= -Wl,--no-whole-archive
|
|
||||||
endif
|
|
||||||
|
|
||||||
LD_START_GROUP:=$(shell echo "int bar(void){return 0;}" > conftest.c ; \
|
|
||||||
$(CC) -c -o conftest.o conftest.c ; \
|
|
||||||
echo "int main(void){return bar();}" > conftest_main.c ; \
|
|
||||||
$(CC) -c -o conftest_main.o conftest_main.c ; \
|
|
||||||
$(AR) $(ARFLAGS) conftest.a conftest.o ; \
|
|
||||||
$(CC) -Wl,--start-group conftest.a conftest_main.o -Wl,--end-group \
|
|
||||||
-o conftest > /dev/null 2>&1 && echo "-Wl,--start-group" ; \
|
|
||||||
rm conftest_main.o conftest_main.c conftest.o conftest.c \
|
|
||||||
conftest.a conftest > /dev/null 2>&1 ; )
|
|
||||||
ifneq ($(findstring start-group,$(LD_START_GROUP)),)
|
|
||||||
LD_END_GROUP:= -Wl,--end-group
|
|
||||||
endif
|
|
||||||
|
|
||||||
CHECKED_LDFLAGS := $(call check_ld,$(LD),--warn-common,)
|
|
||||||
#CHECKED_LDFLAGS := $(call check_ld,$(LD),-static-libgcc,)
|
|
||||||
|
|
||||||
# Pin CHECKED_CFLAGS with := so it's only evaluated once.
|
|
||||||
CHECKED_CFLAGS:=$(call check_cc,$(CC),-Wall,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wstrict-prototypes,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wshadow,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-funsigned-char,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-fno-builtin-strlen,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-finline-limit=0,)
|
|
||||||
|
|
||||||
# gcc 2.95 exits with 0 for "unrecognized option"
|
|
||||||
ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 3 ] ; echo $$?)),0)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-static-libgcc,)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Preemptively pin this too.
|
|
||||||
PROG_CFLAGS:=
|
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------------------------
|
|
||||||
# Arch specific compiler optimization stuff should go here.
|
|
||||||
# Unless you want to override the defaults, do not set anything
|
|
||||||
# for OPTIMIZATION...
|
|
||||||
|
|
||||||
# use '-Os' optimization if available, else use -O2
|
|
||||||
OPTIMIZATION:=$(call check_cc,$(CC),-Os,-O2)
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_BUILD_AT_ONCE),y)
|
|
||||||
# gcc 2.95 exits with 0 for "unrecognized option"
|
|
||||||
ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 3 ] ; echo $$?)),0)
|
|
||||||
CFLAGS_COMBINE:=$(call check_cc,$(CC),--combine,)
|
|
||||||
endif
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-funit-at-a-time,)
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-fgcse-after-reload,)
|
|
||||||
ifneq ($(CONFIG_BUILD_LIBBUSYBOX),y)
|
|
||||||
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25795
|
|
||||||
# This prevents us from using -fwhole-program when we build the lib
|
|
||||||
PROG_CFLAGS+=$(call check_cc,$(CC),-fwhole-program,)
|
|
||||||
endif # CONFIG_BUILD_LIBBUSYBOX
|
|
||||||
endif # CONFIG_BUILD_AT_ONCE
|
|
||||||
|
|
||||||
LIB_LDFLAGS:=$(call check_ld,$(LD),--enable-new-dtags,)
|
|
||||||
#LIB_LDFLAGS+=$(call check_ld,$(LD),--reduce-memory-overheads,)
|
|
||||||
#LIB_LDFLAGS+=$(call check_ld,$(LD),--as-needed,)
|
|
||||||
#LIB_LDFLAGS+=$(call check_ld,$(LD),--warn-shared-textrel,)
|
|
||||||
|
|
||||||
|
|
||||||
# Some nice architecture specific optimizations
|
|
||||||
ifeq ($(strip $(TARGET_ARCH)),arm)
|
|
||||||
OPTIMIZATION+=-fstrict-aliasing
|
|
||||||
endif
|
|
||||||
ifeq ($(strip $(TARGET_ARCH)),i386)
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-march=i386,)
|
|
||||||
# gcc-4.0 and older seem to benefit from these
|
|
||||||
ifneq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0)
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-mpreferred-stack-boundary=2,)
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-falign-functions=1 -falign-jumps=1 -falign-loops=1, -malign-functions=0 -malign-jumps=0 -malign-loops=0,)
|
|
||||||
|
|
||||||
# gcc 4.1 produces many broken, totally invalid warnings
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Werror,)
|
|
||||||
endif # gcc-4.0 and older
|
|
||||||
|
|
||||||
# gcc-4.1 and beyond seem to benefit from these
|
|
||||||
ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0)
|
|
||||||
# turn off flags which hurt -Os
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-fno-tree-loop-optimize,)
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-fno-tree-dominator-opts,)
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-fno-strength-reduce,)
|
|
||||||
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-fno-branch-count-reg,)
|
|
||||||
endif # gcc-4.1 and beyond
|
|
||||||
endif
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-fomit-frame-pointer,)
|
|
||||||
CHECKED_LDFLAGS += $(call check_ld,$(LD),--sort-common,)
|
|
||||||
|
|
||||||
#
|
|
||||||
#--------------------------------------------------------
|
|
||||||
# If you're going to do a lot of builds with a non-vanilla configuration,
|
|
||||||
# it makes sense to adjust parameters above, so you can type "make"
|
|
||||||
# by itself, instead of following it by the same half-dozen overrides
|
|
||||||
# every time. The stuff below, on the other hand, is probably less
|
|
||||||
# prone to casual user adjustment.
|
|
||||||
#
|
|
||||||
|
|
||||||
ifeq ($(strip $(CONFIG_LFS)),y)
|
|
||||||
# For large file summit support
|
|
||||||
CFLAGS+=-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
|
|
||||||
endif
|
|
||||||
ifeq ($(strip $(CONFIG_DMALLOC)),y)
|
|
||||||
# For testing mem leaks with dmalloc
|
|
||||||
CFLAGS+=-DDMALLOC
|
|
||||||
LIBRARIES:=-ldmalloc
|
|
||||||
else
|
|
||||||
ifeq ($(strip $(CONFIG_EFENCE)),y)
|
|
||||||
LIBRARIES:=-lefence
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Debugging info
|
|
||||||
|
|
||||||
ifeq ($(strip $(CONFIG_DEBUG)),y)
|
|
||||||
CFLAGS +=-g
|
|
||||||
else
|
|
||||||
CFLAGS +=-DNDEBUG
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(CONFIG_DEBUG_PESSIMIZE)),y)
|
|
||||||
CFLAGS += $(OPTIMIZATION)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# warn a bit more verbosely for non-release versions
|
|
||||||
ifneq ($(EXTRAVERSION),)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wstrict-prototypes,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wmissing-prototypes,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wmissing-declarations,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wunused,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Winit-self,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wshadow,)
|
|
||||||
CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wcast-align,)
|
|
||||||
endif
|
|
||||||
STRIPCMD:=$(call check_strip,$(STRIP),-s --remove-section=.note --remove-section=.comment,$(STRIP))
|
|
||||||
ifeq ($(strip $(CONFIG_STATIC)),y)
|
|
||||||
PROG_CFLAGS += $(call check_cc,$(CC),-static,)
|
|
||||||
else
|
|
||||||
ifneq ($(strip $(CONFIG_DEBUG)),y)
|
|
||||||
OPTIMIZATION+=$(call check_cc,$(CC),-ffunction-sections -fdata-sections,)
|
|
||||||
CHECKED_LDFLAGS += $(call check_ld,$(LD),--gc-sections,)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
CFLAGS_SHARED := $(call check_cc,$(CC),-shared,)
|
|
||||||
LIB_CFLAGS+=$(CFLAGS_SHARED)
|
|
||||||
|
|
||||||
ifeq ($(strip $(CONFIG_BUILD_LIBBUSYBOX)),y)
|
|
||||||
CFLAGS_PIC:= $(call check_cc,$(CC),-fPIC,)
|
|
||||||
LIB_CFLAGS+=$(CFLAGS_PIC)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(strip $(CONFIG_SELINUX)),y)
|
|
||||||
LIBRARIES += -lselinux -lsepol
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(strip $(PREFIX)),)
|
|
||||||
PREFIX:=`pwd`/_install
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(strip $(CONFIG_GETOPT_LONG)),y)
|
|
||||||
CFLAGS += -D__need_getopt
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Additional complications due to support for pristine source dir.
|
|
||||||
# Include files in the build directory should take precedence over
|
|
||||||
# the copy in top_srcdir, both during the compilation phase and the
|
|
||||||
# shell script that finds the list of object files.
|
|
||||||
# Work in progress by <ldoolitt@recycle.lbl.gov>.
|
|
||||||
|
|
||||||
|
|
||||||
OBJECTS:=$(APPLET_SOURCES:.c=.o) busybox.o usage.o applets.o
|
|
||||||
CFLAGS += $(CHECKED_CFLAGS) $(CROSS_CFLAGS)
|
|
||||||
LDFLAGS += $(CHECKED_LDFLAGS)
|
|
||||||
|
|
||||||
ifdef BB_INIT_SCRIPT
|
|
||||||
CFLAGS += -DINIT_SCRIPT='"$(BB_INIT_SCRIPT)"'
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Put user-supplied flags at the end, where they
|
|
||||||
# have a chance of winning.
|
|
||||||
-include $(top_builddir)/.config.mak
|
|
||||||
|
|
||||||
#------------------------------------------------------------
|
|
||||||
# Installation options
|
|
||||||
ifeq ($(strip $(CONFIG_INSTALL_APPLET_HARDLINKS)),y)
|
|
||||||
INSTALL_OPTS=--hardlinks
|
|
||||||
endif
|
|
||||||
ifeq ($(strip $(CONFIG_INSTALL_APPLET_SYMLINKS)),y)
|
|
||||||
INSTALL_OPTS=--symlinks
|
|
||||||
endif
|
|
||||||
ifeq ($(strip $(CONFIG_INSTALL_APPLET_DONT)),y)
|
|
||||||
INSTALL_OPTS=
|
|
||||||
endif
|
|
||||||
|
|
||||||
#------------------------------------------------------------
|
|
||||||
# Make the output nice and tight
|
|
||||||
MAKEFLAGS += --no-print-directory
|
|
||||||
export MAKE_IS_SILENT=n
|
|
||||||
ifneq ($(findstring s,$(MAKEFLAGS)),)
|
|
||||||
export MAKE_IS_SILENT=y
|
|
||||||
SECHO := @-false
|
|
||||||
DISP := sil
|
|
||||||
Q := @
|
|
||||||
else
|
|
||||||
ifneq ($(BUILD_VERBOSE),)
|
|
||||||
SECHO := @-false
|
|
||||||
DISP := ver
|
|
||||||
Q :=
|
|
||||||
else
|
|
||||||
SECHO := @echo
|
|
||||||
DISP := pur
|
|
||||||
Q := @
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
show_objs = $(subst $(top_builddir)/,,$(subst ../,,$@))
|
|
||||||
pur_disp_compile.c = echo " "CC $(show_objs) ;
|
|
||||||
pur_disp_compile.h = echo " "HOSTCC $(show_objs) ;
|
|
||||||
pur_disp_strip = echo " "STRIP $(show_objs) ;
|
|
||||||
pur_disp_link = echo " "LINK $(show_objs) ;
|
|
||||||
pur_disp_link.h = echo " "HOSTLINK $(show_objs) ;
|
|
||||||
pur_disp_ar = echo " "AR $(ARFLAGS) $(show_objs) ;
|
|
||||||
pur_disp_elf2flt = echo " "ELF2FLT $(ELF2FLTFLAGS) $(show_objs) ;
|
|
||||||
sil_disp_compile.c =
|
|
||||||
sil_disp_compile.h =
|
|
||||||
sil_disp_strip =
|
|
||||||
sil_disp_link =
|
|
||||||
sil_disp_link.h =
|
|
||||||
sil_disp_ar =
|
|
||||||
sil_disp_elf2flt =
|
|
||||||
ver_disp_compile.c =
|
|
||||||
ver_disp_compile.h =
|
|
||||||
ver_disp_strip =
|
|
||||||
ver_disp_link =
|
|
||||||
ver_disp_link.h =
|
|
||||||
ver_disp_ar =
|
|
||||||
ver_disp_elf2flt =
|
|
||||||
disp_compile.c = $(Q)$($(DISP)_disp_compile.c)
|
|
||||||
disp_compile.h = $(Q)$($(DISP)_disp_compile.h)
|
|
||||||
disp_strip = $(Q)$($(DISP)_disp_strip)
|
|
||||||
disp_link = $(Q)$($(DISP)_disp_link)
|
|
||||||
disp_link.h = $(Q)$($(DISP)_disp_link.h)
|
|
||||||
disp_ar = $(Q)$($(DISP)_disp_ar)
|
|
||||||
disp_elf2flt = $(Q)$($(DISP)_disp_elf2flt)
|
|
||||||
disp_gen = $(SECHO) " "GEN $@ ; true
|
|
||||||
disp_doc = $(SECHO) " "DOC $(subst docs/,,$@) ; true
|
|
||||||
cmd_compile.c = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
|
|
||||||
cmd_compile.h = $(HOSTCC) $(HOSTCFLAGS) $(INCS) -c -o $@ $<
|
|
||||||
cmd_strip = $(STRIPCMD) $@
|
|
||||||
cmd_link = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) \
|
|
||||||
$(PROG_CFLAGS) $(PROG_LDFLAGS) $(CFLAGS_COMBINE) \
|
|
||||||
-o $@ $(LD_START_GROUP) \
|
|
||||||
$(APPLETS_DEFINE) $(APPLET_SRC) \
|
|
||||||
$(BUSYBOX_DEFINE) $(BUSYBOX_SRC) $(libraries-y) \
|
|
||||||
$(LDBUSYBOX) $(LIBRARIES) \
|
|
||||||
$(LD_END_GROUP)
|
|
||||||
cmd_link.so = $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(LDFLAGS) \
|
|
||||||
$(LIB_CFLAGS) $(CFLAGS_COMBINE) $(LIB_LDFLAGS) \
|
|
||||||
-o $(@) $(LD_START_GROUP) $(LD_WHOLE_ARCHIVE) \
|
|
||||||
$(LIBRARY_DEFINE) $(^) \
|
|
||||||
$(LD_NO_WHOLE_ARCHIVE) $(LD_END_GROUP)
|
|
||||||
cmd_link.h = $(HOSTCC) $(HOSTCFLAGS) $(INCS) $< -o $@
|
|
||||||
cmd_ar = $(AR) $(ARFLAGS) $@ $^
|
|
||||||
cmd_elf2flt = $(ELF2FLT) $(ELF2FLTFLAGS) $< -o $@
|
|
||||||
compile.c = $(disp_compile.c) $(cmd_compile.c)
|
|
||||||
compile.h = $(disp_compile.h) $(cmd_compile.h)
|
|
||||||
do_strip = $(disp_strip) $(cmd_strip)
|
|
||||||
do_link = $(disp_link) $(cmd_link)
|
|
||||||
do_link.so = $(disp_link) $(cmd_link.so)
|
|
||||||
do_link.h = $(disp_link.h) $(cmd_link.h)
|
|
||||||
do_ar = $(disp_ar) $(cmd_ar)
|
|
||||||
do_elf2flt = $(disp_elf2flt) $(cmd_elf2flt)
|
|
||||||
|
|
||||||
uppercase = $(shell echo $1 | $(SED) -e "y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/")
|
|
||||||
%.a:
|
|
||||||
@if test -z "$($(call uppercase,$*)_DIR)" ; then \
|
|
||||||
echo "Invalid target $@" ; \
|
|
||||||
exit 1 ; \
|
|
||||||
fi
|
|
||||||
$(Q)$(MAKE) $($(call uppercase,$*)_DIR)$@
|
|
||||||
|
|
||||||
.PHONY: dummy
|
|
9
applets/Kbuild
Normal file
9
applets/Kbuild
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
obj-y:=
|
||||||
|
obj-y += applets.o
|
||||||
|
obj-y += busybox.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/applets
|
|
||||||
APPLETS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir).depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
APPLETS_AR:=applets.a
|
|
||||||
ifndef $(APPLETS_DIR)
|
|
||||||
APPLETS_DIR:=$(top_builddir)/applets/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/applets
|
|
||||||
|
|
||||||
APPLET_SRC:= $(patsubst %,$(srcdir)/%,applets.c busybox.c)
|
|
||||||
APPLET_OBJ:= $(patsubst $(srcdir)/%.c,$(APPLETS_DIR)%.o, $(APPLET_SRC))
|
|
||||||
|
|
||||||
APPLET_SRC-y+=$(APPLET_SRC)
|
|
||||||
APPLET_SRC-a+=$(APPLET_SRC)
|
|
||||||
|
|
||||||
libraries-y+=$(APPLETS_DIR)$(APPLETS_AR)
|
|
||||||
|
|
||||||
$(APPLETS_DIR)$(APPLETS_AR): $(APPLET_OBJ)
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(APPLET_OBJ): $(top_builddir)/.config
|
|
||||||
$(APPLET_OBJ): $(APPLETS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -42,8 +42,6 @@ const size_t NUM_APPLETS = (sizeof (applets) / sizeof (struct BB_applet) - 1);
|
||||||
#ifdef CONFIG_FEATURE_SUID_CONFIG
|
#ifdef CONFIG_FEATURE_SUID_CONFIG
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "pwd_.h"
|
|
||||||
#include "grp_.h"
|
|
||||||
|
|
||||||
#define CONFIG_FILE "/etc/busybox.conf"
|
#define CONFIG_FILE "/etc/busybox.conf"
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
menu "Archival Utilities"
|
menu "Archival Utilities"
|
||||||
|
|
||||||
config CONFIG_AR
|
config AR
|
||||||
bool "ar"
|
bool "ar"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -28,17 +28,17 @@ config CONFIG_AR
|
||||||
Unless you have a specific application which requires ar, you should
|
Unless you have a specific application which requires ar, you should
|
||||||
probably say N here.
|
probably say N here.
|
||||||
|
|
||||||
config CONFIG_FEATURE_AR_LONG_FILENAMES
|
config FEATURE_AR_LONG_FILENAMES
|
||||||
bool "Enable support for long filenames (not need for debs)"
|
bool "Enable support for long filenames (not need for debs)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_AR
|
depends on AR
|
||||||
help
|
help
|
||||||
By default the ar format can only store the first 15 characters of the
|
By default the ar format can only store the first 15 characters of the
|
||||||
filename, this option removes that limitation.
|
filename, this option removes that limitation.
|
||||||
It supports the GNU ar long filename method which moves multiple long
|
It supports the GNU ar long filename method which moves multiple long
|
||||||
filenames into a the data section of a new ar entry.
|
filenames into a the data section of a new ar entry.
|
||||||
|
|
||||||
config CONFIG_BUNZIP2
|
config BUNZIP2
|
||||||
bool "bunzip2"
|
bool "bunzip2"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -54,7 +54,7 @@ config CONFIG_BUNZIP2
|
||||||
Unless you have a specific application which requires bunzip2, you
|
Unless you have a specific application which requires bunzip2, you
|
||||||
should probably say N here.
|
should probably say N here.
|
||||||
|
|
||||||
config CONFIG_CPIO
|
config CPIO
|
||||||
bool "cpio"
|
bool "cpio"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -68,7 +68,7 @@ config CONFIG_CPIO
|
||||||
Unless you have a specific application which requires cpio, you should
|
Unless you have a specific application which requires cpio, you should
|
||||||
probably say N here.
|
probably say N here.
|
||||||
|
|
||||||
config CONFIG_DPKG
|
config DPKG
|
||||||
bool "dpkg"
|
bool "dpkg"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -77,7 +77,7 @@ config CONFIG_DPKG
|
||||||
This implementation of dpkg has a number of limitations, you should use the
|
This implementation of dpkg has a number of limitations, you should use the
|
||||||
official dpkg if possible.
|
official dpkg if possible.
|
||||||
|
|
||||||
config CONFIG_DPKG_DEB
|
config DPKG_DEB
|
||||||
bool "dpkg_deb"
|
bool "dpkg_deb"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -88,16 +88,16 @@ config CONFIG_DPKG_DEB
|
||||||
Unless you have a specific application which requires dpkg-deb, you should
|
Unless you have a specific application which requires dpkg-deb, you should
|
||||||
probably say N here.
|
probably say N here.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
|
config FEATURE_DPKG_DEB_EXTRACT_ONLY
|
||||||
bool "extract only (-x)"
|
bool "extract only (-x)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DPKG_DEB
|
depends on DPKG_DEB
|
||||||
help
|
help
|
||||||
This reduces dpkg-deb to the equivalent of "ar -p <deb> data.tar.gz | tar -zx".
|
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
|
However it saves space as none of the extra dpkg-deb, ar or tar options are
|
||||||
needed, they are linked to internally.
|
needed, they are linked to internally.
|
||||||
|
|
||||||
config CONFIG_GUNZIP
|
config GUNZIP
|
||||||
bool "gunzip"
|
bool "gunzip"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -105,35 +105,35 @@ config CONFIG_GUNZIP
|
||||||
You can use the `-t' option to test the integrity of
|
You can use the `-t' option to test the integrity of
|
||||||
an archive, without decompressing it.
|
an archive, without decompressing it.
|
||||||
|
|
||||||
config CONFIG_FEATURE_GUNZIP_UNCOMPRESS
|
config FEATURE_GUNZIP_UNCOMPRESS
|
||||||
bool "Uncompress support"
|
bool "Uncompress support"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_GUNZIP
|
depends on GUNZIP
|
||||||
help
|
help
|
||||||
Enable if you want gunzip to have the ability to decompress
|
Enable if you want gunzip to have the ability to decompress
|
||||||
archives created by the program compress (not much
|
archives created by the program compress (not much
|
||||||
used anymore).
|
used anymore).
|
||||||
|
|
||||||
config CONFIG_GZIP
|
config GZIP
|
||||||
bool "gzip"
|
bool "gzip"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
gzip is used to compress files.
|
gzip is used to compress files.
|
||||||
It's probably the most widely used UNIX compression program.
|
It's probably the most widely used UNIX compression program.
|
||||||
|
|
||||||
config CONFIG_RPM2CPIO
|
config RPM2CPIO
|
||||||
bool "rpm2cpio"
|
bool "rpm2cpio"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Converts an RPM file into a CPIO archive.
|
Converts an RPM file into a CPIO archive.
|
||||||
|
|
||||||
config CONFIG_RPM
|
config RPM
|
||||||
bool "rpm"
|
bool "rpm"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Mini RPM applet - queries and extracts
|
Mini RPM applet - queries and extracts
|
||||||
|
|
||||||
config CONFIG_TAR
|
config TAR
|
||||||
bool "tar"
|
bool "tar"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -141,86 +141,86 @@ config CONFIG_TAR
|
||||||
create compressed archives. It's probably the most widely used
|
create compressed archives. It's probably the most widely used
|
||||||
UNIX archive program.
|
UNIX archive program.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_CREATE
|
config FEATURE_TAR_CREATE
|
||||||
bool "Enable archive creation"
|
bool "Enable archive creation"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
If you enable this option you'll be able to create
|
If you enable this option you'll be able to create
|
||||||
tar archives using the `-c' option.
|
tar archives using the `-c' option.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_BZIP2
|
config FEATURE_TAR_BZIP2
|
||||||
bool "Enable -j option to handle .tar.bz2 files"
|
bool "Enable -j option to handle .tar.bz2 files"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
If you enable this option you'll be able to extract
|
If you enable this option you'll be able to extract
|
||||||
archives compressed with bzip2.
|
archives compressed with bzip2.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_LZMA
|
config FEATURE_TAR_LZMA
|
||||||
bool "Enable -a option to handle .tar.lzma files"
|
bool "Enable -a option to handle .tar.lzma files"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
If you enable this option you'll be able to extract
|
If you enable this option you'll be able to extract
|
||||||
archives compressed with lzma.
|
archives compressed with lzma.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_FROM
|
config FEATURE_TAR_FROM
|
||||||
bool "Enable -X (exclude from) and -T (include from) options)"
|
bool "Enable -X (exclude from) and -T (include from) options)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
If you enable this option you'll be able to specify
|
If you enable this option you'll be able to specify
|
||||||
a list of files to include or exclude from an archive.
|
a list of files to include or exclude from an archive.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_GZIP
|
config FEATURE_TAR_GZIP
|
||||||
bool "Enable -z option"
|
bool "Enable -z option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
If you enable this option tar will be able to call gzip,
|
If you enable this option tar will be able to call gzip,
|
||||||
when creating or extracting tar gziped archives.
|
when creating or extracting tar gziped archives.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_COMPRESS
|
config FEATURE_TAR_COMPRESS
|
||||||
bool "Enable -Z option"
|
bool "Enable -Z option"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
If you enable this option tar will be able to call uncompress,
|
If you enable this option tar will be able to call uncompress,
|
||||||
when extracting .tar.Z archives.
|
when extracting .tar.Z archives.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
|
config FEATURE_TAR_OLDGNU_COMPATIBILITY
|
||||||
bool "Enable support for old tar header format"
|
bool "Enable support for old tar header format"
|
||||||
default N
|
default N
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
This option is required to unpack archives created in
|
This option is required to unpack archives created in
|
||||||
the old GNU format; help to kill this old format by
|
the old GNU format; help to kill this old format by
|
||||||
repacking your ancient archives with the new format.
|
repacking your ancient archives with the new format.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_GNU_EXTENSIONS
|
config FEATURE_TAR_GNU_EXTENSIONS
|
||||||
bool "Enable support for some GNU tar extensions"
|
bool "Enable support for some GNU tar extensions"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TAR
|
depends on TAR
|
||||||
help
|
help
|
||||||
With this option busybox supports GNU long filenames and
|
With this option busybox supports GNU long filenames and
|
||||||
linknames.
|
linknames.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TAR_LONG_OPTIONS
|
config FEATURE_TAR_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TAR && CONFIG_GETOPT_LONG
|
depends on TAR && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Enable use of long options, increases size by about 400 Bytes
|
Enable use of long options, increases size by about 400 Bytes
|
||||||
|
|
||||||
config CONFIG_UNCOMPRESS
|
config UNCOMPRESS
|
||||||
bool "uncompress"
|
bool "uncompress"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
uncompress is used to decompress archives created by compress.
|
uncompress is used to decompress archives created by compress.
|
||||||
Not much used anymore, replaced by gzip/gunzip.
|
Not much used anymore, replaced by gzip/gunzip.
|
||||||
|
|
||||||
config CONFIG_UNLZMA
|
config UNLZMA
|
||||||
bool "unlzma"
|
bool "unlzma"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -235,15 +235,15 @@ config CONFIG_UNLZMA
|
||||||
Unless you have a specific application which requires unlzma, you
|
Unless you have a specific application which requires unlzma, you
|
||||||
should probably say N here.
|
should probably say N here.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LZMA_FAST
|
config FEATURE_LZMA_FAST
|
||||||
bool "Optimze unlzma for speed"
|
bool "Optimze unlzma for speed"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_UNLZMA
|
depends on UNLZMA
|
||||||
help
|
help
|
||||||
This option reduces decompression time by about 33% at the cost of
|
This option reduces decompression time by about 33% at the cost of
|
||||||
a 2K bigger binary.
|
a 2K bigger binary.
|
||||||
|
|
||||||
config CONFIG_UNZIP
|
config UNZIP
|
||||||
bool "unzip"
|
bool "unzip"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -254,31 +254,31 @@ config CONFIG_UNZIP
|
||||||
directory of your choice.
|
directory of your choice.
|
||||||
|
|
||||||
comment "Common options for cpio and tar"
|
comment "Common options for cpio and tar"
|
||||||
depends on CONFIG_CPIO || CONFIG_TAR
|
depends on CPIO || TAR
|
||||||
|
|
||||||
config CONFIG_FEATURE_UNARCHIVE_TAPE
|
config FEATURE_UNARCHIVE_TAPE
|
||||||
bool "Enable tape drive support"
|
bool "Enable tape drive support"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_CPIO || CONFIG_TAR
|
depends on CPIO || TAR
|
||||||
help
|
help
|
||||||
I don't think this is needed anymore.
|
I don't think this is needed anymore.
|
||||||
|
|
||||||
comment "Common options for dpkg and dpkg_deb"
|
comment "Common options for dpkg and dpkg_deb"
|
||||||
depends on CONFIG_DPKG || CONFIG_DPKG_DEB
|
depends on DPKG || DPKG_DEB
|
||||||
|
|
||||||
config CONFIG_FEATURE_DEB_TAR_GZ
|
config FEATURE_DEB_TAR_GZ
|
||||||
bool "gzip debian packages (normal)"
|
bool "gzip debian packages (normal)"
|
||||||
default y if CONFIG_DPKG || CONFIG_DPKG_DEB
|
default y if DPKG || DPKG_DEB
|
||||||
depends on CONFIG_DPKG || CONFIG_DPKG_DEB
|
depends on DPKG || DPKG_DEB
|
||||||
help
|
help
|
||||||
This is the default compression method inside the debian ar file.
|
This is the default compression method inside the debian ar file.
|
||||||
|
|
||||||
If you want compatibility with standard .deb's you should say yes here.
|
If you want compatibility with standard .deb's you should say yes here.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DEB_TAR_BZ2
|
config FEATURE_DEB_TAR_BZ2
|
||||||
bool "bzip2 debian packages"
|
bool "bzip2 debian packages"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DPKG || CONFIG_DPKG_DEB
|
depends on DPKG || DPKG_DEB
|
||||||
help
|
help
|
||||||
This allows dpkg and dpkg-deb to extract deb's that are compressed internally
|
This allows dpkg and dpkg-deb to extract deb's that are compressed internally
|
||||||
with bzip2 instead of gzip.
|
with bzip2 instead of gzip.
|
||||||
|
@ -286,10 +286,10 @@ config CONFIG_FEATURE_DEB_TAR_BZ2
|
||||||
You only want this if you are creating your own custom debian packages that
|
You only want this if you are creating your own custom debian packages that
|
||||||
use an internal control.tar.bz2 or data.tar.bz2.
|
use an internal control.tar.bz2 or data.tar.bz2.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DEB_TAR_LZMA
|
config FEATURE_DEB_TAR_LZMA
|
||||||
bool "lzma debian packages"
|
bool "lzma debian packages"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DPKG || CONFIG_DPKG_DEB
|
depends on DPKG || DPKG_DEB
|
||||||
help
|
help
|
||||||
This allows dpkg and dpkg-deb to extract deb's that are compressed
|
This allows dpkg and dpkg-deb to extract deb's that are compressed
|
||||||
internally with lzma instead of gzip.
|
internally with lzma instead of gzip.
|
||||||
|
|
22
archival/Kbuild
Normal file
22
archival/Kbuild
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
libs-y += libunarchive/
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_AR) += ar.o
|
||||||
|
lib-$(CONFIG_BUNZIP2) += bunzip2.o
|
||||||
|
lib-$(CONFIG_UNLZMA) += unlzma.o
|
||||||
|
lib-$(CONFIG_CPIO) += cpio.o
|
||||||
|
lib-$(CONFIG_DPKG) += dpkg.o
|
||||||
|
lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o
|
||||||
|
lib-$(CONFIG_GUNZIP) += gunzip.o
|
||||||
|
lib-$(CONFIG_GZIP) += gzip.o
|
||||||
|
lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o
|
||||||
|
lib-$(CONFIG_RPM) += rpm.o
|
||||||
|
lib-$(CONFIG_TAR) += tar.o
|
||||||
|
lib-$(CONFIG_UNCOMPRESS) += uncompress.o
|
||||||
|
lib-$(CONFIG_UNZIP) += unzip.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
ARCHIVAL_DIR:=./
|
|
||||||
srcdir=$(top_srcdir)/archival
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ARCHIVAL_AR:=archival.a
|
|
||||||
ifndef $(ARCHIVAL_DIR)
|
|
||||||
ARCHIVAL_DIR:=$(top_builddir)/archival/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/archival
|
|
||||||
|
|
||||||
ARCHIVAL-y:=
|
|
||||||
ARCHIVAL-$(CONFIG_AR) += ar.o
|
|
||||||
ARCHIVAL-$(CONFIG_BUNZIP2) += bunzip2.o
|
|
||||||
ARCHIVAL-$(CONFIG_UNLZMA) += unlzma.o
|
|
||||||
ARCHIVAL-$(CONFIG_CPIO) += cpio.o
|
|
||||||
ARCHIVAL-$(CONFIG_DPKG) += dpkg.o
|
|
||||||
ARCHIVAL-$(CONFIG_DPKG_DEB) += dpkg_deb.o
|
|
||||||
ARCHIVAL-$(CONFIG_GUNZIP) += gunzip.o
|
|
||||||
ARCHIVAL-$(CONFIG_GZIP) += gzip.o
|
|
||||||
ARCHIVAL-$(CONFIG_RPM2CPIO) += rpm2cpio.o
|
|
||||||
ARCHIVAL-$(CONFIG_RPM) += rpm.o
|
|
||||||
ARCHIVAL-$(CONFIG_TAR) += tar.o
|
|
||||||
ARCHIVAL-$(CONFIG_UNCOMPRESS) += uncompress.o
|
|
||||||
ARCHIVAL-$(CONFIG_UNZIP) += unzip.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(ARCHIVAL-y)),)
|
|
||||||
libraries-y+=$(ARCHIVAL_DIR)$(ARCHIVAL_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
ARCHIVAL_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(ARCHIVAL-y))
|
|
||||||
ARCHIVAL_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(ARCHIVAL_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(ARCHIVAL_SRC-a)
|
|
||||||
|
|
||||||
$(ARCHIVAL_DIR)$(ARCHIVAL_AR): $(patsubst %,$(ARCHIVAL_DIR)%, $(ARCHIVAL-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(ARCHIVAL_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
59
archival/libunarchive/Kbuild
Normal file
59
archival/libunarchive/Kbuild
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:= \
|
||||||
|
\
|
||||||
|
data_skip.o \
|
||||||
|
data_extract_all.o \
|
||||||
|
data_extract_to_stdout.o \
|
||||||
|
data_extract_to_buffer.o \
|
||||||
|
\
|
||||||
|
filter_accept_all.o \
|
||||||
|
filter_accept_list.o \
|
||||||
|
filter_accept_reject_list.o \
|
||||||
|
\
|
||||||
|
header_skip.o \
|
||||||
|
header_list.o \
|
||||||
|
header_verbose_list.o \
|
||||||
|
\
|
||||||
|
archive_xread_all_eof.o \
|
||||||
|
\
|
||||||
|
seek_by_char.o \
|
||||||
|
seek_by_jump.o \
|
||||||
|
\
|
||||||
|
data_align.o \
|
||||||
|
find_list_entry.o \
|
||||||
|
open_transformer.o \
|
||||||
|
init_handle.o
|
||||||
|
|
||||||
|
GUNZIP_FILES:= check_header_gzip.o decompress_unzip.o
|
||||||
|
DPKG_FILES:= \
|
||||||
|
get_header_ar.o \
|
||||||
|
unpack_ar_archive.o \
|
||||||
|
get_header_tar.o \
|
||||||
|
filter_accept_list_reassign.o
|
||||||
|
|
||||||
|
lib-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o
|
||||||
|
lib-$(CONFIG_BUNZIP2) += decompress_bunzip2.o
|
||||||
|
lib-$(CONFIG_UNLZMA) += decompress_unlzma.o
|
||||||
|
lib-$(CONFIG_CPIO) += get_header_cpio.o
|
||||||
|
lib-$(CONFIG_DPKG) += $(DPKG_FILES)
|
||||||
|
lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES)
|
||||||
|
lib-$(CONFIG_FEATURE_DEB_TAR_GZ) += $(GUNZIP_FILES) get_header_tar_gz.o
|
||||||
|
lib-$(CONFIG_FEATURE_DEB_TAR_BZ2) += decompress_bunzip2.o get_header_tar_bz2.o
|
||||||
|
lib-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
|
||||||
|
lib-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
|
||||||
|
lib-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o
|
||||||
|
lib-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
|
||||||
|
lib-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
|
||||||
|
lib-$(CONFIG_TAR) += get_header_tar.o
|
||||||
|
lib-$(CONFIG_FEATURE_TAR_BZIP2) += decompress_bunzip2.o get_header_tar_bz2.o
|
||||||
|
lib-$(CONFIG_FEATURE_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
|
||||||
|
lib-$(CONFIG_FEATURE_TAR_GZIP) += $(GUNZIP_FILES) get_header_tar_gz.o
|
||||||
|
lib-$(CONFIG_FEATURE_TAR_COMPRESS) += decompress_uncompress.o
|
||||||
|
lib-$(CONFIG_UNCOMPRESS) += decompress_uncompress.o
|
||||||
|
lib-$(CONFIG_UNZIP) += $(GUNZIP_FILES)
|
||||||
|
lib-$(CONFIG_FEATURE_COMPRESS_USAGE) += decompress_bunzip2.o
|
|
@ -1,36 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
#
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=../..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=../..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/archival/libunarchive
|
|
||||||
LIBUNARCHIVE_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,83 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
LIBUNARCHIVE_AR:=libunarchive.a
|
|
||||||
ifndef $(LIBUNARCHIVE_DIR)
|
|
||||||
LIBUNARCHIVE_DIR:=$(top_builddir)/archival/libunarchive
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/archival/libunarchive
|
|
||||||
|
|
||||||
LIBUNARCHIVE-obj:=$(LIBUNARCHIVE_DIR)/$(LIBUNARCHIVE_AR)
|
|
||||||
|
|
||||||
libraries-y+=$(LIBUNARCHIVE-obj)
|
|
||||||
|
|
||||||
LIBUNARCHIVE-y:= \
|
|
||||||
\
|
|
||||||
data_skip.o \
|
|
||||||
data_extract_all.o \
|
|
||||||
data_extract_to_stdout.o \
|
|
||||||
data_extract_to_buffer.o \
|
|
||||||
\
|
|
||||||
filter_accept_all.o \
|
|
||||||
filter_accept_list.o \
|
|
||||||
filter_accept_reject_list.o \
|
|
||||||
\
|
|
||||||
header_skip.o \
|
|
||||||
header_list.o \
|
|
||||||
header_verbose_list.o \
|
|
||||||
\
|
|
||||||
archive_xread_all_eof.o \
|
|
||||||
\
|
|
||||||
seek_by_char.o \
|
|
||||||
seek_by_jump.o \
|
|
||||||
\
|
|
||||||
data_align.o \
|
|
||||||
find_list_entry.o \
|
|
||||||
open_transformer.o \
|
|
||||||
init_handle.o
|
|
||||||
|
|
||||||
GUNZIP_FILES:= check_header_gzip.o decompress_unzip.o
|
|
||||||
DPKG_FILES:= \
|
|
||||||
get_header_ar.o \
|
|
||||||
unpack_ar_archive.o \
|
|
||||||
get_header_tar.o \
|
|
||||||
filter_accept_list_reassign.o
|
|
||||||
|
|
||||||
LIBUNARCHIVE-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_BUNZIP2) += decompress_bunzip2.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_UNLZMA) += decompress_unlzma.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_CPIO) += get_header_cpio.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_DPKG) += $(DPKG_FILES)
|
|
||||||
LIBUNARCHIVE-$(CONFIG_DPKG_DEB) += $(DPKG_FILES)
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_GZ) += $(GUNZIP_FILES) get_header_tar_gz.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_BZ2) += decompress_bunzip2.o get_header_tar_bz2.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_TAR) += get_header_tar.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_BZIP2) += decompress_bunzip2.o get_header_tar_bz2.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_GZIP) += $(GUNZIP_FILES) get_header_tar_gz.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_COMPRESS) += decompress_uncompress.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_UNCOMPRESS) += decompress_uncompress.o
|
|
||||||
LIBUNARCHIVE-$(CONFIG_UNZIP) += $(GUNZIP_FILES)
|
|
||||||
LIBUNARCHIVE-$(CONFIG_FEATURE_COMPRESS_USAGE) += decompress_bunzip2.o
|
|
||||||
|
|
||||||
|
|
||||||
LIBUNARCHIVE-y:=$(sort $(LIBUNARCHIVE-y))
|
|
||||||
|
|
||||||
LIBUNARCHIVE_SRC-y:=$(patsubst %,$(srcdir)/%,$(subst .o,.c,$(LIBUNARCHIVE-y)))
|
|
||||||
LIBUNARCHIVE_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
LIBRARY_SRC-y+=$(LIBUNARCHIVE_SRC-y)
|
|
||||||
LIBRARY_SRC-a+=$(LIBUNARCHIVE_SRC-a)
|
|
||||||
|
|
||||||
$(LIBUNARCHIVE_DIR)/$(LIBUNARCHIVE_AR): $(patsubst %,$(LIBUNARCHIVE_DIR)/%,$(LIBUNARCHIVE-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(LIBUNARCHIVE_DIR)/%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,81 +5,81 @@
|
||||||
|
|
||||||
menu "Console Utilities"
|
menu "Console Utilities"
|
||||||
|
|
||||||
config CONFIG_CHVT
|
config CHVT
|
||||||
bool "chvt"
|
bool "chvt"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program is used to change to another terminal.
|
This program is used to change to another terminal.
|
||||||
Example: chvt 4 (change to terminal /dev/tty4)
|
Example: chvt 4 (change to terminal /dev/tty4)
|
||||||
|
|
||||||
config CONFIG_CLEAR
|
config CLEAR
|
||||||
bool "clear"
|
bool "clear"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program clears the terminal screen.
|
This program clears the terminal screen.
|
||||||
|
|
||||||
config CONFIG_DEALLOCVT
|
config DEALLOCVT
|
||||||
bool "deallocvt"
|
bool "deallocvt"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program deallocates unused virtual consoles.
|
This program deallocates unused virtual consoles.
|
||||||
|
|
||||||
config CONFIG_DUMPKMAP
|
config DUMPKMAP
|
||||||
bool "dumpkmap"
|
bool "dumpkmap"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program dumps the kernel's keyboard translation table to
|
This program dumps the kernel's keyboard translation table to
|
||||||
stdout, in binary format. You can then use loadkmap to load it.
|
stdout, in binary format. You can then use loadkmap to load it.
|
||||||
|
|
||||||
config CONFIG_LOADFONT
|
config LOADFONT
|
||||||
bool "loadfont"
|
bool "loadfont"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program loads a console font from standard input.
|
This program loads a console font from standard input.
|
||||||
|
|
||||||
config CONFIG_LOADKMAP
|
config LOADKMAP
|
||||||
bool "loadkmap"
|
bool "loadkmap"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program loads a keyboard translation table from
|
This program loads a keyboard translation table from
|
||||||
standard input.
|
standard input.
|
||||||
|
|
||||||
config CONFIG_OPENVT
|
config OPENVT
|
||||||
bool "openvt"
|
bool "openvt"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program is used to start a command on an unused
|
This program is used to start a command on an unused
|
||||||
virtual terminal.
|
virtual terminal.
|
||||||
|
|
||||||
config CONFIG_RESET
|
config RESET
|
||||||
bool "reset"
|
bool "reset"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program is used to reset the terminal screen, if it
|
This program is used to reset the terminal screen, if it
|
||||||
gets messed up.
|
gets messed up.
|
||||||
|
|
||||||
config CONFIG_SETCONSOLE
|
config SETCONSOLE
|
||||||
bool "setconsole"
|
bool "setconsole"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program redirects the system console to another device,
|
This program redirects the system console to another device,
|
||||||
like the current tty while logged in via telnet.
|
like the current tty while logged in via telnet.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
|
config FEATURE_SETCONSOLE_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_SET_CONSOLE && CONFIG_GETOPT_LONG
|
depends on SET_CONSOLE && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the setconsole applet.
|
Support long options for the setconsole applet.
|
||||||
|
|
||||||
config CONFIG_SETKEYCODES
|
config SETKEYCODES
|
||||||
bool "setkeycodes"
|
bool "setkeycodes"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program loads entries into the kernel's scancode-to-keycode
|
This program loads entries into the kernel's scancode-to-keycode
|
||||||
map, allowing unusual keyboards to generate usable keycodes.
|
map, allowing unusual keyboards to generate usable keycodes.
|
||||||
|
|
||||||
config CONFIG_SETLOGCONS
|
config SETLOGCONS
|
||||||
bool "setlogcons"
|
bool "setlogcons"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
|
18
console-tools/Kbuild
Normal file
18
console-tools/Kbuild
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_CHVT) += chvt.o
|
||||||
|
lib-$(CONFIG_CLEAR) += clear.o
|
||||||
|
lib-$(CONFIG_DEALLOCVT) += deallocvt.o
|
||||||
|
lib-$(CONFIG_DUMPKMAP) += dumpkmap.o
|
||||||
|
lib-$(CONFIG_SETCONSOLE) += setconsole.o
|
||||||
|
lib-$(CONFIG_LOADFONT) += loadfont.o
|
||||||
|
lib-$(CONFIG_LOADKMAP) += loadkmap.o
|
||||||
|
lib-$(CONFIG_OPENVT) += openvt.o
|
||||||
|
lib-$(CONFIG_RESET) += reset.o
|
||||||
|
lib-$(CONFIG_SETKEYCODES) += setkeycodes.o
|
||||||
|
lib-$(CONFIG_SETLOGCONS) += setlogcons.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/console/tools
|
|
||||||
CONSOLETOOLS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
CONSOLETOOLS_AR:=console-tools.a
|
|
||||||
ifndef $(CONSOLETOOLS_DIR)
|
|
||||||
CONSOLETOOLS_DIR:=$(top_builddir)/console-tools/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/console-tools
|
|
||||||
|
|
||||||
CONSOLETOOLS-y:=
|
|
||||||
CONSOLETOOLS-$(CONFIG_CHVT) += chvt.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_CLEAR) += clear.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_DEALLOCVT) += deallocvt.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_DUMPKMAP) += dumpkmap.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_SETCONSOLE) += setconsole.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_LOADFONT) += loadfont.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_LOADKMAP) += loadkmap.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_OPENVT) += openvt.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_RESET) += reset.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_SETKEYCODES) += setkeycodes.o
|
|
||||||
CONSOLETOOLS-$(CONFIG_SETLOGCONS) += setlogcons.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(CONSOLETOOLS-y)),)
|
|
||||||
libraries-y+=$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR)
|
|
||||||
endif
|
|
||||||
CONSOLETOOLS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(CONSOLETOOLS-y))
|
|
||||||
CONSOLETOOLS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(CONSOLETOOLS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(CONSOLETOOLS_SRC-a)
|
|
||||||
|
|
||||||
$(CONSOLETOOLS_DIR)$(CONSOLETOOLS_AR): $(patsubst %,$(CONSOLETOOLS_DIR)%, $(CONSOLETOOLS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(CONSOLETOOLS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
menu "Coreutils"
|
menu "Coreutils"
|
||||||
|
|
||||||
config CONFIG_BASENAME
|
config BASENAME
|
||||||
bool "basename"
|
bool "basename"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -13,101 +13,101 @@ config CONFIG_BASENAME
|
||||||
leaving just the filename itself. Enable this option if you wish
|
leaving just the filename itself. Enable this option if you wish
|
||||||
to enable the 'basename' utility.
|
to enable the 'basename' utility.
|
||||||
|
|
||||||
config CONFIG_CAL
|
config CAL
|
||||||
bool "cal"
|
bool "cal"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
cal is used to display a monthly calender.
|
cal is used to display a monthly calender.
|
||||||
|
|
||||||
config CONFIG_CAT
|
config CAT
|
||||||
bool "cat"
|
bool "cat"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
cat is used to concatenate files and print them to the standard
|
cat is used to concatenate files and print them to the standard
|
||||||
output. Enable this option if you wish to enable the 'cat' utility.
|
output. Enable this option if you wish to enable the 'cat' utility.
|
||||||
|
|
||||||
config CONFIG_CATV
|
config CATV
|
||||||
bool "catv"
|
bool "catv"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Display nonprinting characters as escape sequences (like some
|
Display nonprinting characters as escape sequences (like some
|
||||||
implementations' cat -v option).
|
implementations' cat -v option).
|
||||||
|
|
||||||
config CONFIG_CHGRP
|
config CHGRP
|
||||||
bool "chgrp"
|
bool "chgrp"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
chgrp is used to change the group ownership of files.
|
chgrp is used to change the group ownership of files.
|
||||||
|
|
||||||
config CONFIG_CHMOD
|
config CHMOD
|
||||||
bool "chmod"
|
bool "chmod"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
chmod is used to change the access permission of files.
|
chmod is used to change the access permission of files.
|
||||||
|
|
||||||
config CONFIG_CHOWN
|
config CHOWN
|
||||||
bool "chown"
|
bool "chown"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
chown is used to change the user and/or group ownership
|
chown is used to change the user and/or group ownership
|
||||||
of files.
|
of files.
|
||||||
|
|
||||||
config CONFIG_CHROOT
|
config CHROOT
|
||||||
bool "chroot"
|
bool "chroot"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
chroot is used to change the root directory and run a command.
|
chroot is used to change the root directory and run a command.
|
||||||
The default command is `/bin/sh'.
|
The default command is `/bin/sh'.
|
||||||
|
|
||||||
config CONFIG_CKSUM
|
config CKSUM
|
||||||
bool "cksum"
|
bool "cksum"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
cksum is used to calculate the CRC32 checksum of a file.
|
cksum is used to calculate the CRC32 checksum of a file.
|
||||||
|
|
||||||
config CONFIG_CMP
|
config CMP
|
||||||
bool "cmp"
|
bool "cmp"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
cmp is used to compare two files and returns the result
|
cmp is used to compare two files and returns the result
|
||||||
to standard output.
|
to standard output.
|
||||||
|
|
||||||
config CONFIG_COMM
|
config COMM
|
||||||
bool "comm"
|
bool "comm"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
comm is used to compare two files line by line and return
|
comm is used to compare two files line by line and return
|
||||||
a three-column output.
|
a three-column output.
|
||||||
|
|
||||||
config CONFIG_CP
|
config CP
|
||||||
bool "cp"
|
bool "cp"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
cp is used to copy files and directories.
|
cp is used to copy files and directories.
|
||||||
|
|
||||||
config CONFIG_CUT
|
config CUT
|
||||||
bool "cut"
|
bool "cut"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
cut is used to print selected parts of lines from
|
cut is used to print selected parts of lines from
|
||||||
each file to stdout.
|
each file to stdout.
|
||||||
|
|
||||||
config CONFIG_DATE
|
config DATE
|
||||||
bool "date"
|
bool "date"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
date is used to set the system date or display the
|
date is used to set the system date or display the
|
||||||
current time in the given format.
|
current time in the given format.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DATE_ISOFMT
|
config FEATURE_DATE_ISOFMT
|
||||||
bool "Enable ISO date format output (-I)"
|
bool "Enable ISO date format output (-I)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_DATE
|
depends on DATE
|
||||||
help
|
help
|
||||||
Enable option (-I) to output an ISO-8601 compliant
|
Enable option (-I) to output an ISO-8601 compliant
|
||||||
date/time string.
|
date/time string.
|
||||||
|
|
||||||
config CONFIG_DD
|
config DD
|
||||||
bool "dd"
|
bool "dd"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -115,10 +115,10 @@ config CONFIG_DD
|
||||||
by default) using specific input and output blocksizes,
|
by default) using specific input and output blocksizes,
|
||||||
while optionally performing conversions on it.
|
while optionally performing conversions on it.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DD_SIGNAL_HANDLING
|
config FEATURE_DD_SIGNAL_HANDLING
|
||||||
bool "Enable DD signal handling for status reporting"
|
bool "Enable DD signal handling for status reporting"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_DD
|
depends on DD
|
||||||
help
|
help
|
||||||
sending a SIGUSR1 signal to a running `dd' process makes it
|
sending a SIGUSR1 signal to a running `dd' process makes it
|
||||||
print to standard error the number of records read and written
|
print to standard error the number of records read and written
|
||||||
|
@ -127,22 +127,22 @@ config CONFIG_FEATURE_DD_SIGNAL_HANDLING
|
||||||
$ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid
|
$ dd if=/dev/zero of=/dev/null& pid=$! $ kill -USR1 $pid; sleep 1; kill $pid
|
||||||
10899206+0 records in 10899206+0 records out
|
10899206+0 records in 10899206+0 records out
|
||||||
|
|
||||||
config CONFIG_FEATURE_DD_IBS_OBS
|
config FEATURE_DD_IBS_OBS
|
||||||
bool "Enable ibs, obs and conv options"
|
bool "Enable ibs, obs and conv options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DD
|
depends on DD
|
||||||
help
|
help
|
||||||
Enables support for writing a certain number of bytes in and out,
|
Enables support for writing a certain number of bytes in and out,
|
||||||
at a time, and performing conversions on the data stream.
|
at a time, and performing conversions on the data stream.
|
||||||
|
|
||||||
config CONFIG_DF
|
config DF
|
||||||
bool "df"
|
bool "df"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
df reports the amount of disk space used and available
|
df reports the amount of disk space used and available
|
||||||
on filesystems.
|
on filesystems.
|
||||||
|
|
||||||
config CONFIG_DIFF
|
config DIFF
|
||||||
bool "diff"
|
bool "diff"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -150,81 +150,81 @@ config CONFIG_DIFF
|
||||||
differences between them in a form that can be given to
|
differences between them in a form that can be given to
|
||||||
the patch command.
|
the patch command.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DIFF_BINARY
|
config FEATURE_DIFF_BINARY
|
||||||
bool "Enable checks for binary files"
|
bool "Enable checks for binary files"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_DIFF
|
depends on DIFF
|
||||||
help
|
help
|
||||||
This option enables support for checking for binary files
|
This option enables support for checking for binary files
|
||||||
before a comparison is carried out.
|
before a comparison is carried out.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DIFF_DIR
|
config FEATURE_DIFF_DIR
|
||||||
bool "Enable directory support"
|
bool "Enable directory support"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_DIFF
|
depends on DIFF
|
||||||
help
|
help
|
||||||
This option enables support for directory and subdirectory
|
This option enables support for directory and subdirectory
|
||||||
comparison.
|
comparison.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DIFF_MINIMAL
|
config FEATURE_DIFF_MINIMAL
|
||||||
bool "Enable -d option to find smaller sets of changes"
|
bool "Enable -d option to find smaller sets of changes"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DIFF
|
depends on DIFF
|
||||||
help
|
help
|
||||||
Enabling this option allows the use of -d to make diff
|
Enabling this option allows the use of -d to make diff
|
||||||
try hard to find the smallest possible set of changes.
|
try hard to find the smallest possible set of changes.
|
||||||
|
|
||||||
config CONFIG_DIRNAME
|
config DIRNAME
|
||||||
bool "dirname"
|
bool "dirname"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
dirname is used to strip a non-directory suffix from
|
dirname is used to strip a non-directory suffix from
|
||||||
a file name.
|
a file name.
|
||||||
|
|
||||||
config CONFIG_DOS2UNIX
|
config DOS2UNIX
|
||||||
bool "dos2unix/unix2dos"
|
bool "dos2unix/unix2dos"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
dos2unix is used to convert a text file from DOS format to
|
dos2unix is used to convert a text file from DOS format to
|
||||||
UNIX format, and vice versa.
|
UNIX format, and vice versa.
|
||||||
|
|
||||||
config CONFIG_UNIX2DOS
|
config UNIX2DOS
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_DOS2UNIX
|
depends on DOS2UNIX
|
||||||
help
|
help
|
||||||
unix2dos is used to convert a text file from UNIX format to
|
unix2dos is used to convert a text file from UNIX format to
|
||||||
DOS format, and vice versa.
|
DOS format, and vice versa.
|
||||||
|
|
||||||
config CONFIG_DU
|
config DU
|
||||||
bool "du (default blocksize of 512 bytes)"
|
bool "du (default blocksize of 512 bytes)"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
du is used to report the amount of disk space used
|
du is used to report the amount of disk space used
|
||||||
for specified files.
|
for specified files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
|
config FEATURE_DU_DEFAULT_BLOCKSIZE_1K
|
||||||
bool "Use a default blocksize of 1024 bytes (1K)"
|
bool "Use a default blocksize of 1024 bytes (1K)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_DU
|
depends on DU
|
||||||
help
|
help
|
||||||
Use a blocksize of (1K) instead of the default 512b.
|
Use a blocksize of (1K) instead of the default 512b.
|
||||||
|
|
||||||
config CONFIG_ECHO
|
config ECHO
|
||||||
bool "echo (basic SuSv3 version taking no options)"
|
bool "echo (basic SuSv3 version taking no options)"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
echo is used to print a specified string to stdout.
|
echo is used to print a specified string to stdout.
|
||||||
|
|
||||||
# this entry also appears in shell/Config.in, next to the echo builtin
|
# this entry also appears in shell/Config.in, next to the echo builtin
|
||||||
config CONFIG_FEATURE_FANCY_ECHO
|
config FEATURE_FANCY_ECHO
|
||||||
bool "Enable echo options (-n and -e)"
|
bool "Enable echo options (-n and -e)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_ECHO
|
depends on ECHO
|
||||||
help
|
help
|
||||||
This adds options (-n and -e) to echo.
|
This adds options (-n and -e) to echo.
|
||||||
|
|
||||||
config CONFIG_ENV
|
config ENV
|
||||||
bool "env"
|
bool "env"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -232,158 +232,158 @@ config CONFIG_ENV
|
||||||
a command; without options it displays the current
|
a command; without options it displays the current
|
||||||
environment.
|
environment.
|
||||||
|
|
||||||
config CONFIG_FEATURE_ENV_LONG_OPTIONS
|
config FEATURE_ENV_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_ENV && CONFIG_GETOPT_LONG
|
depends on ENV && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the env applet.
|
Support long options for the env applet.
|
||||||
|
|
||||||
config CONFIG_EXPR
|
config EXPR
|
||||||
bool "expr"
|
bool "expr"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
expr is used to calculate numbers and print the result
|
expr is used to calculate numbers and print the result
|
||||||
to standard output.
|
to standard output.
|
||||||
|
|
||||||
config CONFIG_EXPR_MATH_SUPPORT_64
|
config EXPR_MATH_SUPPORT_64
|
||||||
bool "Extend Posix numbers support to 64 bit"
|
bool "Extend Posix numbers support to 64 bit"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_EXPR
|
depends on EXPR
|
||||||
help
|
help
|
||||||
Enable 64-bit math support in the expr applet. This will make
|
Enable 64-bit math support in the expr applet. This will make
|
||||||
the applet slightly larger, but will allow computation with very
|
the applet slightly larger, but will allow computation with very
|
||||||
large numbers.
|
large numbers.
|
||||||
|
|
||||||
config CONFIG_FALSE
|
config FALSE
|
||||||
bool "false"
|
bool "false"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
false returns an exit code of FALSE (1).
|
false returns an exit code of FALSE (1).
|
||||||
|
|
||||||
config CONFIG_FOLD
|
config FOLD
|
||||||
bool "fold"
|
bool "fold"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Wrap text to fit a specific width.
|
Wrap text to fit a specific width.
|
||||||
|
|
||||||
config CONFIG_HEAD
|
config HEAD
|
||||||
bool "head"
|
bool "head"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
head is used to print the first specified number of lines
|
head is used to print the first specified number of lines
|
||||||
from files.
|
from files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FANCY_HEAD
|
config FEATURE_FANCY_HEAD
|
||||||
bool "Enable head options (-c, -q, and -v)"
|
bool "Enable head options (-c, -q, and -v)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HEAD
|
depends on HEAD
|
||||||
help
|
help
|
||||||
This enables the head options (-c, -q, and -v).
|
This enables the head options (-c, -q, and -v).
|
||||||
|
|
||||||
config CONFIG_HOSTID
|
config HOSTID
|
||||||
bool "hostid"
|
bool "hostid"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
hostid prints the numeric identifier (in hexadecimal) for
|
hostid prints the numeric identifier (in hexadecimal) for
|
||||||
the current host.
|
the current host.
|
||||||
|
|
||||||
config CONFIG_ID
|
config ID
|
||||||
bool "id"
|
bool "id"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
id displays the current user and group ID names.
|
id displays the current user and group ID names.
|
||||||
|
|
||||||
config CONFIG_INSTALL
|
config INSTALL
|
||||||
bool "install"
|
bool "install"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Copy files and set attributes.
|
Copy files and set attributes.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INSTALL_LONG_OPTIONS
|
config FEATURE_INSTALL_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INSTALL && CONFIG_GETOPT_LONG
|
depends on INSTALL && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the install applet.
|
Support long options for the install applet.
|
||||||
|
|
||||||
config CONFIG_LENGTH
|
config LENGTH
|
||||||
bool "length"
|
bool "length"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
length is used to print out the length of a specified string.
|
length is used to print out the length of a specified string.
|
||||||
|
|
||||||
config CONFIG_LN
|
config LN
|
||||||
bool "ln"
|
bool "ln"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
ln is used to create hard or soft links between files.
|
ln is used to create hard or soft links between files.
|
||||||
|
|
||||||
config CONFIG_LOGNAME
|
config LOGNAME
|
||||||
bool "logname"
|
bool "logname"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
logname is used to print the current user's login name.
|
logname is used to print the current user's login name.
|
||||||
|
|
||||||
config CONFIG_LS
|
config LS
|
||||||
bool "ls"
|
bool "ls"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
ls is used to list the contents of directories.
|
ls is used to list the contents of directories.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_FILETYPES
|
config FEATURE_LS_FILETYPES
|
||||||
bool "Enable filetyping options (-p and -F)"
|
bool "Enable filetyping options (-p and -F)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS
|
depends on LS
|
||||||
help
|
help
|
||||||
Enable the ls options (-p and -F).
|
Enable the ls options (-p and -F).
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_FOLLOWLINKS
|
config FEATURE_LS_FOLLOWLINKS
|
||||||
bool "Enable symlinks dereferencing (-L)"
|
bool "Enable symlinks dereferencing (-L)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS
|
depends on LS
|
||||||
help
|
help
|
||||||
Enable the ls option (-L).
|
Enable the ls option (-L).
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_RECURSIVE
|
config FEATURE_LS_RECURSIVE
|
||||||
bool "Enable recursion (-R)"
|
bool "Enable recursion (-R)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS
|
depends on LS
|
||||||
help
|
help
|
||||||
Enable the ls option (-R).
|
Enable the ls option (-R).
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_SORTFILES
|
config FEATURE_LS_SORTFILES
|
||||||
bool "Sort the file names"
|
bool "Sort the file names"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS
|
depends on LS
|
||||||
help
|
help
|
||||||
Allow ls to sort file names alphabetically.
|
Allow ls to sort file names alphabetically.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_TIMESTAMPS
|
config FEATURE_LS_TIMESTAMPS
|
||||||
bool "Show file timestamps"
|
bool "Show file timestamps"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS
|
depends on LS
|
||||||
help
|
help
|
||||||
Allow ls to display timestamps for files.
|
Allow ls to display timestamps for files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_USERNAME
|
config FEATURE_LS_USERNAME
|
||||||
bool "Show username/groupnames"
|
bool "Show username/groupnames"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS
|
depends on LS
|
||||||
help
|
help
|
||||||
Allow ls to display username/groupname for files.
|
Allow ls to display username/groupname for files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_COLOR
|
config FEATURE_LS_COLOR
|
||||||
bool "Allow use of color to identify file types"
|
bool "Allow use of color to identify file types"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS && CONFIG_GETOPT_LONG
|
depends on LS && GETOPT_LONG
|
||||||
help
|
help
|
||||||
This enables the --color option to ls.
|
This enables the --color option to ls.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
|
config FEATURE_LS_COLOR_IS_DEFAULT
|
||||||
bool "Produce colored ls output by default"
|
bool "Produce colored ls output by default"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_FEATURE_LS_COLOR
|
depends on FEATURE_LS_COLOR
|
||||||
help
|
help
|
||||||
Saying yes here will turn coloring on by default,
|
Saying yes here will turn coloring on by default,
|
||||||
even if no "--color" option is given to the ls command.
|
even if no "--color" option is given to the ls command.
|
||||||
|
@ -391,143 +391,143 @@ config CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
|
||||||
configurable, and the output may not be legible on
|
configurable, and the output may not be legible on
|
||||||
many output screens.
|
many output screens.
|
||||||
|
|
||||||
config CONFIG_MD5SUM
|
config MD5SUM
|
||||||
bool "md5sum"
|
bool "md5sum"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
md5sum is used to print or check MD5 checksums.
|
md5sum is used to print or check MD5 checksums.
|
||||||
|
|
||||||
config CONFIG_MKDIR
|
config MKDIR
|
||||||
bool "mkdir"
|
bool "mkdir"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
mkdir is used to create directories with the specified names.
|
mkdir is used to create directories with the specified names.
|
||||||
|
|
||||||
config CONFIG_FEATURE_MKDIR_LONG_OPTIONS
|
config FEATURE_MKDIR_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_MKDIR && CONFIG_GETOPT_LONG
|
depends on MKDIR && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the mkdir applet.
|
Support long options for the mkdir applet.
|
||||||
|
|
||||||
config CONFIG_MKFIFO
|
config MKFIFO
|
||||||
bool "mkfifo"
|
bool "mkfifo"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
mkfifo is used to create FIFOs (named pipes).
|
mkfifo is used to create FIFOs (named pipes).
|
||||||
The `mknod' program can also create FIFOs.
|
The `mknod' program can also create FIFOs.
|
||||||
|
|
||||||
config CONFIG_MKNOD
|
config MKNOD
|
||||||
bool "mknod"
|
bool "mknod"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
mknod is used to create FIFOs or block/character special
|
mknod is used to create FIFOs or block/character special
|
||||||
files with the specified names.
|
files with the specified names.
|
||||||
|
|
||||||
config CONFIG_MV
|
config MV
|
||||||
bool "mv"
|
bool "mv"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
mv is used to move or rename files or directories.
|
mv is used to move or rename files or directories.
|
||||||
|
|
||||||
config CONFIG_FEATURE_MV_LONG_OPTIONS
|
config FEATURE_MV_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_MV && CONFIG_GETOPT_LONG
|
depends on MV && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the mv applet.
|
Support long options for the mv applet.
|
||||||
|
|
||||||
config CONFIG_NICE
|
config NICE
|
||||||
bool "nice"
|
bool "nice"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
nice runs a program with modified scheduling priority.
|
nice runs a program with modified scheduling priority.
|
||||||
|
|
||||||
config CONFIG_NOHUP
|
config NOHUP
|
||||||
bool "nohup"
|
bool "nohup"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
run a command immune to hangups, with output to a non-tty.
|
run a command immune to hangups, with output to a non-tty.
|
||||||
|
|
||||||
config CONFIG_OD
|
config OD
|
||||||
bool "od"
|
bool "od"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
od is used to dump binary files in octal and other formats.
|
od is used to dump binary files in octal and other formats.
|
||||||
|
|
||||||
config CONFIG_PRINTENV
|
config PRINTENV
|
||||||
bool "printenv"
|
bool "printenv"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
printenv is used to print all or part of environment.
|
printenv is used to print all or part of environment.
|
||||||
|
|
||||||
config CONFIG_PRINTF
|
config PRINTF
|
||||||
bool "printf"
|
bool "printf"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
printf is used to format and print specified strings.
|
printf is used to format and print specified strings.
|
||||||
It's similar to `echo' except it has more options.
|
It's similar to `echo' except it has more options.
|
||||||
|
|
||||||
config CONFIG_PWD
|
config PWD
|
||||||
bool "pwd"
|
bool "pwd"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
pwd is used to print the current directory.
|
pwd is used to print the current directory.
|
||||||
|
|
||||||
config CONFIG_REALPATH
|
config REALPATH
|
||||||
bool "realpath"
|
bool "realpath"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Return the canonicalized absolute pathname.
|
Return the canonicalized absolute pathname.
|
||||||
This isn't provided by GNU shellutils, but where else does it belong.
|
This isn't provided by GNU shellutils, but where else does it belong.
|
||||||
|
|
||||||
config CONFIG_RM
|
config RM
|
||||||
bool "rm"
|
bool "rm"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
rm is used to remove files or directories.
|
rm is used to remove files or directories.
|
||||||
|
|
||||||
config CONFIG_RMDIR
|
config RMDIR
|
||||||
bool "rmdir"
|
bool "rmdir"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
rmdir is used to remove empty directories.
|
rmdir is used to remove empty directories.
|
||||||
|
|
||||||
config CONFIG_SEQ
|
config SEQ
|
||||||
bool "seq"
|
bool "seq"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
print a sequence of numbers
|
print a sequence of numbers
|
||||||
|
|
||||||
config CONFIG_SHA1SUM
|
config SHA1SUM
|
||||||
bool "sha1sum"
|
bool "sha1sum"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Compute and check SHA1 message digest
|
Compute and check SHA1 message digest
|
||||||
|
|
||||||
config CONFIG_SLEEP
|
config SLEEP
|
||||||
bool "sleep (single integer arg with no suffix)"
|
bool "sleep (single integer arg with no suffix)"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
sleep is used to pause for a specified number of seconds,
|
sleep is used to pause for a specified number of seconds,
|
||||||
|
|
||||||
config CONFIG_FEATURE_FANCY_SLEEP
|
config FEATURE_FANCY_SLEEP
|
||||||
bool "Enable multiple integer args and optional time suffixes"
|
bool "Enable multiple integer args and optional time suffixes"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_SLEEP
|
depends on SLEEP
|
||||||
help
|
help
|
||||||
Allow sleep to pause for specified minutes, hours, and days.
|
Allow sleep to pause for specified minutes, hours, and days.
|
||||||
|
|
||||||
config CONFIG_SORT
|
config SORT
|
||||||
bool "sort"
|
bool "sort"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
sort is used to sort lines of text in specified files.
|
sort is used to sort lines of text in specified files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SORT_BIG
|
config FEATURE_SORT_BIG
|
||||||
bool "full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
|
bool "full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_SORT
|
depends on SORT
|
||||||
help
|
help
|
||||||
Without this, sort only supports -r, -u, and an integer version
|
Without this, sort only supports -r, -u, and an integer version
|
||||||
of -n. Selecting this adds sort keys, floating point support, and
|
of -n. Selecting this adds sort keys, floating point support, and
|
||||||
|
@ -536,69 +536,69 @@ config CONFIG_FEATURE_SORT_BIG
|
||||||
The SuSv3 sort standard is available at:
|
The SuSv3 sort standard is available at:
|
||||||
http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
|
http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
|
||||||
|
|
||||||
config CONFIG_STAT
|
config STAT
|
||||||
bool "stat"
|
bool "stat"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
display file or filesystem status.
|
display file or filesystem status.
|
||||||
|
|
||||||
config CONFIG_FEATURE_STAT_FORMAT
|
config FEATURE_STAT_FORMAT
|
||||||
bool "Enable custom formats (-c)"
|
bool "Enable custom formats (-c)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_STAT
|
depends on STAT
|
||||||
help
|
help
|
||||||
Without this, stat will not support the '-c format' option where
|
Without this, stat will not support the '-c format' option where
|
||||||
users can pass a custom format string for output. This adds about
|
users can pass a custom format string for output. This adds about
|
||||||
7k to a nonstatic build on amd64.
|
7k to a nonstatic build on amd64.
|
||||||
|
|
||||||
config CONFIG_STTY
|
config STTY
|
||||||
bool "stty"
|
bool "stty"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
stty is used to change and print terminal line settings.
|
stty is used to change and print terminal line settings.
|
||||||
|
|
||||||
config CONFIG_SUM
|
config SUM
|
||||||
bool "sum"
|
bool "sum"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
checksum and count the blocks in a file
|
checksum and count the blocks in a file
|
||||||
|
|
||||||
config CONFIG_SYNC
|
config SYNC
|
||||||
bool "sync"
|
bool "sync"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
sync is used to flush filesystem buffers.
|
sync is used to flush filesystem buffers.
|
||||||
|
|
||||||
config CONFIG_TAIL
|
config TAIL
|
||||||
bool "tail"
|
bool "tail"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
tail is used to print the last specified number of lines
|
tail is used to print the last specified number of lines
|
||||||
from files.
|
from files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FANCY_TAIL
|
config FEATURE_FANCY_TAIL
|
||||||
bool "Enable extra tail options (-q, -s, and -v)"
|
bool "Enable extra tail options (-q, -s, and -v)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TAIL
|
depends on TAIL
|
||||||
help
|
help
|
||||||
The options (-q, -s, and -v) are provided by GNU tail, but
|
The options (-q, -s, and -v) are provided by GNU tail, but
|
||||||
are not specific in the SUSv3 standard.
|
are not specific in the SUSv3 standard.
|
||||||
|
|
||||||
config CONFIG_TEE
|
config TEE
|
||||||
bool "tee"
|
bool "tee"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
tee is used to read from standard input and write
|
tee is used to read from standard input and write
|
||||||
to standard output and files.
|
to standard output and files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TEE_USE_BLOCK_IO
|
config FEATURE_TEE_USE_BLOCK_IO
|
||||||
bool "Enable block i/o (larger/faster) instead of byte i/o."
|
bool "Enable block i/o (larger/faster) instead of byte i/o."
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TEE
|
depends on TEE
|
||||||
help
|
help
|
||||||
Enable this option for a faster tee, at expense of size.
|
Enable this option for a faster tee, at expense of size.
|
||||||
|
|
||||||
config CONFIG_TEST
|
config TEST
|
||||||
bool "test"
|
bool "test"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -606,39 +606,39 @@ config CONFIG_TEST
|
||||||
returning an appropriate exit code. The bash shell
|
returning an appropriate exit code. The bash shell
|
||||||
has test built in, ash can build it in optionally.
|
has test built in, ash can build it in optionally.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TEST_64
|
config FEATURE_TEST_64
|
||||||
bool "Extend test to 64 bit"
|
bool "Extend test to 64 bit"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TEST
|
depends on TEST
|
||||||
help
|
help
|
||||||
Enable 64-bit support in test.
|
Enable 64-bit support in test.
|
||||||
|
|
||||||
config CONFIG_TOUCH
|
config TOUCH
|
||||||
bool "touch"
|
bool "touch"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
touch is used to create or change the access and/or
|
touch is used to create or change the access and/or
|
||||||
modification timestamp of specified files.
|
modification timestamp of specified files.
|
||||||
|
|
||||||
config CONFIG_TR
|
config TR
|
||||||
bool "tr"
|
bool "tr"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
tr is used to squeeze, and/or delete characters from standard
|
tr is used to squeeze, and/or delete characters from standard
|
||||||
input, writing to standard output.
|
input, writing to standard output.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TR_CLASSES
|
config FEATURE_TR_CLASSES
|
||||||
bool "Enable character classes (such as [:upper:])"
|
bool "Enable character classes (such as [:upper:])"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TR
|
depends on TR
|
||||||
help
|
help
|
||||||
Enable character classes, enabling commands such as:
|
Enable character classes, enabling commands such as:
|
||||||
tr [:upper:] [:lower:] to convert input into lowercase.
|
tr [:upper:] [:lower:] to convert input into lowercase.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TR_EQUIV
|
config FEATURE_TR_EQUIV
|
||||||
bool "Enable equivalence classes"
|
bool "Enable equivalence classes"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TR
|
depends on TR
|
||||||
help
|
help
|
||||||
Enable equivalence classes, which essentially add the enclosed
|
Enable equivalence classes, which essentially add the enclosed
|
||||||
character to the current set. For instance, tr [=a=] xyz would
|
character to the current set. For instance, tr [=a=] xyz would
|
||||||
|
@ -646,86 +646,86 @@ config CONFIG_FEATURE_TR_EQUIV
|
||||||
useful for cases when no other way of expressing a character
|
useful for cases when no other way of expressing a character
|
||||||
is possible.
|
is possible.
|
||||||
|
|
||||||
config CONFIG_TRUE
|
config TRUE
|
||||||
bool "true"
|
bool "true"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
true returns an exit code of TRUE (0).
|
true returns an exit code of TRUE (0).
|
||||||
|
|
||||||
config CONFIG_TTY
|
config TTY
|
||||||
bool "tty"
|
bool "tty"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
tty is used to print the name of the current terminal to
|
tty is used to print the name of the current terminal to
|
||||||
standard output.
|
standard output.
|
||||||
|
|
||||||
config CONFIG_UNAME
|
config UNAME
|
||||||
bool "uname"
|
bool "uname"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
uname is used to print system information.
|
uname is used to print system information.
|
||||||
|
|
||||||
config CONFIG_UNIQ
|
config UNIQ
|
||||||
bool "uniq"
|
bool "uniq"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
uniq is used to remove duplicate lines from a sorted file.
|
uniq is used to remove duplicate lines from a sorted file.
|
||||||
|
|
||||||
config CONFIG_USLEEP
|
config USLEEP
|
||||||
bool "usleep"
|
bool "usleep"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
usleep is used to pause for a specified number of microseconds.
|
usleep is used to pause for a specified number of microseconds.
|
||||||
|
|
||||||
config CONFIG_UUDECODE
|
config UUDECODE
|
||||||
bool "uudecode"
|
bool "uudecode"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
uudecode is used to decode a uuencoded file.
|
uudecode is used to decode a uuencoded file.
|
||||||
|
|
||||||
config CONFIG_UUENCODE
|
config UUENCODE
|
||||||
bool "uuencode"
|
bool "uuencode"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
uuencode is used to uuencode a file.
|
uuencode is used to uuencode a file.
|
||||||
|
|
||||||
config CONFIG_WATCH
|
config WATCH
|
||||||
bool "watch"
|
bool "watch"
|
||||||
default n
|
default n
|
||||||
select CONFIG_DATE
|
select DATE
|
||||||
help
|
help
|
||||||
watch is used to execute a program periodically, showing
|
watch is used to execute a program periodically, showing
|
||||||
output to the screen.
|
output to the screen.
|
||||||
|
|
||||||
config CONFIG_WC
|
config WC
|
||||||
bool "wc"
|
bool "wc"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
wc is used to print the number of bytes, words, and lines,
|
wc is used to print the number of bytes, words, and lines,
|
||||||
in specified files.
|
in specified files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_WC_LARGE
|
config FEATURE_WC_LARGE
|
||||||
bool "Support very large files in wc"
|
bool "Support very large files in wc"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_WC
|
depends on WC
|
||||||
help
|
help
|
||||||
Use "unsigned long long" in wc for count variables
|
Use "unsigned long long" in wc for count variables
|
||||||
|
|
||||||
config CONFIG_WHO
|
config WHO
|
||||||
bool "who"
|
bool "who"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_UTMP
|
select FEATURE_UTMP
|
||||||
help
|
help
|
||||||
who is used to show who is logged on.
|
who is used to show who is logged on.
|
||||||
|
|
||||||
config CONFIG_WHOAMI
|
config WHOAMI
|
||||||
bool "whoami"
|
bool "whoami"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
whoami is used to print the username of the current
|
whoami is used to print the username of the current
|
||||||
user id (same as id -un).
|
user id (same as id -un).
|
||||||
|
|
||||||
config CONFIG_YES
|
config YES
|
||||||
bool "yes"
|
bool "yes"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -733,22 +733,22 @@ config CONFIG_YES
|
||||||
the default string `y'.
|
the default string `y'.
|
||||||
|
|
||||||
comment "Common options for cp and mv"
|
comment "Common options for cp and mv"
|
||||||
depends on CONFIG_CP || CONFIG_MV
|
depends on CP || MV
|
||||||
|
|
||||||
config CONFIG_FEATURE_PRESERVE_HARDLINKS
|
config FEATURE_PRESERVE_HARDLINKS
|
||||||
bool "Preserve hard links"
|
bool "Preserve hard links"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_CP || CONFIG_MV
|
depends on CP || MV
|
||||||
help
|
help
|
||||||
Allow cp and mv to preserve hard links.
|
Allow cp and mv to preserve hard links.
|
||||||
|
|
||||||
comment "Common options for ls, more and telnet"
|
comment "Common options for ls, more and telnet"
|
||||||
depends on CONFIG_LS || CONFIG_MORE || CONFIG_TELNET
|
depends on LS || MORE || TELNET
|
||||||
|
|
||||||
config CONFIG_FEATURE_AUTOWIDTH
|
config FEATURE_AUTOWIDTH
|
||||||
bool "Calculate terminal & column widths"
|
bool "Calculate terminal & column widths"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LS || CONFIG_MORE || CONFIG_TELNET
|
depends on LS || MORE || TELNET
|
||||||
help
|
help
|
||||||
This option allows utilities such as 'ls', 'more' and 'telnet'
|
This option allows utilities such as 'ls', 'more' and 'telnet'
|
||||||
to determine the width of the screen, which can allow them to
|
to determine the width of the screen, which can allow them to
|
||||||
|
@ -757,22 +757,22 @@ config CONFIG_FEATURE_AUTOWIDTH
|
||||||
primitive and will be unable to determine the current screen width.
|
primitive and will be unable to determine the current screen width.
|
||||||
|
|
||||||
comment "Common options for df, du, ls"
|
comment "Common options for df, du, ls"
|
||||||
depends on CONFIG_DF || CONFIG_DU || CONFIG_LS
|
depends on DF || DU || LS
|
||||||
|
|
||||||
config CONFIG_FEATURE_HUMAN_READABLE
|
config FEATURE_HUMAN_READABLE
|
||||||
bool "Support for human readable output (example 13k, 23M, 235G)"
|
bool "Support for human readable output (example 13k, 23M, 235G)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DF || CONFIG_DU || CONFIG_LS
|
depends on DF || DU || LS
|
||||||
help
|
help
|
||||||
Allow df, du, and ls to have human readable output.
|
Allow df, du, and ls to have human readable output.
|
||||||
|
|
||||||
comment "Common options for md5sum, sha1sum"
|
comment "Common options for md5sum, sha1sum"
|
||||||
depends on CONFIG_MD5SUM || CONFIG_SHA1SUM
|
depends on MD5SUM || SHA1SUM
|
||||||
|
|
||||||
config CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
|
config FEATURE_MD5_SHA1_SUM_CHECK
|
||||||
bool "Enable -c, -s and -w options"
|
bool "Enable -c, -s and -w options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_MD5SUM || CONFIG_SHA1SUM
|
depends on MD5SUM || SHA1SUM
|
||||||
help
|
help
|
||||||
Enabling the -c options allows files to be checked
|
Enabling the -c options allows files to be checked
|
||||||
against pre-calculated hash values.
|
against pre-calculated hash values.
|
||||||
|
|
81
coreutils/Kbuild
Normal file
81
coreutils/Kbuild
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
libs-y += libcoreutils/
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_BASENAME) += basename.o
|
||||||
|
lib-$(CONFIG_CAL) += cal.o
|
||||||
|
lib-$(CONFIG_CAT) += cat.o
|
||||||
|
lib-$(CONFIG_CATV) += catv.o
|
||||||
|
lib-$(CONFIG_CHGRP) += chgrp.o
|
||||||
|
lib-$(CONFIG_CHMOD) += chmod.o
|
||||||
|
lib-$(CONFIG_CHOWN) += chown.o
|
||||||
|
lib-$(CONFIG_CHROOT) += chroot.o
|
||||||
|
lib-$(CONFIG_CKSUM) += cksum.o
|
||||||
|
lib-$(CONFIG_CMP) += cmp.o
|
||||||
|
lib-$(CONFIG_COMM) += comm.o
|
||||||
|
lib-$(CONFIG_CP) += cp.o
|
||||||
|
lib-$(CONFIG_CUT) += cut.o
|
||||||
|
lib-$(CONFIG_DATE) += date.o
|
||||||
|
lib-$(CONFIG_DD) += dd.o
|
||||||
|
lib-$(CONFIG_DF) += df.o
|
||||||
|
lib-$(CONFIG_DIFF) += diff.o
|
||||||
|
lib-$(CONFIG_DIRNAME) += dirname.o
|
||||||
|
lib-$(CONFIG_DOS2UNIX) += dos2unix.o
|
||||||
|
lib-$(CONFIG_DU) += du.o
|
||||||
|
lib-$(CONFIG_ECHO) += echo.o
|
||||||
|
lib-$(CONFIG_ENV) += env.o
|
||||||
|
lib-$(CONFIG_EXPR) += expr.o
|
||||||
|
lib-$(CONFIG_FALSE) += false.o
|
||||||
|
lib-$(CONFIG_FOLD) += fold.o
|
||||||
|
lib-$(CONFIG_HEAD) += head.o
|
||||||
|
lib-$(CONFIG_HOSTID) += hostid.o
|
||||||
|
lib-$(CONFIG_ID) += id.o
|
||||||
|
lib-$(CONFIG_INSTALL) += install.o
|
||||||
|
lib-$(CONFIG_LENGTH) += length.o
|
||||||
|
lib-$(CONFIG_LN) += ln.o
|
||||||
|
lib-$(CONFIG_LOGNAME) += logname.o
|
||||||
|
lib-$(CONFIG_LS) += ls.o
|
||||||
|
lib-$(CONFIG_MD5SUM) += md5_sha1_sum.o
|
||||||
|
lib-$(CONFIG_MKDIR) += mkdir.o
|
||||||
|
lib-$(CONFIG_MKFIFO) += mkfifo.o
|
||||||
|
lib-$(CONFIG_MKNOD) += mknod.o
|
||||||
|
lib-$(CONFIG_MV) += mv.o
|
||||||
|
lib-$(CONFIG_NICE) += nice.o
|
||||||
|
lib-$(CONFIG_NOHUP) += nohup.o
|
||||||
|
lib-$(CONFIG_OD) += od.o
|
||||||
|
lib-$(CONFIG_PRINTENV) += printenv.o
|
||||||
|
lib-$(CONFIG_PRINTF) += printf.o
|
||||||
|
lib-$(CONFIG_PWD) += pwd.o
|
||||||
|
lib-$(CONFIG_REALPATH) += realpath.o
|
||||||
|
lib-$(CONFIG_RM) += rm.o
|
||||||
|
lib-$(CONFIG_RMDIR) += rmdir.o
|
||||||
|
lib-$(CONFIG_SEQ) += seq.o
|
||||||
|
lib-$(CONFIG_SHA1SUM) += md5_sha1_sum.o
|
||||||
|
lib-$(CONFIG_SLEEP) += sleep.o
|
||||||
|
lib-$(CONFIG_SORT) += sort.o
|
||||||
|
lib-$(CONFIG_STAT) += stat.o
|
||||||
|
lib-$(CONFIG_STTY) += stty.o
|
||||||
|
lib-$(CONFIG_SUM) += sum.o
|
||||||
|
lib-$(CONFIG_SYNC) += sync.o
|
||||||
|
lib-$(CONFIG_TAIL) += tail.o
|
||||||
|
lib-$(CONFIG_TEE) += tee.o
|
||||||
|
lib-$(CONFIG_TEST) += test.o
|
||||||
|
lib-$(CONFIG_TOUCH) += touch.o
|
||||||
|
lib-$(CONFIG_TR) += tr.o
|
||||||
|
lib-$(CONFIG_TRUE) += true.o
|
||||||
|
lib-$(CONFIG_TTY) += tty.o
|
||||||
|
lib-$(CONFIG_UNAME) += uname.o
|
||||||
|
lib-$(CONFIG_UNIQ) += uniq.o
|
||||||
|
lib-$(CONFIG_USLEEP) += usleep.o
|
||||||
|
lib-$(CONFIG_UUDECODE) += uudecode.o
|
||||||
|
lib-$(CONFIG_UUENCODE) += uuencode.o
|
||||||
|
lib-$(CONFIG_WATCH) += watch.o
|
||||||
|
lib-$(CONFIG_WC) += wc.o
|
||||||
|
lib-$(CONFIG_WHO) += who.o
|
||||||
|
lib-$(CONFIG_WHOAMI) += whoami.o
|
||||||
|
lib-$(CONFIG_YES) += yes.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/coreutils
|
|
||||||
SHELLUTILS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,102 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
COREUTILS_AR:=coreutils.a
|
|
||||||
ifndef $(COREUTILS_DIR)
|
|
||||||
COREUTILS_DIR:=$(top_builddir)/coreutils/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/coreutils
|
|
||||||
|
|
||||||
COREUTILS-y:=
|
|
||||||
COREUTILS-$(CONFIG_BASENAME) += basename.o
|
|
||||||
COREUTILS-$(CONFIG_CAL) += cal.o
|
|
||||||
COREUTILS-$(CONFIG_CAT) += cat.o
|
|
||||||
COREUTILS-$(CONFIG_CATV) += catv.o
|
|
||||||
COREUTILS-$(CONFIG_CHGRP) += chgrp.o
|
|
||||||
COREUTILS-$(CONFIG_CHMOD) += chmod.o
|
|
||||||
COREUTILS-$(CONFIG_CHOWN) += chown.o
|
|
||||||
COREUTILS-$(CONFIG_CHROOT) += chroot.o
|
|
||||||
COREUTILS-$(CONFIG_CKSUM) += cksum.o
|
|
||||||
COREUTILS-$(CONFIG_CMP) += cmp.o
|
|
||||||
COREUTILS-$(CONFIG_COMM) += comm.o
|
|
||||||
COREUTILS-$(CONFIG_CP) += cp.o
|
|
||||||
COREUTILS-$(CONFIG_CUT) += cut.o
|
|
||||||
COREUTILS-$(CONFIG_DATE) += date.o
|
|
||||||
COREUTILS-$(CONFIG_DD) += dd.o
|
|
||||||
COREUTILS-$(CONFIG_DF) += df.o
|
|
||||||
COREUTILS-$(CONFIG_DIFF) += diff.o
|
|
||||||
COREUTILS-$(CONFIG_DIRNAME) += dirname.o
|
|
||||||
COREUTILS-$(CONFIG_DOS2UNIX) += dos2unix.o
|
|
||||||
COREUTILS-$(CONFIG_DU) += du.o
|
|
||||||
COREUTILS-$(CONFIG_ECHO) += echo.o
|
|
||||||
COREUTILS-$(CONFIG_ENV) += env.o
|
|
||||||
COREUTILS-$(CONFIG_EXPR) += expr.o
|
|
||||||
COREUTILS-$(CONFIG_FALSE) += false.o
|
|
||||||
COREUTILS-$(CONFIG_FOLD) += fold.o
|
|
||||||
COREUTILS-$(CONFIG_HEAD) += head.o
|
|
||||||
COREUTILS-$(CONFIG_HOSTID) += hostid.o
|
|
||||||
COREUTILS-$(CONFIG_ID) += id.o
|
|
||||||
COREUTILS-$(CONFIG_INSTALL) += install.o
|
|
||||||
COREUTILS-$(CONFIG_LENGTH) += length.o
|
|
||||||
COREUTILS-$(CONFIG_LN) += ln.o
|
|
||||||
COREUTILS-$(CONFIG_LOGNAME) += logname.o
|
|
||||||
COREUTILS-$(CONFIG_LS) += ls.o
|
|
||||||
COREUTILS-$(CONFIG_MD5SUM) += md5_sha1_sum.o
|
|
||||||
COREUTILS-$(CONFIG_MKDIR) += mkdir.o
|
|
||||||
COREUTILS-$(CONFIG_MKFIFO) += mkfifo.o
|
|
||||||
COREUTILS-$(CONFIG_MKNOD) += mknod.o
|
|
||||||
COREUTILS-$(CONFIG_MV) += mv.o
|
|
||||||
COREUTILS-$(CONFIG_NICE) += nice.o
|
|
||||||
COREUTILS-$(CONFIG_NOHUP) += nohup.o
|
|
||||||
COREUTILS-$(CONFIG_OD) += od.o
|
|
||||||
COREUTILS-$(CONFIG_PRINTENV) += printenv.o
|
|
||||||
COREUTILS-$(CONFIG_PRINTF) += printf.o
|
|
||||||
COREUTILS-$(CONFIG_PWD) += pwd.o
|
|
||||||
COREUTILS-$(CONFIG_REALPATH) += realpath.o
|
|
||||||
COREUTILS-$(CONFIG_RM) += rm.o
|
|
||||||
COREUTILS-$(CONFIG_RMDIR) += rmdir.o
|
|
||||||
COREUTILS-$(CONFIG_SEQ) += seq.o
|
|
||||||
COREUTILS-$(CONFIG_SHA1SUM) += md5_sha1_sum.o
|
|
||||||
COREUTILS-$(CONFIG_SLEEP) += sleep.o
|
|
||||||
COREUTILS-$(CONFIG_SORT) += sort.o
|
|
||||||
COREUTILS-$(CONFIG_STAT) += stat.o
|
|
||||||
COREUTILS-$(CONFIG_STTY) += stty.o
|
|
||||||
COREUTILS-$(CONFIG_SUM) += sum.o
|
|
||||||
COREUTILS-$(CONFIG_SYNC) += sync.o
|
|
||||||
COREUTILS-$(CONFIG_TAIL) += tail.o
|
|
||||||
COREUTILS-$(CONFIG_TEE) += tee.o
|
|
||||||
COREUTILS-$(CONFIG_TEST) += test.o
|
|
||||||
COREUTILS-$(CONFIG_TOUCH) += touch.o
|
|
||||||
COREUTILS-$(CONFIG_TR) += tr.o
|
|
||||||
COREUTILS-$(CONFIG_TRUE) += true.o
|
|
||||||
COREUTILS-$(CONFIG_TTY) += tty.o
|
|
||||||
COREUTILS-$(CONFIG_UNAME) += uname.o
|
|
||||||
COREUTILS-$(CONFIG_UNIQ) += uniq.o
|
|
||||||
COREUTILS-$(CONFIG_USLEEP) += usleep.o
|
|
||||||
COREUTILS-$(CONFIG_UUDECODE) += uudecode.o
|
|
||||||
COREUTILS-$(CONFIG_UUENCODE) += uuencode.o
|
|
||||||
COREUTILS-$(CONFIG_WATCH) += watch.o
|
|
||||||
COREUTILS-$(CONFIG_WC) += wc.o
|
|
||||||
COREUTILS-$(CONFIG_WHO) += who.o
|
|
||||||
COREUTILS-$(CONFIG_WHOAMI) += whoami.o
|
|
||||||
COREUTILS-$(CONFIG_YES) += yes.o
|
|
||||||
|
|
||||||
COREUTILS-y:=$(sort $(COREUTILS-y))
|
|
||||||
|
|
||||||
ifneq ($(strip $(COREUTILS-y)),)
|
|
||||||
libraries-y+=$(COREUTILS_DIR)$(COREUTILS_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
COREUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(COREUTILS-y))
|
|
||||||
COREUTILS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(COREUTILS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(COREUTILS_SRC-a)
|
|
||||||
|
|
||||||
$(COREUTILS_DIR)$(COREUTILS_AR): $(patsubst %,$(COREUTILS_DIR)%, $(COREUTILS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(COREUTILS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -1165,9 +1165,8 @@ int diff_main(int argc, char **argv)
|
||||||
llist_t *L_arg = NULL;
|
llist_t *L_arg = NULL;
|
||||||
|
|
||||||
opt_complementary = "L::";
|
opt_complementary = "L::";
|
||||||
cmd_flags =
|
cmd_flags = getopt32(argc, argv, "abdiL:NqrsS:tTU:wu",
|
||||||
getopt32(argc, argv, "abdiL:NqrsS:tTU:wu", &L_arg, &start,
|
&L_arg, &start, &U_opt);
|
||||||
&U_opt);
|
|
||||||
|
|
||||||
if (cmd_flags & FLAG_L) {
|
if (cmd_flags & FLAG_L) {
|
||||||
while (L_arg) {
|
while (L_arg) {
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "busybox.h"
|
#include "busybox.h"
|
||||||
#include "pwd_.h"
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
12
coreutils/libcoreutils/Kbuild
Normal file
12
coreutils/libcoreutils/Kbuild
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_MKFIFO) += getopt_mk_fifo_nod.o
|
||||||
|
lib-$(CONFIG_MKNOD) += getopt_mk_fifo_nod.o
|
||||||
|
lib-$(CONFIG_INSTALL) += cp_mv_stat.o
|
||||||
|
lib-$(CONFIG_CP) += cp_mv_stat.o
|
||||||
|
lib-$(CONFIG_MV) += cp_mv_stat.o
|
|
@ -1,37 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
#
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=../..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=../..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/coreutils/libcoreutils
|
|
||||||
LIBCOREUTILS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
LIBCOREUTILS_AR:=libcoreutils.a
|
|
||||||
ifndef $(LIBCOREUTILS_DIR)
|
|
||||||
LIBCOREUTILS_DIR:=$(top_builddir)/coreutils/libcoreutils
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/coreutils/libcoreutils
|
|
||||||
|
|
||||||
LIBCOREUTILS_ALL_SRC:= cp_mv_stat.c getopt_mk_fifo_nod.c
|
|
||||||
|
|
||||||
LIBCOREUTILS-y:=
|
|
||||||
LIBCOREUTILS-$(CONFIG_MKFIFO) += getopt_mk_fifo_nod.o
|
|
||||||
LIBCOREUTILS-$(CONFIG_MKNOD) += getopt_mk_fifo_nod.o
|
|
||||||
LIBCOREUTILS-$(CONFIG_INSTALL) += cp_mv_stat.o
|
|
||||||
LIBCOREUTILS-$(CONFIG_CP) += cp_mv_stat.o
|
|
||||||
LIBCOREUTILS-$(CONFIG_MV) += cp_mv_stat.o
|
|
||||||
|
|
||||||
LIBCOREUTILS-y:=$(sort $(LIBCOREUTILS-y))
|
|
||||||
|
|
||||||
LIBCOREUTILS_SRC-y:=$(patsubst %,$(srcdir)/%,$(subst .o,.c,$(LIBCOREUTILS-y)))
|
|
||||||
LIBCOREUTILS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
LIBRARY_SRC-y+=$(LIBCOREUTILS_SRC-y)
|
|
||||||
LIBRARY_SRC-a+=$(LIBCOREUTILS_SRC-a)
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIBCOREUTILS-y)),)
|
|
||||||
libraries-y+=$(LIBCOREUTILS_DIR)/$(LIBCOREUTILS_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
LIBCOREUTILS_OBJS=$(patsubst %,$(LIBCOREUTILS_DIR)/%, $(LIBCOREUTILS-y))
|
|
||||||
|
|
||||||
$(LIBCOREUTILS_DIR)/$(LIBCOREUTILS_AR): $(patsubst %,$(LIBCOREUTILS_DIR)/%,$(LIBCOREUTILS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(LIBCOREUTILS_DIR)/%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,33 +5,33 @@
|
||||||
|
|
||||||
menu "Debian Utilities"
|
menu "Debian Utilities"
|
||||||
|
|
||||||
config CONFIG_MKTEMP
|
config MKTEMP
|
||||||
bool "mktemp"
|
bool "mktemp"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
mktemp is used to create unique temporary files
|
mktemp is used to create unique temporary files
|
||||||
|
|
||||||
config CONFIG_PIPE_PROGRESS
|
config PIPE_PROGRESS
|
||||||
bool "pipe_progress"
|
bool "pipe_progress"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Display a dot to indicate pipe activity.
|
Display a dot to indicate pipe activity.
|
||||||
|
|
||||||
config CONFIG_READLINK
|
config READLINK
|
||||||
bool "readlink"
|
bool "readlink"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
This program reads a symbolic link and returns the name
|
This program reads a symbolic link and returns the name
|
||||||
of the file it points to
|
of the file it points to
|
||||||
|
|
||||||
config CONFIG_FEATURE_READLINK_FOLLOW
|
config FEATURE_READLINK_FOLLOW
|
||||||
bool "Enable canonicalization by following all symlinks (-f)"
|
bool "Enable canonicalization by following all symlinks (-f)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_READLINK
|
depends on READLINK
|
||||||
help
|
help
|
||||||
Enable the readlink option (-f).
|
Enable the readlink option (-f).
|
||||||
|
|
||||||
config CONFIG_RUN_PARTS
|
config RUN_PARTS
|
||||||
bool "run-parts"
|
bool "run-parts"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -46,14 +46,14 @@ config CONFIG_RUN_PARTS
|
||||||
Unless you know that run-parts is used in some of your scripts
|
Unless you know that run-parts is used in some of your scripts
|
||||||
you can safely say N here.
|
you can safely say N here.
|
||||||
|
|
||||||
config CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
|
config FEATURE_RUN_PARTS_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_RUN_PARTS && CONFIG_GETOPT_LONG
|
depends on RUN_PARTS && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the run-parts applet.
|
Support long options for the run-parts applet.
|
||||||
|
|
||||||
config CONFIG_START_STOP_DAEMON
|
config START_STOP_DAEMON
|
||||||
bool "start-stop-daemon"
|
bool "start-stop-daemon"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
|
@ -61,23 +61,23 @@ config CONFIG_START_STOP_DAEMON
|
||||||
termination of system-level processes, usually the ones
|
termination of system-level processes, usually the ones
|
||||||
started during the startup of the system.
|
started during the startup of the system.
|
||||||
|
|
||||||
config CONFIG_FEATURE_START_STOP_DAEMON_FANCY
|
config FEATURE_START_STOP_DAEMON_FANCY
|
||||||
bool "Support additional arguments"
|
bool "Support additional arguments"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_START_STOP_DAEMON
|
depends on START_STOP_DAEMON
|
||||||
help
|
help
|
||||||
Support additional arguments.
|
Support additional arguments.
|
||||||
-o|--oknodo ignored since we exit with 0 anyway
|
-o|--oknodo ignored since we exit with 0 anyway
|
||||||
-v|--verbose
|
-v|--verbose
|
||||||
|
|
||||||
config CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
|
config FEATURE_START_STOP_DAEMON_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_START_STOP_DAEMON && CONFIG_GETOPT_LONG
|
depends on START_STOP_DAEMON && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the start-stop-daemon applet.
|
Support long options for the start-stop-daemon applet.
|
||||||
|
|
||||||
config CONFIG_WHICH
|
config WHICH
|
||||||
bool "which"
|
bool "which"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
|
13
debianutils/Kbuild
Normal file
13
debianutils/Kbuild
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_MKTEMP) += mktemp.o
|
||||||
|
lib-$(CONFIG_PIPE_PROGRESS) += pipe_progress.o
|
||||||
|
lib-$(CONFIG_READLINK) += readlink.o
|
||||||
|
lib-$(CONFIG_RUN_PARTS) += run_parts.o
|
||||||
|
lib-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o
|
||||||
|
lib-$(CONFIG_WHICH) += which.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/debianutils
|
|
||||||
DEBIANUTILS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
DEBIANUTILS_AR:=debianutils.a
|
|
||||||
ifndef $(DEBIANUTILS_DIR)
|
|
||||||
DEBIANUTILS_DIR:=$(top_builddir)/debianutils/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/debianutils
|
|
||||||
|
|
||||||
DEBIANUTILS-y:=
|
|
||||||
DEBIANUTILS-$(CONFIG_MKTEMP) += mktemp.o
|
|
||||||
DEBIANUTILS-$(CONFIG_PIPE_PROGRESS) += pipe_progress.o
|
|
||||||
DEBIANUTILS-$(CONFIG_READLINK) += readlink.o
|
|
||||||
DEBIANUTILS-$(CONFIG_RUN_PARTS) += run_parts.o
|
|
||||||
DEBIANUTILS-$(CONFIG_START_STOP_DAEMON) += start_stop_daemon.o
|
|
||||||
DEBIANUTILS-$(CONFIG_WHICH) += which.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(DEBIANUTILS-y)),)
|
|
||||||
libraries-y+=$(DEBIANUTILS_DIR)$(DEBIANUTILS_AR)
|
|
||||||
endif
|
|
||||||
DEBIANUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(DEBIANUTILS-y))
|
|
||||||
DEBIANUTILS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(DEBIANUTILS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(DEBIANUTILS_SRC-a)
|
|
||||||
|
|
||||||
$(DEBIANUTILS_DIR)$(DEBIANUTILS_AR): $(patsubst %,$(DEBIANUTILS_DIR)%, $(DEBIANUTILS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(DEBIANUTILS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
menu "Linux Ext2 FS Progs"
|
menu "Linux Ext2 FS Progs"
|
||||||
|
|
||||||
config CONFIG_CHATTR
|
config CHATTR
|
||||||
bool "chattr"
|
bool "chattr"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
chattr changes the file attributes on a second extended file system.
|
chattr changes the file attributes on a second extended file system.
|
||||||
|
|
||||||
config CONFIG_E2FSCK
|
config E2FSCK
|
||||||
bool "e2fsck"
|
bool "e2fsck"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -20,7 +20,7 @@ config CONFIG_E2FSCK
|
||||||
The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
|
||||||
provided.
|
provided.
|
||||||
|
|
||||||
config CONFIG_FSCK
|
config FSCK
|
||||||
bool "fsck"
|
bool "fsck"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -28,38 +28,38 @@ config CONFIG_FSCK
|
||||||
In actuality, fsck is simply a front-end for the various file system
|
In actuality, fsck is simply a front-end for the various file system
|
||||||
checkers (fsck.fstype) available under Linux.
|
checkers (fsck.fstype) available under Linux.
|
||||||
|
|
||||||
config CONFIG_LSATTR
|
config LSATTR
|
||||||
bool "lsattr"
|
bool "lsattr"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
lsattr lists the file attributes on a second extended file system.
|
lsattr lists the file attributes on a second extended file system.
|
||||||
|
|
||||||
config CONFIG_MKE2FS
|
config MKE2FS
|
||||||
bool "mke2fs"
|
bool "mke2fs"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
mke2fs is used to create an ext2/ext3 filesystem. The normal compat
|
||||||
symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
|
||||||
|
|
||||||
config CONFIG_TUNE2FS
|
config TUNE2FS
|
||||||
bool "tune2fs"
|
bool "tune2fs"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
tune2fs allows the system administrator to adjust various tunable
|
tune2fs allows the system administrator to adjust various tunable
|
||||||
filesystem parameters on Linux ext2/ext3 filesystems.
|
filesystem parameters on Linux ext2/ext3 filesystems.
|
||||||
|
|
||||||
config CONFIG_E2LABEL
|
config E2LABEL
|
||||||
bool "e2label"
|
bool "e2label"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TUNE2FS
|
depends on TUNE2FS
|
||||||
help
|
help
|
||||||
e2label will display or change the filesystem label on the ext2
|
e2label will display or change the filesystem label on the ext2
|
||||||
filesystem located on device.
|
filesystem located on device.
|
||||||
|
|
||||||
config CONFIG_FINDFS
|
config FINDFS
|
||||||
bool "findfs"
|
bool "findfs"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TUNE2FS
|
depends on TUNE2FS
|
||||||
help
|
help
|
||||||
findfs will search the disks in the system looking for a filesystem
|
findfs will search the disks in the system looking for a filesystem
|
||||||
which has a label matching label or a UUID equal to uuid.
|
which has a label matching label or a UUID equal to uuid.
|
||||||
|
|
27
e2fsprogs/Kbuild
Normal file
27
e2fsprogs/Kbuild
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
|
||||||
|
lib-$(CONFIG_CHATTR) += chattr.o
|
||||||
|
libs-$(CONFIG_CHATTR) += e2p/
|
||||||
|
|
||||||
|
lib-$(CONFIG_E2FSCK) += e2fsck.o util.o
|
||||||
|
libs-$(CONFIG_E2FSCK) += blkid/ ext2fs/ uuid/
|
||||||
|
|
||||||
|
lib-$(CONFIG_FSCK) += fsck.o util.o
|
||||||
|
libs-$(CONFIG_FSCK) += blkid/ ext2fs/ uuid/
|
||||||
|
|
||||||
|
lib-$(CONFIG_LSATTR) += lsattr.o
|
||||||
|
libs-$(CONFIG_LSATTR) += e2p/
|
||||||
|
|
||||||
|
lib-$(CONFIG_MKE2FS) += mke2fs.o util.o
|
||||||
|
libs-$(CONFIG_MKE2FS) += e2p/ blkid/ ext2fs/ uuid/
|
||||||
|
|
||||||
|
lib-$(CONFIG_TUNE2FS) += tune2fs.o util.o
|
||||||
|
libs-$(CONFIG_TUNE2FS) += e2p/ blkid/ ext2fs/ uuid/
|
||||||
|
|
||||||
|
CFLAGS += -include e2fsprogs/e2fsbb.h
|
|
@ -1,22 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/e2fsprogs
|
|
||||||
E2FSPROGS_DIR:=./
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a */*.o $(AR_TARGET)
|
|
|
@ -1,86 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
E2FSPROGS_AR:=e2fsprogs.a
|
|
||||||
|
|
||||||
E2FSPROGS_DIR:=$(top_builddir)/e2fsprogs
|
|
||||||
E2FSPROGS_SRC:=$(top_srcdir)/e2fsprogs
|
|
||||||
|
|
||||||
E2FSPROGS_CFLAGS := -include $(E2FSPROGS_SRC)/e2fsbb.h
|
|
||||||
|
|
||||||
BLKID_SRC := cache.c dev.c devname.c devno.c blkid_getsize.c \
|
|
||||||
probe.c read.c resolve.c save.c tag.c list.c
|
|
||||||
BLKID_SRCS := $(patsubst %,blkid/%, $(BLKID_SRC))
|
|
||||||
BLKID_OBJS := $(patsubst %.c,%.o, $(BLKID_SRCS))
|
|
||||||
|
|
||||||
E2P_SRC := fgetsetflags.c fgetsetversion.c pf.c iod.c mntopts.c \
|
|
||||||
feature.c ls.c uuid.c pe.c ostype.c ps.c hashstr.c \
|
|
||||||
parse_num.c
|
|
||||||
E2P_SRCS := $(patsubst %,e2p/%, $(E2P_SRC))
|
|
||||||
E2P_OBJS := $(patsubst %.c,%.o, $(E2P_SRCS))
|
|
||||||
|
|
||||||
EXT2FS_SRC := gen_bitmap.c bitops.c ismounted.c mkjournal.c unix_io.c \
|
|
||||||
rw_bitmaps.c initialize.c bitmaps.c block.c \
|
|
||||||
ind_block.c inode.c freefs.c alloc_stats.c closefs.c \
|
|
||||||
openfs.c io_manager.c finddev.c read_bb.c alloc.c badblocks.c \
|
|
||||||
getsize.c getsectsize.c alloc_tables.c read_bb_file.c mkdir.c \
|
|
||||||
bb_inode.c newdir.c alloc_sb.c lookup.c dirblock.c expanddir.c \
|
|
||||||
dir_iterate.c link.c res_gdt.c icount.c get_pathname.c dblist.c \
|
|
||||||
dirhash.c version.c flushb.c unlink.c check_desc.c valid_blk.c \
|
|
||||||
ext_attr.c bmap.c dblist_dir.c ext2fs_inline.c swapfs.c
|
|
||||||
EXT2FS_SRCS := $(patsubst %,ext2fs/%, $(EXT2FS_SRC))
|
|
||||||
EXT2FS_OBJS := $(patsubst %.c,%.o, $(EXT2FS_SRCS))
|
|
||||||
|
|
||||||
UUID_SRC := compare.c gen_uuid.c pack.c parse.c unpack.c unparse.c \
|
|
||||||
uuid_time.c
|
|
||||||
UUID_SRCS := $(patsubst %,uuid/%, $(UUID_SRC))
|
|
||||||
UUID_OBJS := $(patsubst %.c,%.o, $(UUID_SRCS))
|
|
||||||
|
|
||||||
E2FSPROGS-y:=
|
|
||||||
E2FSPROGS-$(CONFIG_CHATTR) += chattr.o $(E2P_OBJS)
|
|
||||||
E2FSPROGS-$(CONFIG_E2FSCK) += e2fsck.o util.o $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
|
||||||
E2FSPROGS-$(CONFIG_FSCK) += fsck.o util.o $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
|
||||||
E2FSPROGS-$(CONFIG_LSATTR) += lsattr.o $(E2P_OBJS)
|
|
||||||
E2FSPROGS-$(CONFIG_MKE2FS) += mke2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
|
||||||
E2FSPROGS-$(CONFIG_TUNE2FS) += tune2fs.o util.o $(E2P_OBJS) $(BLKID_OBJS) $(EXT2FS_OBJS) $(UUID_OBJS)
|
|
||||||
|
|
||||||
E2FSPROGS-y:=$(sort $(E2FSPROGS-y))
|
|
||||||
|
|
||||||
ifneq ($(strip $(E2FSPROGS-y)),)
|
|
||||||
libraries-y+=$(E2FSPROGS_DIR)/$(E2FSPROGS_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
E2FSPROGS_SRC-y:=$(patsubst %.o,$(E2FSPROGS_SRC)/%.c,$(E2FSPROGS-y))
|
|
||||||
E2FSPROGS_SRC-a:=$(wildcard $(E2FSPROGS_SRC)/*.c) $(patsubst %,$(E2FSPROGS_SRC)/%,$(BLKID_SRCS) $(E2P_SRCS) $(EXT2FS_SRCS) $(UUID_SRCS))
|
|
||||||
APPLET_SRC-y+=$(E2FSPROGS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(E2FSPROGS_SRC-a)
|
|
||||||
|
|
||||||
# XXX: FIXME: change .c to include their stuff relative to $(E2FSPROGS_SRC)
|
|
||||||
E2FSPROGS_TMP_KLUDGE:=$(patsubst %,-I$(E2FSPROGS_SRC)/%,blkid e2fsck e2p ext2fs uuid)
|
|
||||||
|
|
||||||
APPLETS_DEFINE-y+=$(E2FSPROGS_CFLAGS) -I$(E2FSPROGS_SRC) $(E2FSPROGS_TMP_KLUDGE)
|
|
||||||
APPLETS_DEFINE-a+=$(E2FSPROGS_CFLAGS) -I$(E2FSPROGS_SRC) $(E2FSPROGS_TMP_KLUDGE)
|
|
||||||
|
|
||||||
$(E2FSPROGS_DIR)/$(E2FSPROGS_AR): $(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSPROGS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(E2FSPROGS_DIR)/%.o: $(subst $(top_builddir),$(top_srcdir),$(E2FSPROGS_DIR)/%.c)
|
|
||||||
$(compile.c) $(E2FSPROGS_CFLAGS)
|
|
||||||
|
|
||||||
# for building out-of-tree we need to make sure that the directories to hold
|
|
||||||
# the object tree are created
|
|
||||||
$(patsubst %,$(E2FSPROGS_DIR)/%, blkid e2fsck e2p ext2fs uuid):
|
|
||||||
@mkdir -p "$@"
|
|
||||||
|
|
||||||
# make sure that the directories are order-only prerequisites. Otherwise we
|
|
||||||
# may have object files created after the timestamp of the directory was
|
|
||||||
# updated which would lead to spurious rebuilds (as some of the dentries
|
|
||||||
# may be older than the dir itself).
|
|
||||||
$(patsubst %,$(E2FSPROGS_DIR)/%, $(BLKID_OBJS)):|$(E2FSPROGS_DIR)/blkid
|
|
||||||
$(patsubst %,$(E2FSPROGS_DIR)/%, $(E2FSCK_OBJS)):|$(E2FSPROGS_DIR)/e2fsck
|
|
||||||
$(patsubst %,$(E2FSPROGS_DIR)/%, $(E2P_OBJS)):|$(E2FSPROGS_DIR)/e2p
|
|
||||||
$(patsubst %,$(E2FSPROGS_DIR)/%, $(EXT2FS_OBJS)):|$(E2FSPROGS_DIR)/ext2fs
|
|
||||||
$(patsubst %,$(E2FSPROGS_DIR)/%, $(UUID_OBJS)):|$(E2FSPROGS_DIR)/uuid
|
|
18
e2fsprogs/blkid/Kbuild
Normal file
18
e2fsprogs/blkid/Kbuild
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-y += cache.o dev.o devname.o devno.o blkid_getsize.o \
|
||||||
|
probe.o read.o resolve.o save.o tag.o list.o
|
||||||
|
|
||||||
|
CFLAGS_dev.o := -include include/busybox.h
|
||||||
|
CFLAGS_devname.o := -include include/busybox.h
|
||||||
|
CFLAGS_devno.o := -include include/busybox.h
|
||||||
|
CFLAGS_blkid_getsize.o := -include include/busybox.h
|
||||||
|
CFLAGS_probe.o := -include include/busybox.h
|
||||||
|
CFLAGS_save.o := -include include/busybox.h
|
||||||
|
CFLAGS_tag.o := -include include/busybox.h
|
||||||
|
CFLAGS_list.o := -include include/busybox.h
|
|
@ -14,9 +14,7 @@
|
||||||
#include "blkidP.h"
|
#include "blkidP.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#if HAVE_UNISTD_H
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
|
||||||
#if HAVE_ERRNO_H
|
#if HAVE_ERRNO_H
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,9 +23,7 @@
|
||||||
#if HAVE_SYS_TYPES_H
|
#if HAVE_SYS_TYPES_H
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#endif
|
#endif
|
||||||
#if HAVE_SYS_STAT_H
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
|
||||||
#if HAVE_ERRNO_H
|
#if HAVE_ERRNO_H
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -21,9 +21,7 @@
|
||||||
#if HAVE_SYS_TYPES_H
|
#if HAVE_SYS_TYPES_H
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#endif
|
#endif
|
||||||
#if HAVE_SYS_STAT_H
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#if HAVE_ERRNO_H
|
#if HAVE_ERRNO_H
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
10
e2fsprogs/e2p/Kbuild
Normal file
10
e2fsprogs/e2p/Kbuild
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-y += fgetsetflags.o fgetsetversion.o pf.o iod.o mntopts.o \
|
||||||
|
feature.o ls.o uuid.o pe.o ostype.o ps.o hashstr.o \
|
||||||
|
parse_num.o
|
|
@ -63,8 +63,8 @@ int fgetsetflags (const char * name, unsigned long * get_flags, unsigned long se
|
||||||
if (save_errno)
|
if (save_errno)
|
||||||
errno = save_errno;
|
errno = save_errno;
|
||||||
return r;
|
return r;
|
||||||
#endif /* HAVE_EXT2_IOCTLS */
|
|
||||||
notsupp:
|
notsupp:
|
||||||
|
#endif /* HAVE_EXT2_IOCTLS */
|
||||||
errno = EOPNOTSUPP;
|
errno = EOPNOTSUPP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
18
e2fsprogs/ext2fs/Kbuild
Normal file
18
e2fsprogs/ext2fs/Kbuild
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-y += gen_bitmap.o bitops.o ismounted.o mkjournal.o unix_io.o \
|
||||||
|
rw_bitmaps.o initialize.o bitmaps.o block.o \
|
||||||
|
ind_block.o inode.o freefs.o alloc_stats.o closefs.o \
|
||||||
|
openfs.o io_manager.o finddev.o read_bb.o alloc.o badblocks.o \
|
||||||
|
getsize.o getsectsize.o alloc_tables.o read_bb_file.o mkdir.o \
|
||||||
|
bb_inode.o newdir.o alloc_sb.o lookup.o dirblock.o expanddir.o \
|
||||||
|
dir_iterate.o link.o res_gdt.o icount.o get_pathname.o dblist.o \
|
||||||
|
dirhash.o version.o flushb.o unlink.o check_desc.o valid_blk.o \
|
||||||
|
ext_attr.o bmap.o dblist_dir.o ext2fs_inline.o swapfs.o
|
||||||
|
|
||||||
|
CFLAGS += -include e2fsprogs/e2fsbb.h
|
|
@ -45,8 +45,6 @@
|
||||||
#include "blkid/blkid.h"
|
#include "blkid/blkid.h"
|
||||||
|
|
||||||
#include "busybox.h"
|
#include "busybox.h"
|
||||||
#include "grp_.h"
|
|
||||||
#include "pwd_.h"
|
|
||||||
|
|
||||||
static char * device_name = NULL;
|
static char * device_name = NULL;
|
||||||
static char * new_label, *new_last_mounted, *new_UUID;
|
static char * new_label, *new_last_mounted, *new_UUID;
|
||||||
|
|
9
e2fsprogs/uuid/Kbuild
Normal file
9
e2fsprogs/uuid/Kbuild
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-y += compare.o gen_uuid.o pack.o parse.o unpack.o unparse.o \
|
||||||
|
uuid_time.o
|
|
@ -41,6 +41,7 @@
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
|
#include <sys/time.h>
|
||||||
#ifdef HAVE_SYS_IOCTL_H
|
#ifdef HAVE_SYS_IOCTL_H
|
||||||
#include <sys/ioctl.h>
|
#include <sys/ioctl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -5,22 +5,22 @@
|
||||||
|
|
||||||
menu "Editors"
|
menu "Editors"
|
||||||
|
|
||||||
config CONFIG_AWK
|
config AWK
|
||||||
bool "awk"
|
bool "awk"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Awk is used as a pattern scanning and processing language. This is
|
Awk is used as a pattern scanning and processing language. This is
|
||||||
the BusyBox implementation of that programming language.
|
the BusyBox implementation of that programming language.
|
||||||
|
|
||||||
config CONFIG_FEATURE_AWK_MATH
|
config FEATURE_AWK_MATH
|
||||||
bool "Enable math functions (requires libm)"
|
bool "Enable math functions (requires libm)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_AWK
|
depends on AWK
|
||||||
help
|
help
|
||||||
Enable math functions of the Awk programming language.
|
Enable math functions of the Awk programming language.
|
||||||
NOTE: This will require libm to be present for linking.
|
NOTE: This will require libm to be present for linking.
|
||||||
|
|
||||||
config CONFIG_ED
|
config ED
|
||||||
bool "ed"
|
bool "ed"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -28,20 +28,20 @@ config CONFIG_ED
|
||||||
Small, simple, evil. Part of SUSv3. If you're not already using
|
Small, simple, evil. Part of SUSv3. If you're not already using
|
||||||
this, you don't need it.
|
this, you don't need it.
|
||||||
|
|
||||||
config CONFIG_PATCH
|
config PATCH
|
||||||
bool "patch"
|
bool "patch"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Apply a unified diff formatted patch.
|
Apply a unified diff formatted patch.
|
||||||
|
|
||||||
config CONFIG_SED
|
config SED
|
||||||
bool "sed"
|
bool "sed"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
sed is used to perform text transformations on a file
|
sed is used to perform text transformations on a file
|
||||||
or input from a pipeline.
|
or input from a pipeline.
|
||||||
|
|
||||||
config CONFIG_VI
|
config VI
|
||||||
bool "vi"
|
bool "vi"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -50,79 +50,79 @@ config CONFIG_VI
|
||||||
learning curve. If you are not already comfortable with 'vi'
|
learning curve. If you are not already comfortable with 'vi'
|
||||||
you may wish to use something else.
|
you may wish to use something else.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_COLON
|
config FEATURE_VI_COLON
|
||||||
bool "Enable \":\" colon commands (no \"ex\" mode)"
|
bool "Enable \":\" colon commands (no \"ex\" mode)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Enable a limited set of colon commands for vi. This does not
|
Enable a limited set of colon commands for vi. This does not
|
||||||
provide an "ex" mode.
|
provide an "ex" mode.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_YANKMARK
|
config FEATURE_VI_YANKMARK
|
||||||
bool "Enable yank/put commands and mark cmds"
|
bool "Enable yank/put commands and mark cmds"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
This will enable you to use yank and put, as well as mark in
|
This will enable you to use yank and put, as well as mark in
|
||||||
busybox vi.
|
busybox vi.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_SEARCH
|
config FEATURE_VI_SEARCH
|
||||||
bool "Enable search and replace cmds"
|
bool "Enable search and replace cmds"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Select this if you wish to be able to do search and replace in
|
Select this if you wish to be able to do search and replace in
|
||||||
busybox vi.
|
busybox vi.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_USE_SIGNALS
|
config FEATURE_VI_USE_SIGNALS
|
||||||
bool "Catch signals"
|
bool "Catch signals"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Selecting this option will make busybox vi signal aware. This will
|
Selecting this option will make busybox vi signal aware. This will
|
||||||
make busybox vi support SIGWINCH to deal with Window Changes, catch
|
make busybox vi support SIGWINCH to deal with Window Changes, catch
|
||||||
Ctrl-Z and Ctrl-C and alarms.
|
Ctrl-Z and Ctrl-C and alarms.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_DOT_CMD
|
config FEATURE_VI_DOT_CMD
|
||||||
bool "Remember previous cmd and \".\" cmd"
|
bool "Remember previous cmd and \".\" cmd"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Make busybox vi remember the last command and be able to repeat it.
|
Make busybox vi remember the last command and be able to repeat it.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_READONLY
|
config FEATURE_VI_READONLY
|
||||||
bool "Enable -R option and \"view\" mode"
|
bool "Enable -R option and \"view\" mode"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Enable the read-only command line option, which allows the user to
|
Enable the read-only command line option, which allows the user to
|
||||||
open a file in read-only mode.
|
open a file in read-only mode.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_SETOPTS
|
config FEATURE_VI_SETOPTS
|
||||||
bool "Enable set-able options, ai ic showmatch"
|
bool "Enable set-able options, ai ic showmatch"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Enable the editor to set some (ai, ic, showmatch) options.
|
Enable the editor to set some (ai, ic, showmatch) options.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_SET
|
config FEATURE_VI_SET
|
||||||
bool "Support for :set"
|
bool "Support for :set"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Support for ":set".
|
Support for ":set".
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_WIN_RESIZE
|
config FEATURE_VI_WIN_RESIZE
|
||||||
bool "Handle window resize"
|
bool "Handle window resize"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
Make busybox vi behave nicely with terminals that get resized.
|
Make busybox vi behave nicely with terminals that get resized.
|
||||||
|
|
||||||
config CONFIG_FEATURE_VI_OPTIMIZE_CURSOR
|
config FEATURE_VI_OPTIMIZE_CURSOR
|
||||||
bool "Optimize cursor movement"
|
bool "Optimize cursor movement"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_VI
|
depends on VI
|
||||||
help
|
help
|
||||||
This will make the cursor movement faster, but requires more memory
|
This will make the cursor movement faster, but requires more memory
|
||||||
and it makes the applet a tiny bit larger.
|
and it makes the applet a tiny bit larger.
|
||||||
|
|
12
editors/Kbuild
Normal file
12
editors/Kbuild
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_AWK) += awk.o
|
||||||
|
lib-$(CONFIG_ED) += ed.o
|
||||||
|
lib-$(CONFIG_PATCH) += patch.o
|
||||||
|
lib-$(CONFIG_SED) += sed.o
|
||||||
|
lib-$(CONFIG_VI) += vi.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/editors
|
|
||||||
EDITOR_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
EDITOR_AR:=editors.a
|
|
||||||
ifndef $(EDITOR_DIR)
|
|
||||||
EDITOR_DIR:=$(top_builddir)/editors/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/editors
|
|
||||||
|
|
||||||
EDITOR-y:=
|
|
||||||
EDITOR-$(CONFIG_AWK) += awk.o
|
|
||||||
EDITOR-$(CONFIG_ED) += ed.o
|
|
||||||
EDITOR-$(CONFIG_PATCH) += patch.o
|
|
||||||
EDITOR-$(CONFIG_SED) += sed.o
|
|
||||||
EDITOR-$(CONFIG_VI) += vi.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(EDITOR-y)),)
|
|
||||||
libraries-y+=$(EDITOR_DIR)$(EDITOR_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
EDITOR_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(EDITOR-y))
|
|
||||||
EDITOR_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(EDITOR_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(EDITOR_SRC-a)
|
|
||||||
|
|
||||||
needlibm-y:=
|
|
||||||
needlibm-$(CONFIG_FEATURE_AWK_MATH) := y
|
|
||||||
|
|
||||||
ifeq ($(needlibm-y),y)
|
|
||||||
LIBRARIES := -lm $(filter-out -lm,$(LIBRARIES))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(EDITOR_DIR)$(EDITOR_AR): $(patsubst %,$(EDITOR_DIR)%, $(EDITOR-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(EDITOR_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,152 +5,152 @@
|
||||||
|
|
||||||
menu "Finding Utilities"
|
menu "Finding Utilities"
|
||||||
|
|
||||||
config CONFIG_FIND
|
config FIND
|
||||||
bool "find"
|
bool "find"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
find is used to search your system to find specified files.
|
find is used to search your system to find specified files.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_PRINT0
|
config FEATURE_FIND_PRINT0
|
||||||
bool "Enable -print0 option"
|
bool "Enable -print0 option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Causes output names to be separated by a null character
|
Causes output names to be separated by a null character
|
||||||
rather than a newline. This allows names that contain
|
rather than a newline. This allows names that contain
|
||||||
newlines and other whitespace to be more easily
|
newlines and other whitespace to be more easily
|
||||||
interpreted by other programs.
|
interpreted by other programs.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_MTIME
|
config FEATURE_FIND_MTIME
|
||||||
bool "Enable modified time matching (-mtime) option"
|
bool "Enable modified time matching (-mtime) option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Allow searching based on the modification time of
|
Allow searching based on the modification time of
|
||||||
files, in days.
|
files, in days.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_MMIN
|
config FEATURE_FIND_MMIN
|
||||||
bool "Enable modified time matching (-min) option"
|
bool "Enable modified time matching (-min) option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Allow searching based on the modification time of
|
Allow searching based on the modification time of
|
||||||
files, in minutes.
|
files, in minutes.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_PERM
|
config FEATURE_FIND_PERM
|
||||||
bool "Enable permissions matching (-perm) option"
|
bool "Enable permissions matching (-perm) option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Enable searching based on file permissions.
|
Enable searching based on file permissions.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_TYPE
|
config FEATURE_FIND_TYPE
|
||||||
bool "Enable filetype matching (-type) option"
|
bool "Enable filetype matching (-type) option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Enable searching based on file type (file,
|
Enable searching based on file type (file,
|
||||||
directory, socket, device, etc.).
|
directory, socket, device, etc.).
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_XDEV
|
config FEATURE_FIND_XDEV
|
||||||
bool "Enable stay in filesystem (-xdev) option"
|
bool "Enable stay in filesystem (-xdev) option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
This option will allow find to restrict searches to a single
|
This option will allow find to restrict searches to a single
|
||||||
filesystem.
|
filesystem.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_NEWER
|
config FEATURE_FIND_NEWER
|
||||||
bool "Enable -newer option for comparing file mtimes"
|
bool "Enable -newer option for comparing file mtimes"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Support the 'find -newer' option for finding any files which have
|
Support the 'find -newer' option for finding any files which have
|
||||||
a modified time that is more recent than the specified FILE.
|
a modified time that is more recent than the specified FILE.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_INUM
|
config FEATURE_FIND_INUM
|
||||||
bool "Enable inode number matching (-inum) option"
|
bool "Enable inode number matching (-inum) option"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Support the 'find -inum' option for searching by inode number.
|
Support the 'find -inum' option for searching by inode number.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FIND_EXEC
|
config FEATURE_FIND_EXEC
|
||||||
bool "Enable (-exec) option allowing execution of commands"
|
bool "Enable (-exec) option allowing execution of commands"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FIND
|
depends on FIND
|
||||||
help
|
help
|
||||||
Support the 'find -exec' option for executing commands based upon
|
Support the 'find -exec' option for executing commands based upon
|
||||||
the files matched.
|
the files matched.
|
||||||
|
|
||||||
config CONFIG_GREP
|
config GREP
|
||||||
bool "grep"
|
bool "grep"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
grep is used to search files for a specified pattern.
|
grep is used to search files for a specified pattern.
|
||||||
|
|
||||||
config CONFIG_FEATURE_GREP_EGREP_ALIAS
|
config FEATURE_GREP_EGREP_ALIAS
|
||||||
bool "Support extended regular expressions (egrep & grep -E)"
|
bool "Support extended regular expressions (egrep & grep -E)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_GREP
|
depends on GREP
|
||||||
help
|
help
|
||||||
Enabled support for extended regular expressions. Extended
|
Enabled support for extended regular expressions. Extended
|
||||||
regular expressions allow for alternation (foo|bar), grouping,
|
regular expressions allow for alternation (foo|bar), grouping,
|
||||||
and various repetition operators.
|
and various repetition operators.
|
||||||
|
|
||||||
config CONFIG_FEATURE_GREP_FGREP_ALIAS
|
config FEATURE_GREP_FGREP_ALIAS
|
||||||
bool "Alias fgrep to grep -F"
|
bool "Alias fgrep to grep -F"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_GREP
|
depends on GREP
|
||||||
help
|
help
|
||||||
fgrep sees the search pattern as a normal string rather than
|
fgrep sees the search pattern as a normal string rather than
|
||||||
regular expressions.
|
regular expressions.
|
||||||
grep -F is always builtin, this just creates the fgrep alias.
|
grep -F is always builtin, this just creates the fgrep alias.
|
||||||
|
|
||||||
config CONFIG_FEATURE_GREP_CONTEXT
|
config FEATURE_GREP_CONTEXT
|
||||||
bool "Enable before and after context flags (-A, -B and -C)"
|
bool "Enable before and after context flags (-A, -B and -C)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_GREP
|
depends on GREP
|
||||||
help
|
help
|
||||||
Print the specified number of leading (-B) and/or trailing (-A)
|
Print the specified number of leading (-B) and/or trailing (-A)
|
||||||
context surrounding our matching lines.
|
context surrounding our matching lines.
|
||||||
Print the specified number of context lines (-C).
|
Print the specified number of context lines (-C).
|
||||||
|
|
||||||
config CONFIG_XARGS
|
config XARGS
|
||||||
bool "xargs"
|
bool "xargs"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
xargs is used to execute a specified command on
|
xargs is used to execute a specified command on
|
||||||
every item from standard input.
|
every item from standard input.
|
||||||
|
|
||||||
config CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
|
config FEATURE_XARGS_SUPPORT_CONFIRMATION
|
||||||
bool "Enable prompt and confirmation option -p"
|
bool "Enable prompt and confirmation option -p"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_XARGS
|
depends on XARGS
|
||||||
help
|
help
|
||||||
Support prompt the user about whether to run each command
|
Support prompt the user about whether to run each command
|
||||||
line and read a line from the terminal.
|
line and read a line from the terminal.
|
||||||
|
|
||||||
config CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
|
config FEATURE_XARGS_SUPPORT_QUOTES
|
||||||
bool "Enable support single and double quotes and backslash"
|
bool "Enable support single and double quotes and backslash"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_XARGS
|
depends on XARGS
|
||||||
help
|
help
|
||||||
Default xargs unsupport single and double quotes
|
Default xargs unsupport single and double quotes
|
||||||
and backslash for can use aruments with spaces.
|
and backslash for can use aruments with spaces.
|
||||||
|
|
||||||
config CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
|
config FEATURE_XARGS_SUPPORT_TERMOPT
|
||||||
bool "Enable support options -x"
|
bool "Enable support options -x"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_XARGS
|
depends on XARGS
|
||||||
help
|
help
|
||||||
Enable support exit if the size (see the -s or -n option)
|
Enable support exit if the size (see the -s or -n option)
|
||||||
is exceeded.
|
is exceeded.
|
||||||
|
|
||||||
config CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
|
config FEATURE_XARGS_SUPPORT_ZERO_TERM
|
||||||
bool "Enable null terminated option -0"
|
bool "Enable null terminated option -0"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_XARGS
|
depends on XARGS
|
||||||
help
|
help
|
||||||
Enable input filenames are terminated by a null character
|
Enable input filenames are terminated by a null character
|
||||||
instead of by whitespace, and the quotes and backslash
|
instead of by whitespace, and the quotes and backslash
|
||||||
|
|
10
findutils/Kbuild
Normal file
10
findutils/Kbuild
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_FIND) += find.o
|
||||||
|
lib-$(CONFIG_GREP) += grep.o
|
||||||
|
lib-$(CONFIG_XARGS) += xargs.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/findutils
|
|
||||||
FINDUTILS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
FINDUTILS_AR:=findutils.a
|
|
||||||
ifndef $(FINDUTILS_DIR)
|
|
||||||
FINDUTILS_DIR:=$(top_builddir)/findutils/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/findutils
|
|
||||||
|
|
||||||
FINDUTILS-y:=
|
|
||||||
FINDUTILS-$(CONFIG_FIND) += find.o
|
|
||||||
FINDUTILS-$(CONFIG_GREP) += grep.o
|
|
||||||
FINDUTILS-$(CONFIG_XARGS) += xargs.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(FINDUTILS-y)),)
|
|
||||||
libraries-y+=$(FINDUTILS_DIR)$(FINDUTILS_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
FINDUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(FINDUTILS-y))
|
|
||||||
FINDUTILS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(FINDUTILS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(FINDUTILS_SRC-a)
|
|
||||||
|
|
||||||
$(FINDUTILS_DIR)$(FINDUTILS_AR): $(patsubst %,$(FINDUTILS_DIR)%, $(FINDUTILS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(FINDUTILS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
142
include/bb_config.h
Normal file
142
include/bb_config.h
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
/* Hack. kbuild will not define needed macros for config symbols
|
||||||
|
* which depend on other symbols, which themself are off.
|
||||||
|
* Provide them here by hand. Need a better idea. */
|
||||||
|
|
||||||
|
#ifndef ENABLE_KILLALL5
|
||||||
|
#define ENABLE_KILLALL5 0
|
||||||
|
#define USE_KILLALL5(...)
|
||||||
|
#define SKIP_KILLALL5(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_QUERY_MODULE_INTERFACE
|
||||||
|
#define ENABLE_FEATURE_QUERY_MODULE_INTERFACE 0
|
||||||
|
#define USE_FEATURE_QUERY_MODULE_INTERFACE(...)
|
||||||
|
#define SKIP_FEATURE_QUERY_MODULE_INTERFACE(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_CLEAN_UP
|
||||||
|
#define ENABLE_FEATURE_CLEAN_UP 0
|
||||||
|
#define USE_FEATURE_CLEAN_UP(...)
|
||||||
|
#define SKIP_FEATURE_CLEAN_UP(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_SH_STANDALONE_SHELL
|
||||||
|
#define ENABLE_FEATURE_SH_STANDALONE_SHELL 0
|
||||||
|
#define USE_FEATURE_SH_STANDALONE_SHELL(...)
|
||||||
|
#define SKIP_FEATURE_SH_STANDALONE_SHELL(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_MTAB_SUPPORT
|
||||||
|
#define ENABLE_FEATURE_MTAB_SUPPORT 0
|
||||||
|
#define USE_FEATURE_MTAB_SUPPORT(...)
|
||||||
|
#define SKIP_FEATURE_MTAB_SUPPORT(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_PRESERVE_HARDLINKS
|
||||||
|
#define ENABLE_FEATURE_PRESERVE_HARDLINKS 0
|
||||||
|
#define USE_FEATURE_PRESERVE_HARDLINKS(...)
|
||||||
|
#define SKIP_FEATURE_PRESERVE_HARDLINKS(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_AUTOWIDTH
|
||||||
|
#define ENABLE_FEATURE_AUTOWIDTH 0
|
||||||
|
#define USE_FEATURE_AUTOWIDTH(...)
|
||||||
|
#define SKIP_FEATURE_AUTOWIDTH(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_SUID_CONFIG
|
||||||
|
#define ENABLE_FEATURE_SUID_CONFIG 0
|
||||||
|
#define USE_FEATURE_SUID_CONFIG(...)
|
||||||
|
#define SKIP_FEATURE_SUID_CONFIG(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_APP_DUMPLEASES
|
||||||
|
#define ENABLE_APP_DUMPLEASES 0
|
||||||
|
#define USE_APP_DUMPLEASES(...)
|
||||||
|
#define SKIP_APP_DUMPLEASES(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_E2LABEL
|
||||||
|
#define ENABLE_E2LABEL 0
|
||||||
|
#define USE_E2LABEL(...)
|
||||||
|
#define SKIP_E2LABEL(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_GREP_EGREP_ALIAS
|
||||||
|
#define ENABLE_FEATURE_GREP_EGREP_ALIAS 0
|
||||||
|
#define USE_FEATURE_GREP_EGREP_ALIAS(...)
|
||||||
|
#define SKIP_FEATURE_GREP_EGREP_ALIAS(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_GREP_FGREP_ALIAS
|
||||||
|
#define ENABLE_FEATURE_GREP_FGREP_ALIAS 0
|
||||||
|
#define USE_FEATURE_GREP_FGREP_ALIAS(...)
|
||||||
|
#define SKIP_FEATURE_GREP_FGREP_ALIAS(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FINDFS
|
||||||
|
#define ENABLE_FINDFS 0
|
||||||
|
#define USE_FINDFS(...)
|
||||||
|
#define SKIP_FINDFS(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_IPADDR
|
||||||
|
#define ENABLE_IPADDR 0
|
||||||
|
#define USE_IPADDR(...)
|
||||||
|
#define SKIP_IPADDR(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_IPLINK
|
||||||
|
#define ENABLE_IPLINK 0
|
||||||
|
#define USE_IPLINK(...)
|
||||||
|
#define SKIP_IPLINK(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_IPROUTE
|
||||||
|
|
||||||
|
#define ENABLE_IPROUTE 0
|
||||||
|
#define USE_IPROUTE(...)
|
||||||
|
#define SKIP_IPROUTE(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_IPTUNNEL
|
||||||
|
#define ENABLE_IPTUNNEL 0
|
||||||
|
#define USE_IPTUNNEL(...)
|
||||||
|
#define SKIP_IPTUNNEL(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_KILLALL
|
||||||
|
#define ENABLE_KILLALL 0
|
||||||
|
#define USE_KILLALL(...)
|
||||||
|
#define SKIP_KILLALL(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_KLOGD
|
||||||
|
#define ENABLE_KLOGD 0
|
||||||
|
#define USE_KLOGD(...)
|
||||||
|
#define SKIP_KLOGD(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_FEATURE_INITRD
|
||||||
|
#define ENABLE_FEATURE_INITRD 0
|
||||||
|
#define USE_FEATURE_INITRD(...)
|
||||||
|
#define SKIP_FEATURE_INITRD(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_LOGREAD
|
||||||
|
#define ENABLE_LOGREAD 0
|
||||||
|
#define USE_LOGREAD(...)
|
||||||
|
#define SKIP_LOGREAD(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_PING6
|
||||||
|
#define ENABLE_PING6 0
|
||||||
|
#define USE_PING6(...)
|
||||||
|
#define SKIP_PING6(...) __VA_ARGS__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ENABLE_UNIX2DOS
|
||||||
|
#define ENABLE_UNIX2DOS 0
|
||||||
|
#define USE_UNIX2DOS(...)
|
||||||
|
#define SKIP_UNIX2DOS(...) __VA_ARGS__
|
||||||
|
#endif
|
|
@ -7,8 +7,6 @@
|
||||||
#ifndef _BB_INTERNAL_H_
|
#ifndef _BB_INTERNAL_H_
|
||||||
#define _BB_INTERNAL_H_ 1
|
#define _BB_INTERNAL_H_ 1
|
||||||
|
|
||||||
#include "bb_config.h"
|
|
||||||
|
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
/* order matters: used as index into "install_dir[]" in busybox.c */
|
/* order matters: used as index into "install_dir[]" in busybox.c */
|
||||||
|
|
|
@ -30,12 +30,10 @@
|
||||||
#ifndef _GRP_H
|
#ifndef _GRP_H
|
||||||
#define _GRP_H 1
|
#define _GRP_H 1
|
||||||
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <features.h>
|
#include <features.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
|
||||||
/* The group structure. */
|
/* The group structure. */
|
||||||
struct group
|
struct group
|
||||||
{
|
{
|
||||||
|
|
|
@ -377,7 +377,6 @@ extern const char *applet_name;
|
||||||
extern const char bb_msg_full_version[];
|
extern const char bb_msg_full_version[];
|
||||||
extern const char bb_msg_memory_exhausted[];
|
extern const char bb_msg_memory_exhausted[];
|
||||||
extern const char bb_msg_invalid_date[];
|
extern const char bb_msg_invalid_date[];
|
||||||
extern const char bb_msg_io_error[];
|
|
||||||
extern const char bb_msg_read_error[];
|
extern const char bb_msg_read_error[];
|
||||||
extern const char bb_msg_write_error[];
|
extern const char bb_msg_write_error[];
|
||||||
extern const char bb_msg_name_longer_than_foo[];
|
extern const char bb_msg_name_longer_than_foo[];
|
||||||
|
|
|
@ -5,32 +5,32 @@
|
||||||
|
|
||||||
menu "Init Utilities"
|
menu "Init Utilities"
|
||||||
|
|
||||||
config CONFIG_INIT
|
config INIT
|
||||||
bool "init"
|
bool "init"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
init is the first program run when the system boots.
|
init is the first program run when the system boots.
|
||||||
|
|
||||||
config CONFIG_DEBUG_INIT
|
config DEBUG_INIT
|
||||||
bool "debugging aid"
|
bool "debugging aid"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INIT
|
depends on INIT
|
||||||
help
|
help
|
||||||
Turn this on to disable all the dangerous
|
Turn this on to disable all the dangerous
|
||||||
rebooting stuff when debugging.
|
rebooting stuff when debugging.
|
||||||
|
|
||||||
config CONFIG_FEATURE_USE_INITTAB
|
config FEATURE_USE_INITTAB
|
||||||
bool "Support reading an inittab file"
|
bool "Support reading an inittab file"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INIT
|
depends on INIT
|
||||||
help
|
help
|
||||||
Allow init to read an inittab file when the system boot.
|
Allow init to read an inittab file when the system boot.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INIT_SCTTY
|
config FEATURE_INIT_SCTTY
|
||||||
bool "Support running commands with a controlling-tty"
|
bool "Support running commands with a controlling-tty"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INIT
|
depends on INIT
|
||||||
help
|
help
|
||||||
If this option is enabled a command starting with hyphen (-)
|
If this option is enabled a command starting with hyphen (-)
|
||||||
is run in its own session (setsid(2)) and possibly with a
|
is run in its own session (setsid(2)) and possibly with a
|
||||||
|
@ -38,17 +38,17 @@ config CONFIG_FEATURE_INIT_SCTTY
|
||||||
behavour, but is often what you want in an embedded system where
|
behavour, but is often what you want in an embedded system where
|
||||||
the console is only accessed during development or for maintenance.
|
the console is only accessed during development or for maintenance.
|
||||||
|
|
||||||
config CONFIG_FEATURE_EXTRA_QUIET
|
config FEATURE_EXTRA_QUIET
|
||||||
bool "Be _extra_ quiet on boot"
|
bool "Be _extra_ quiet on boot"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INIT
|
depends on INIT
|
||||||
help
|
help
|
||||||
Prevent init from logging some messages to the console during boot.
|
Prevent init from logging some messages to the console during boot.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INIT_COREDUMPS
|
config FEATURE_INIT_COREDUMPS
|
||||||
bool "Support dumping core for child processes (debugging only)"
|
bool "Support dumping core for child processes (debugging only)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INIT
|
depends on INIT
|
||||||
help
|
help
|
||||||
If this option is enabled and the file /.init_enable_core
|
If this option is enabled and the file /.init_enable_core
|
||||||
exists, then init will call setrlimit() to allow unlimited
|
exists, then init will call setrlimit() to allow unlimited
|
||||||
|
@ -57,10 +57,10 @@ config CONFIG_FEATURE_INIT_COREDUMPS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
config CONFIG_FEATURE_INITRD
|
config FEATURE_INITRD
|
||||||
bool "Support running init from within an initrd (not initramfs)"
|
bool "Support running init from within an initrd (not initramfs)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INIT
|
depends on INIT
|
||||||
help
|
help
|
||||||
Legacy support for running init under the old-style initrd. Allows
|
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.
|
the name linuxrc to act as init, and it doesn't assume init is PID 1.
|
||||||
|
@ -68,13 +68,13 @@ config CONFIG_FEATURE_INITRD
|
||||||
This does not apply to initramfs, which runs /init as PID 1 and
|
This does not apply to initramfs, which runs /init as PID 1 and
|
||||||
requires no special support.
|
requires no special support.
|
||||||
|
|
||||||
config CONFIG_HALT
|
config HALT
|
||||||
bool "poweroff, halt, and reboot"
|
bool "poweroff, halt, and reboot"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Stop all processes and either halt, reboot, or power off the system.
|
Stop all processes and either halt, reboot, or power off the system.
|
||||||
|
|
||||||
config CONFIG_MESG
|
config MESG
|
||||||
bool "mesg"
|
bool "mesg"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
|
|
12
init/Kbuild
Normal file
12
init/Kbuild
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_HALT) += halt.o
|
||||||
|
lib-$(CONFIG_INIT) += init.o
|
||||||
|
lib-$(CONFIG_MESG) += mesg.o
|
||||||
|
lib-$(CONFIG_INIT) += init_shared.o
|
||||||
|
lib-$(CONFIG_HALT) += init_shared.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/init
|
|
||||||
INIT_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include $(srcdir)/Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
INIT_AR:=init.a
|
|
||||||
ifndef $(INIT_DIR)
|
|
||||||
INIT_DIR:=$(top_builddir)/init/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/init
|
|
||||||
|
|
||||||
INIT-y:=
|
|
||||||
INIT-$(CONFIG_HALT) += halt.o
|
|
||||||
INIT-$(CONFIG_INIT) += init.o
|
|
||||||
INIT-$(CONFIG_MESG) += mesg.o
|
|
||||||
|
|
||||||
ifeq ($(strip $(CONFIG_HALT)),y)
|
|
||||||
CONFIG_INIT_SHARED=y
|
|
||||||
else
|
|
||||||
ifeq ($(strip $(CONFIG_INIT)),y)
|
|
||||||
CONFIG_INIT_SHARED=y
|
|
||||||
else
|
|
||||||
CONFIG_INIT_SHARED=n
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
INIT-$(CONFIG_INIT_SHARED) += init_shared.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(INIT-y)),)
|
|
||||||
libraries-y+=$(INIT_DIR)$(INIT_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
INIT_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(INIT-y))
|
|
||||||
INIT_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(INIT_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(INIT_SRC-a)
|
|
||||||
|
|
||||||
$(INIT_DIR)$(INIT_AR): $(patsubst %,$(INIT_DIR)%, $(INIT-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(INIT_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,14 +5,14 @@
|
||||||
|
|
||||||
menu "Busybox Library Tuning"
|
menu "Busybox Library Tuning"
|
||||||
|
|
||||||
config CONFIG_PASSWORD_MINLEN
|
config PASSWORD_MINLEN
|
||||||
int "Minimum password length"
|
int "Minimum password length"
|
||||||
default 6
|
default 6
|
||||||
range 5 32
|
range 5 32
|
||||||
help
|
help
|
||||||
Minimum allowable password length.
|
Minimum allowable password length.
|
||||||
|
|
||||||
config CONFIG_MD5_SIZE_VS_SPEED
|
config MD5_SIZE_VS_SPEED
|
||||||
int " MD5: Trade Bytes for Speed"
|
int " MD5: Trade Bytes for Speed"
|
||||||
default 2
|
default 2
|
||||||
range 0 3
|
range 0 3
|
||||||
|
|
61
libbb/Kbuild
Normal file
61
libbb/Kbuild
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:= \
|
||||||
|
ask_confirmation.o change_identity.o chomp.o \
|
||||||
|
compare_string_array.o concat_path_file.o copy_file.o copyfd.o \
|
||||||
|
crc32.o create_icmp_socket.o create_icmp6_socket.o \
|
||||||
|
device_open.o dump.o error_msg.o error_msg_and_die.o \
|
||||||
|
find_pid_by_name.o find_root_device.o fgets_str.o full_read.o \
|
||||||
|
full_write.o get_last_path_component.o get_line_from_file.o \
|
||||||
|
herror_msg.o herror_msg_and_die.o \
|
||||||
|
human_readable.o inet_common.o inode_hash.o isdirectory.o \
|
||||||
|
kernel_version.o last_char_is.o login.o \
|
||||||
|
make_directory.o md5.o mode_string.o mtab_file.o \
|
||||||
|
obscure.o parse_mode.o parse_number.o perror_msg.o \
|
||||||
|
perror_msg_and_die.o get_console.o \
|
||||||
|
process_escape_sequence.o procps.o \
|
||||||
|
recursive_action.o remove_file.o \
|
||||||
|
restricted_shell.o run_parts.o run_shell.o safe_read.o safe_write.o \
|
||||||
|
safe_strncpy.o setup_environment.o sha1.o simplify_path.o \
|
||||||
|
trim.o u_signal_names.o vdprintf.o verror_msg.o \
|
||||||
|
vherror_msg.o vperror_msg.o wfopen.o xconnect.o xgetcwd.o \
|
||||||
|
xgethostbyname.o xgethostbyname2.o xreadlink.o xgetlarg.o \
|
||||||
|
fclose_nonstdin.o fflush_stdout_and_exit.o \
|
||||||
|
getopt32.o default_error_retval.o wfopen_input.o speed_table.o \
|
||||||
|
perror_nomsg_and_die.o perror_nomsg.o skip_whitespace.o bb_askpass.o \
|
||||||
|
warn_ignoring_args.o concat_subpath_file.o vfork_daemon_rexec.o \
|
||||||
|
bb_do_delay.o uuencode.o info_msg.o vinfo_msg.o
|
||||||
|
|
||||||
|
# conditionally compiled objects:
|
||||||
|
lib-$(CONFIG_FEATURE_MOUNT_LOOP) += loop.o
|
||||||
|
lib-$(CONFIG_LOSETUP) += loop.o
|
||||||
|
lib-$(CONFIG_FEATURE_MTAB_SUPPORT) += mtab.o
|
||||||
|
lib-$(CONFIG_PASSWD) += pw_encrypt.o
|
||||||
|
lib-$(CONFIG_SULOGIN) += pw_encrypt.o
|
||||||
|
lib-$(CONFIG_FEATURE_HTTPD_AUTH_MD5) += pw_encrypt.o
|
||||||
|
lib-$(CONFIG_VLOCK) += correct_password.o
|
||||||
|
lib-$(CONFIG_SU) += correct_password.o
|
||||||
|
lib-$(CONFIG_LOGIN) += correct_password.o
|
||||||
|
lib-$(CONFIG_DF) += find_mount_point.o
|
||||||
|
lib-$(CONFIG_EJECT) += find_mount_point.o
|
||||||
|
|
||||||
|
# We shouldn't build xregcomp.c if we don't need it - this ensures we don't
|
||||||
|
# require regex.h to be in the include dir even if we don't need it thereby
|
||||||
|
# allowing us to build busybox even if uclibc regex support is disabled.
|
||||||
|
|
||||||
|
lib-$(CONFIG_AWK) += xregcomp.o
|
||||||
|
lib-$(CONFIG_SED) += xregcomp.o
|
||||||
|
lib-$(CONFIG_LESS) += xregcomp.o
|
||||||
|
lib-$(CONFIG_DEVFSD) += xregcomp.o
|
||||||
|
|
||||||
|
lib-y += messages.o
|
||||||
|
lib-y += xfuncs.o
|
||||||
|
lib-y += printf.o
|
||||||
|
lib-y += xgetularg.o
|
||||||
|
lib-y += safe_strtol.o
|
||||||
|
lib-y += bb_pwd.o
|
||||||
|
lib-y += llist.o
|
|
@ -1,29 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/libbb
|
|
||||||
LIBBB_DIR:=./
|
|
||||||
|
|
||||||
# Ensure "all" is still the default target when make is run by itself in
|
|
||||||
# libbb, even if the files we include define rules for targets.
|
|
||||||
|
|
||||||
all:
|
|
||||||
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,155 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef $(LIBBB_DIR)
|
|
||||||
LIBBB_DIR:=$(top_builddir)/libbb
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/libbb
|
|
||||||
|
|
||||||
LIBBB-n:=
|
|
||||||
LIBBB-y:= \
|
|
||||||
ask_confirmation.c change_identity.c chomp.c \
|
|
||||||
compare_string_array.c concat_path_file.c copy_file.c copyfd.c \
|
|
||||||
crc32.c create_icmp_socket.c create_icmp6_socket.c \
|
|
||||||
device_open.c dump.c error_msg.c error_msg_and_die.c \
|
|
||||||
find_pid_by_name.c find_root_device.c fgets_str.c full_read.c \
|
|
||||||
full_write.c get_last_path_component.c get_line_from_file.c \
|
|
||||||
herror_msg.c herror_msg_and_die.c \
|
|
||||||
human_readable.c inet_common.c inode_hash.c isdirectory.c \
|
|
||||||
kernel_version.c last_char_is.c login.c \
|
|
||||||
make_directory.c md5.c mode_string.c mtab_file.c \
|
|
||||||
obscure.c parse_mode.c parse_number.c perror_msg.c \
|
|
||||||
perror_msg_and_die.c get_console.c process_escape_sequence.c procps.c \
|
|
||||||
recursive_action.c remove_file.c info_msg.c vinfo_msg.c \
|
|
||||||
restricted_shell.c run_parts.c run_shell.c safe_read.c safe_write.c \
|
|
||||||
safe_strncpy.c setup_environment.c sha1.c simplify_path.c \
|
|
||||||
trim.c u_signal_names.c vdprintf.c verror_msg.c \
|
|
||||||
vherror_msg.c vperror_msg.c wfopen.c xconnect.c xgetcwd.c \
|
|
||||||
xgethostbyname.c xgethostbyname2.c xreadlink.c xgetlarg.c \
|
|
||||||
fclose_nonstdin.c fflush_stdout_and_exit.c \
|
|
||||||
getopt32.c default_error_retval.c wfopen_input.c speed_table.c \
|
|
||||||
perror_nomsg_and_die.c perror_nomsg.c skip_whitespace.c bb_askpass.c \
|
|
||||||
warn_ignoring_args.c concat_subpath_file.c vfork_daemon_rexec.c \
|
|
||||||
bb_do_delay.c
|
|
||||||
|
|
||||||
# conditionally compiled objects:
|
|
||||||
LIBBB-$(CONFIG_FEATURE_MOUNT_LOOP)+= loop.c
|
|
||||||
LIBBB-$(CONFIG_LOSETUP)+= loop.c
|
|
||||||
LIBBB-$(CONFIG_FEATURE_MTAB_SUPPORT)+= mtab.c
|
|
||||||
LIBBB-$(CONFIG_PASSWD)+= pw_encrypt.c
|
|
||||||
LIBBB-$(CONFIG_SULOGIN)+= pw_encrypt.c
|
|
||||||
LIBBB-$(CONFIG_FEATURE_HTTPD_AUTH_MD5)+= pw_encrypt.c
|
|
||||||
LIBBB-$(CONFIG_VLOCK)+= correct_password.c
|
|
||||||
LIBBB-$(CONFIG_SU)+= correct_password.c
|
|
||||||
LIBBB-$(CONFIG_LOGIN)+= correct_password.c
|
|
||||||
LIBBB-$(CONFIG_DF)+= find_mount_point.c
|
|
||||||
LIBBB-$(CONFIG_EJECT)+= find_mount_point.c
|
|
||||||
LIBBB-$(CONFIG_UUENCODE)+= uuencode.c
|
|
||||||
LIBBB-$(CONFIG_WGET)+= uuencode.c
|
|
||||||
|
|
||||||
# We shouldn't build xregcomp.c if we don't need it - this ensures we don't
|
|
||||||
# require regex.h to be in the include dir even if we don't need it thereby
|
|
||||||
# allowing us to build busybox even if uclibc regex support is disabled.
|
|
||||||
|
|
||||||
regex-y:=
|
|
||||||
regex-$(CONFIG_AWK) += xregcomp.c
|
|
||||||
regex-$(CONFIG_SED) += xregcomp.c
|
|
||||||
regex-$(CONFIG_LESS) += xregcomp.c
|
|
||||||
regex-$(CONFIG_DEVFSD) += xregcomp.c
|
|
||||||
regex-$(CONFIG_MDEV) += xregcomp.c
|
|
||||||
regex-$(CONFIG_GREP) += xregcomp.c
|
|
||||||
|
|
||||||
# Sort has the happy side efect of returning a unique list
|
|
||||||
LIBBB-y += $(sort $(regex-y))
|
|
||||||
|
|
||||||
LIBBB-y:=$(patsubst %,$(srcdir)/%,$(LIBBB-y))
|
|
||||||
|
|
||||||
get-file-subparts = $(addsuffix .o,$(shell sed -n -e "s/^\#ifdef L_//p" ${1}))
|
|
||||||
|
|
||||||
# 1:N objects
|
|
||||||
LIBBB_MSRC0:=$(srcdir)/messages.c
|
|
||||||
LIBBB_MOBJ0:=$(call get-file-subparts, ${LIBBB_MSRC0})
|
|
||||||
LIBBB_MOBJ0:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ0))
|
|
||||||
$(LIBBB_MOBJ0):$(LIBBB_MSRC0)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
LIBBB_MSRC1:=$(srcdir)/xfuncs.c
|
|
||||||
LIBBB_MOBJ1:=$(call get-file-subparts, ${LIBBB_MSRC1})
|
|
||||||
LIBBB_MOBJ1:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ1))
|
|
||||||
$(LIBBB_MOBJ1):$(LIBBB_MSRC1)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
LIBBB_MSRC2:=$(srcdir)/printf.c
|
|
||||||
LIBBB_MOBJ2:=$(call get-file-subparts, ${LIBBB_MSRC2})
|
|
||||||
LIBBB_MOBJ2:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ2))
|
|
||||||
$(LIBBB_MOBJ2):$(LIBBB_MSRC2)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
LIBBB_MSRC3:=$(srcdir)/xgetularg.c
|
|
||||||
LIBBB_MOBJ3:=$(call get-file-subparts, ${LIBBB_MSRC3})
|
|
||||||
LIBBB_MOBJ3:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ3))
|
|
||||||
$(LIBBB_MOBJ3):$(LIBBB_MSRC3)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
LIBBB_MSRC4:=$(srcdir)/safe_strtol.c
|
|
||||||
LIBBB_MOBJ4:=$(call get-file-subparts, ${LIBBB_MSRC4})
|
|
||||||
LIBBB_MOBJ4:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ4))
|
|
||||||
$(LIBBB_MOBJ4):$(LIBBB_MSRC4)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
LIBBB_MSRC5:=$(srcdir)/bb_pwd.c
|
|
||||||
LIBBB_MOBJ5:=$(call get-file-subparts, ${LIBBB_MSRC5})
|
|
||||||
LIBBB_MOBJ5:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ5))
|
|
||||||
$(LIBBB_MOBJ5):$(LIBBB_MSRC5)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
LIBBB_MSRC6:=$(srcdir)/llist.c
|
|
||||||
LIBBB_MOBJ6:=$(call get-file-subparts, ${LIBBB_MSRC6})
|
|
||||||
LIBBB_MOBJ6:=$(patsubst %,$(LIBBB_DIR)/%, $(LIBBB_MOBJ6))
|
|
||||||
$(LIBBB_MOBJ6):$(LIBBB_MSRC6)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
# We need the names of the object files built from MSRC for the L_ defines
|
|
||||||
LIBBB_ALL_MOBJ:=$(LIBBB_MOBJ0) $(LIBBB_MOBJ1) $(LIBBB_MOBJ2) $(LIBBB_MOBJ3) \
|
|
||||||
$(LIBBB_MOBJ4) $(LIBBB_MOBJ5) $(LIBBB_MOBJ6)
|
|
||||||
|
|
||||||
LIBBB_ALL_MSRC:=$(LIBBB_MSRC0) $(LIBBB_MSRC1) $(LIBBB_MSRC2) $(LIBBB_MSRC3) \
|
|
||||||
$(LIBBB_MSRC4) $(LIBBB_MSRC5) $(LIBBB_MSRC6)
|
|
||||||
|
|
||||||
LIBBB-y:=$(sort $(LIBBB-y) $(LIBBB_ALL_MSRC))
|
|
||||||
|
|
||||||
LIBBB_AR:=$(LIBBB_DIR)/libbb.a
|
|
||||||
libraries-y+=$(LIBBB_AR)
|
|
||||||
|
|
||||||
needcrypt-y:=
|
|
||||||
ifneq ($(filter $(srcdir)/pw_encrypt.c,$(LIBBB-y)),)
|
|
||||||
needcrypt-y:=y
|
|
||||||
else
|
|
||||||
ifneq ($(filter $(srcdir)/correct_password.c,$(LIBBB-y)),)
|
|
||||||
needcrypt-y:=y
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(needcrypt-y),y)
|
|
||||||
LIBRARIES := -lcrypt $(filter-out -lcrypt,$(LIBRARIES))
|
|
||||||
endif
|
|
||||||
|
|
||||||
# all 1:1 objects
|
|
||||||
LIBBB_OBJS:=$(patsubst $(srcdir)/%.c,$(LIBBB_DIR)/%.o, $(LIBBB-y))
|
|
||||||
$(LIBBB_DIR)/%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
||||||
|
|
||||||
LIBBB_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
LIBRARY_SRC-y+=$(LIBBB-y)
|
|
||||||
LIBRARY_SRC-a+=$(LIBBB_SRC-a)
|
|
||||||
|
|
||||||
# all defines needed for 1:N objects
|
|
||||||
LIBBB_DEFINE-y:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(LIBBB_ALL_MOBJ))))
|
|
||||||
LIBRARY_DEFINE-y+=$(LIBBB_DEFINE-y)
|
|
||||||
LIBRARY_DEFINE-a+=$(LIBBB_DEFINE-y)
|
|
||||||
|
|
||||||
$(LIBBB_AR): $(LIBBB_OBJS) $(LIBBB_ALL_MOBJ)
|
|
||||||
$(do_ar)
|
|
|
@ -7,8 +7,11 @@
|
||||||
* Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
* Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include "libbb.h"
|
||||||
|
|
||||||
#ifdef L_bb_getgrgid
|
|
||||||
/* Hacked by Tito Ragusa (c) 2004 <farmatito@tiscali.it> to make it more
|
/* Hacked by Tito Ragusa (c) 2004 <farmatito@tiscali.it> to make it more
|
||||||
* flexible :
|
* flexible :
|
||||||
*
|
*
|
||||||
|
@ -26,9 +29,6 @@
|
||||||
* the program exits.
|
* the program exits.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "libbb.h"
|
|
||||||
#include "grp_.h"
|
|
||||||
|
|
||||||
/* gets a groupname given a gid */
|
/* gets a groupname given a gid */
|
||||||
char * bb_getgrgid(char *group, long gid, int bufsize)
|
char * bb_getgrgid(char *group, long gid, int bufsize)
|
||||||
{
|
{
|
||||||
|
@ -37,15 +37,6 @@ char * bb_getgrgid(char *group, long gid, int bufsize)
|
||||||
return bb_getug(group, (mygroup) ?
|
return bb_getug(group, (mygroup) ?
|
||||||
mygroup->gr_name : (char *)mygroup, gid, bufsize, 'g');
|
mygroup->gr_name : (char *)mygroup, gid, bufsize, 'g');
|
||||||
}
|
}
|
||||||
#endif /* L_bb_getgrgid */
|
|
||||||
|
|
||||||
#ifdef L_bb_xgetgrnam
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include "libbb.h"
|
|
||||||
#include "pwd_.h"
|
|
||||||
#include "grp_.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* returns a gid given a group name */
|
/* returns a gid given a group name */
|
||||||
long bb_xgetgrnam(const char *name)
|
long bb_xgetgrnam(const char *name)
|
||||||
|
@ -58,15 +49,6 @@ long bb_xgetgrnam(const char *name)
|
||||||
|
|
||||||
return (mygroup->gr_gid);
|
return (mygroup->gr_gid);
|
||||||
}
|
}
|
||||||
#endif /* L_bb_xgetgrnam */
|
|
||||||
|
|
||||||
#ifdef L_bb_xgetpwnam
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include "libbb.h"
|
|
||||||
#include "pwd_.h"
|
|
||||||
#include "grp_.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* returns a uid given a username */
|
/* returns a uid given a username */
|
||||||
long bb_xgetpwnam(const char *name)
|
long bb_xgetpwnam(const char *name)
|
||||||
|
@ -79,9 +61,7 @@ long bb_xgetpwnam(const char *name)
|
||||||
|
|
||||||
return myuser->pw_uid;
|
return myuser->pw_uid;
|
||||||
}
|
}
|
||||||
#endif /* L_bb_xgetpwnam */
|
|
||||||
|
|
||||||
#ifdef L_bb_getpwuid
|
|
||||||
/* Hacked by Tito Ragusa (c) 2004 <farmatito@tiscali.it> to make it more
|
/* Hacked by Tito Ragusa (c) 2004 <farmatito@tiscali.it> to make it more
|
||||||
* flexible :
|
* flexible :
|
||||||
*
|
*
|
||||||
|
@ -99,9 +79,6 @@ long bb_xgetpwnam(const char *name)
|
||||||
* the program exits.
|
* the program exits.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "libbb.h"
|
|
||||||
#include "pwd_.h"
|
|
||||||
|
|
||||||
/* gets a username given a uid */
|
/* gets a username given a uid */
|
||||||
char * bb_getpwuid(char *name, long uid, int bufsize)
|
char * bb_getpwuid(char *name, long uid, int bufsize)
|
||||||
{
|
{
|
||||||
|
@ -110,9 +87,7 @@ char * bb_getpwuid(char *name, long uid, int bufsize)
|
||||||
return bb_getug(name, (myuser) ?
|
return bb_getug(name, (myuser) ?
|
||||||
myuser->pw_name : (char *)myuser , uid, bufsize, 'u');
|
myuser->pw_name : (char *)myuser , uid, bufsize, 'u');
|
||||||
}
|
}
|
||||||
#endif /* L_bb_getpwuid */
|
|
||||||
|
|
||||||
#ifdef L_bb_getug
|
|
||||||
/*
|
/*
|
||||||
* if bufsize is > 0 char *buffer can not be set to NULL.
|
* if bufsize is > 0 char *buffer can not be set to NULL.
|
||||||
* If idname is not NULL it is written on the static
|
* If idname is not NULL it is written on the static
|
||||||
|
@ -127,11 +102,6 @@ char * bb_getpwuid(char *name, long uid, int bufsize)
|
||||||
* else an error message is printed and the program exits.
|
* else an error message is printed and the program exits.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <assert.h>
|
|
||||||
#include "libbb.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* internal function for bb_getpwuid and bb_getgrgid */
|
/* internal function for bb_getpwuid and bb_getgrgid */
|
||||||
char * bb_getug(char *buffer, char *idname, long id, int bufsize, char prefix)
|
char * bb_getug(char *buffer, char *idname, long id, int bufsize, char prefix)
|
||||||
{
|
{
|
||||||
|
@ -146,13 +116,6 @@ char * bb_getug(char *buffer, char *idname, long id, int bufsize, char prefix)
|
||||||
}
|
}
|
||||||
return idname;
|
return idname;
|
||||||
}
|
}
|
||||||
#endif /* L_bb_getug */
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef L_get_ug_id
|
|
||||||
/* indirect dispatcher for pwd helpers. */
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "libbb.h"
|
|
||||||
|
|
||||||
unsigned long get_ug_id(const char *s,
|
unsigned long get_ug_id(const char *s,
|
||||||
long (*__bb_getxxnam)(const char *))
|
long (*__bb_getxxnam)(const char *))
|
||||||
|
@ -167,4 +130,3 @@ unsigned long get_ug_id(const char *s,
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
#endif /* L_get_ug_id */
|
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
#ifdef L_llist_add_to
|
|
||||||
/* Add data to the start of the linked list. */
|
/* Add data to the start of the linked list. */
|
||||||
void llist_add_to(llist_t **old_head, void *data)
|
void llist_add_to(llist_t **old_head, void *data)
|
||||||
{
|
{
|
||||||
|
@ -22,9 +21,7 @@ void llist_add_to(llist_t **old_head, void *data)
|
||||||
new_head->link = *old_head;
|
new_head->link = *old_head;
|
||||||
*old_head = new_head;
|
*old_head = new_head;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_llist_add_to_end
|
|
||||||
/* Add data to the end of the linked list. */
|
/* Add data to the end of the linked list. */
|
||||||
void llist_add_to_end(llist_t **list_head, void *data)
|
void llist_add_to_end(llist_t **list_head, void *data)
|
||||||
{
|
{
|
||||||
|
@ -39,9 +36,7 @@ void llist_add_to_end(llist_t **list_head, void *data)
|
||||||
tail->link = new_item;
|
tail->link = new_item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_llist_pop
|
|
||||||
/* Remove first element from the list and return it */
|
/* Remove first element from the list and return it */
|
||||||
void *llist_pop(llist_t **head)
|
void *llist_pop(llist_t **head)
|
||||||
{
|
{
|
||||||
|
@ -57,9 +52,7 @@ void *llist_pop(llist_t **head)
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_llist_free
|
|
||||||
/* Recursively free all elements in the linked list. If freeit != NULL
|
/* Recursively free all elements in the linked list. If freeit != NULL
|
||||||
* call it on each datum in the list */
|
* call it on each datum in the list */
|
||||||
void llist_free(llist_t *elm, void (*freeit)(void *data))
|
void llist_free(llist_t *elm, void (*freeit)(void *data))
|
||||||
|
@ -69,4 +62,3 @@ void llist_free(llist_t *elm, void (*freeit)(void *data))
|
||||||
if (freeit) freeit(data);
|
if (freeit) freeit(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
105
libbb/messages.c
105
libbb/messages.c
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
#ifdef L_full_version
|
|
||||||
#ifndef BB_EXTRA_VERSION
|
#ifndef BB_EXTRA_VERSION
|
||||||
#define BANNER "BusyBox v" BB_VER " (" BB_BT ")"
|
#define BANNER "BusyBox v" BB_VER " (" BB_BT ")"
|
||||||
#else
|
#else
|
||||||
|
@ -15,92 +14,30 @@
|
||||||
#endif
|
#endif
|
||||||
const char BB_BANNER[] = BANNER;
|
const char BB_BANNER[] = BANNER;
|
||||||
const char bb_msg_full_version[] = BANNER " multi-call binary";
|
const char bb_msg_full_version[] = BANNER " multi-call binary";
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_memory_exhausted
|
const char bb_msg_memory_exhausted[] = "memory exhausted";
|
||||||
const char bb_msg_memory_exhausted[] = "memory exhausted";
|
const char bb_msg_invalid_date[] = "invalid date '%s'";
|
||||||
#endif
|
const char bb_msg_write_error[] = "write error";
|
||||||
#ifdef L_invalid_date
|
const char bb_msg_read_error[] = "read error";
|
||||||
const char bb_msg_invalid_date[] = "invalid date `%s'";
|
const char bb_msg_name_longer_than_foo[] = "names longer than %d chars not supported";
|
||||||
#endif
|
const char bb_msg_unknown[] = "(unknown)";
|
||||||
#ifdef L_io_error
|
const char bb_msg_can_not_create_raw_socket[] = "can't create raw socket";
|
||||||
const char bb_msg_io_error[] = "%s: input/output error -- %m";
|
const char bb_msg_perm_denied_are_you_root[] = "permission denied. (are you root?)";
|
||||||
#endif
|
const char bb_msg_requires_arg[] = "%s requires an argument";
|
||||||
#ifdef L_write_error
|
const char bb_msg_invalid_arg[] = "invalid argument '%s' to '%s'";
|
||||||
const char bb_msg_write_error[] = "write error";
|
const char bb_msg_standard_input[] = "standard input";
|
||||||
#endif
|
const char bb_msg_standard_output[] = "standard output";
|
||||||
#ifdef L_read_error
|
|
||||||
const char bb_msg_read_error[] = "read error";
|
|
||||||
#endif
|
|
||||||
#ifdef L_name_longer_than_foo
|
|
||||||
const char bb_msg_name_longer_than_foo[] = "names longer than %d chars not supported";
|
|
||||||
#endif
|
|
||||||
#ifdef L_unknown
|
|
||||||
const char bb_msg_unknown[] = "(unknown)";
|
|
||||||
#endif
|
|
||||||
#ifdef L_can_not_create_raw_socket
|
|
||||||
const char bb_msg_can_not_create_raw_socket[] = "can't create raw socket";
|
|
||||||
#endif
|
|
||||||
#ifdef L_perm_denied_are_you_root
|
|
||||||
const char bb_msg_perm_denied_are_you_root[] = "permission denied. (are you root?)";
|
|
||||||
#endif
|
|
||||||
#ifdef L_msg_requires_arg
|
|
||||||
const char bb_msg_requires_arg[] = "%s requires an argument";
|
|
||||||
#endif
|
|
||||||
#ifdef L_msg_invalid_arg
|
|
||||||
const char bb_msg_invalid_arg[] = "invalid argument `%s' to `%s'";
|
|
||||||
#endif
|
|
||||||
#ifdef L_msg_standard_input
|
|
||||||
const char bb_msg_standard_input[] = "standard input";
|
|
||||||
#endif
|
|
||||||
#ifdef L_msg_standard_output
|
|
||||||
const char bb_msg_standard_output[] = "standard output";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_passwd_file
|
const char bb_path_passwd_file[] = "/etc/passwd";
|
||||||
#define PASSWD_FILE "/etc/passwd"
|
const char bb_path_shadow_file[] = "/etc/shadow";
|
||||||
const char bb_path_passwd_file[] = PASSWD_FILE;
|
const char bb_path_group_file[] = "/etc/group";
|
||||||
#endif
|
const char bb_path_gshadow_file[] = "/etc/gshadow";
|
||||||
|
const char bb_path_nologin_file[] = "/etc/nologin";
|
||||||
#ifdef L_shadow_file
|
const char bb_path_securetty_file[] = "/etc/securetty";
|
||||||
#define SHADOW_FILE "/etc/shadow"
|
const char bb_path_motd_file[] = "/etc/motd";
|
||||||
const char bb_path_shadow_file[] = SHADOW_FILE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_group_file
|
|
||||||
#define GROUP_FILE "/etc/group"
|
|
||||||
const char bb_path_group_file[] = GROUP_FILE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_gshadow_file
|
|
||||||
#define GSHADOW_FILE "/etc/gshadow"
|
|
||||||
const char bb_path_gshadow_file[] = GSHADOW_FILE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_nologin_file
|
|
||||||
#define NOLOGIN_FILE "/etc/nologin"
|
|
||||||
const char bb_path_nologin_file[] = NOLOGIN_FILE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_securetty_file
|
|
||||||
#define SECURETTY_FILE "/etc/securetty"
|
|
||||||
const char bb_path_securetty_file[] = SECURETTY_FILE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_motd_file
|
|
||||||
#define MOTD_FILE "/etc/motd"
|
|
||||||
const char bb_path_motd_file[] = MOTD_FILE;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_shell_file
|
|
||||||
const char bb_default_login_shell[] = LIBBB_DEFAULT_LOGIN_SHELL;
|
const char bb_default_login_shell[] = LIBBB_DEFAULT_LOGIN_SHELL;
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_bb_dev_null
|
|
||||||
const char bb_dev_null[] = "/dev/null";
|
const char bb_dev_null[] = "/dev/null";
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_bb_path_wtmp_file
|
|
||||||
#include <utmp.h>
|
#include <utmp.h>
|
||||||
/* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */
|
/* This is usually something like "/var/adm/wtmp" or "/var/log/wtmp" */
|
||||||
const char bb_path_wtmp_file[] =
|
const char bb_path_wtmp_file[] =
|
||||||
|
@ -111,9 +48,5 @@ WTMP_FILE;
|
||||||
#else
|
#else
|
||||||
# error unknown path to wtmp file
|
# error unknown path to wtmp file
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef L_bb_common_bufsiz1
|
|
||||||
char bb_common_bufsiz1[BUFSIZ+1];
|
char bb_common_bufsiz1[BUFSIZ+1];
|
||||||
#endif
|
|
||||||
|
|
|
@ -37,7 +37,6 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
#ifdef L_bb_vfprintf
|
|
||||||
int bb_vfprintf(FILE * __restrict stream,
|
int bb_vfprintf(FILE * __restrict stream,
|
||||||
const char * __restrict format,
|
const char * __restrict format,
|
||||||
va_list arg)
|
va_list arg)
|
||||||
|
@ -65,16 +64,12 @@ int bb_vfprintf(FILE * __restrict stream,
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_bb_vprintf
|
|
||||||
int bb_vprintf(const char * __restrict format, va_list arg)
|
int bb_vprintf(const char * __restrict format, va_list arg)
|
||||||
{
|
{
|
||||||
return bb_vfprintf(stdout, format, arg);
|
return bb_vfprintf(stdout, format, arg);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_bb_fprintf
|
|
||||||
int bb_fprintf(FILE * __restrict stream,
|
int bb_fprintf(FILE * __restrict stream,
|
||||||
const char * __restrict format, ...)
|
const char * __restrict format, ...)
|
||||||
{
|
{
|
||||||
|
@ -87,9 +82,7 @@ int bb_fprintf(FILE * __restrict stream,
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_bb_printf
|
|
||||||
int bb_printf(const char * __restrict format, ...)
|
int bb_printf(const char * __restrict format, ...)
|
||||||
{
|
{
|
||||||
va_list arg;
|
va_list arg;
|
||||||
|
@ -101,4 +94,3 @@ int bb_printf(const char * __restrict format, ...)
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
|
@ -12,7 +12,6 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
#ifdef L_safe_strtoi
|
|
||||||
int safe_strtoi(char *arg, int* value)
|
int safe_strtoi(char *arg, int* value)
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
@ -21,9 +20,7 @@ int safe_strtoi(char *arg, int* value)
|
||||||
*value = (int) lvalue;
|
*value = (int) lvalue;
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_safe_strtod
|
|
||||||
int safe_strtod(char *arg, double* value)
|
int safe_strtod(char *arg, double* value)
|
||||||
{
|
{
|
||||||
char *endptr;
|
char *endptr;
|
||||||
|
@ -38,9 +35,7 @@ int safe_strtod(char *arg, double* value)
|
||||||
errno = errno_save;
|
errno = errno_save;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_safe_strtol
|
|
||||||
int safe_strtol(char *arg, long* value)
|
int safe_strtol(char *arg, long* value)
|
||||||
{
|
{
|
||||||
char *endptr;
|
char *endptr;
|
||||||
|
@ -55,9 +50,7 @@ int safe_strtol(char *arg, long* value)
|
||||||
errno = errno_save;
|
errno = errno_save;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_safe_strtoul
|
|
||||||
int safe_strtoul(char *arg, unsigned long* value)
|
int safe_strtoul(char *arg, unsigned long* value)
|
||||||
{
|
{
|
||||||
char *endptr;
|
char *endptr;
|
||||||
|
@ -72,9 +65,7 @@ int safe_strtoul(char *arg, unsigned long* value)
|
||||||
errno = errno_save;
|
errno = errno_save;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_safe_strtoll
|
|
||||||
int safe_strtoll(char *arg, long long* value)
|
int safe_strtoll(char *arg, long long* value)
|
||||||
{
|
{
|
||||||
char *endptr;
|
char *endptr;
|
||||||
|
@ -89,9 +80,7 @@ int safe_strtoll(char *arg, long long* value)
|
||||||
errno = errno_save;
|
errno = errno_save;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_safe_strtoull
|
|
||||||
int safe_strtoull(char *arg, unsigned long long* value)
|
int safe_strtoull(char *arg, unsigned long long* value)
|
||||||
{
|
{
|
||||||
char *endptr;
|
char *endptr;
|
||||||
|
@ -106,5 +95,3 @@ int safe_strtoull(char *arg, unsigned long long* value)
|
||||||
errno = errno_save;
|
errno = errno_save;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
* Since dmalloc's prototypes overwrite the impls here as they are
|
* Since dmalloc's prototypes overwrite the impls here as they are
|
||||||
* included after these prototypes in libbb.h, all is well.
|
* included after these prototypes in libbb.h, all is well.
|
||||||
*/
|
*/
|
||||||
#ifdef L_xmalloc
|
|
||||||
// Die if we can't allocate size bytes of memory.
|
// Die if we can't allocate size bytes of memory.
|
||||||
void *xmalloc(size_t size)
|
void *xmalloc(size_t size)
|
||||||
{
|
{
|
||||||
|
@ -29,9 +28,7 @@ void *xmalloc(size_t size)
|
||||||
bb_error_msg_and_die(bb_msg_memory_exhausted);
|
bb_error_msg_and_die(bb_msg_memory_exhausted);
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xrealloc
|
|
||||||
// Die if we can't resize previously allocated memory. (This returns a pointer
|
// Die if we can't resize previously allocated memory. (This returns a pointer
|
||||||
// to the new memory, which may or may not be the same as the old memory.
|
// to the new memory, which may or may not be the same as the old memory.
|
||||||
// It'll copy the contents to a new chunk and free the old one if necessary.)
|
// It'll copy the contents to a new chunk and free the old one if necessary.)
|
||||||
|
@ -42,11 +39,8 @@ void *xrealloc(void *ptr, size_t size)
|
||||||
bb_error_msg_and_die(bb_msg_memory_exhausted);
|
bb_error_msg_and_die(bb_msg_memory_exhausted);
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
#endif /* DMALLOC */
|
#endif /* DMALLOC */
|
||||||
|
|
||||||
|
|
||||||
#ifdef L_xzalloc
|
|
||||||
// Die if we can't allocate and zero size bytes of memory.
|
// Die if we can't allocate and zero size bytes of memory.
|
||||||
void *xzalloc(size_t size)
|
void *xzalloc(size_t size)
|
||||||
{
|
{
|
||||||
|
@ -54,9 +48,7 @@ void *xzalloc(size_t size)
|
||||||
memset(ptr, 0, size);
|
memset(ptr, 0, size);
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xstrdup
|
|
||||||
// Die if we can't copy a string to freshly allocated memory.
|
// Die if we can't copy a string to freshly allocated memory.
|
||||||
char * xstrdup(const char *s)
|
char * xstrdup(const char *s)
|
||||||
{
|
{
|
||||||
|
@ -72,9 +64,7 @@ char * xstrdup(const char *s)
|
||||||
|
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xstrndup
|
|
||||||
// Die if we can't allocate n+1 bytes (space for the null terminator) and copy
|
// Die if we can't allocate n+1 bytes (space for the null terminator) and copy
|
||||||
// the (possibly truncated to length n) string into it.
|
// the (possibly truncated to length n) string into it.
|
||||||
char * xstrndup(const char *s, int n)
|
char * xstrndup(const char *s, int n)
|
||||||
|
@ -88,9 +78,7 @@ char * xstrndup(const char *s, int n)
|
||||||
|
|
||||||
return safe_strncpy(t,s,n);
|
return safe_strncpy(t,s,n);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xfopen
|
|
||||||
// Die if we can't open a file and return a FILE * to it.
|
// Die if we can't open a file and return a FILE * to it.
|
||||||
// Notice we haven't got xfread(), This is for use with fscanf() and friends.
|
// Notice we haven't got xfread(), This is for use with fscanf() and friends.
|
||||||
FILE *xfopen(const char *path, const char *mode)
|
FILE *xfopen(const char *path, const char *mode)
|
||||||
|
@ -100,9 +88,7 @@ FILE *xfopen(const char *path, const char *mode)
|
||||||
bb_perror_msg_and_die("%s", path);
|
bb_perror_msg_and_die("%s", path);
|
||||||
return fp;
|
return fp;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xopen
|
|
||||||
// Die if we can't open an existing file and return an fd.
|
// Die if we can't open an existing file and return an fd.
|
||||||
int xopen(const char *pathname, int flags)
|
int xopen(const char *pathname, int flags)
|
||||||
{
|
{
|
||||||
|
@ -111,9 +97,7 @@ int xopen(const char *pathname, int flags)
|
||||||
|
|
||||||
return xopen3(pathname, flags, 0777);
|
return xopen3(pathname, flags, 0777);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xopen3
|
|
||||||
// Die if we can't open a new file and return an fd.
|
// Die if we can't open a new file and return an fd.
|
||||||
int xopen3(const char *pathname, int flags, int mode)
|
int xopen3(const char *pathname, int flags, int mode)
|
||||||
{
|
{
|
||||||
|
@ -125,9 +109,7 @@ int xopen3(const char *pathname, int flags, int mode)
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xread
|
|
||||||
// Die with an error message if we can't read the entire buffer.
|
// Die with an error message if we can't read the entire buffer.
|
||||||
void xread(int fd, void *buf, size_t count)
|
void xread(int fd, void *buf, size_t count)
|
||||||
{
|
{
|
||||||
|
@ -140,9 +122,7 @@ void xread(int fd, void *buf, size_t count)
|
||||||
buf = ((char *) buf) + size;
|
buf = ((char *) buf) + size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xwrite
|
|
||||||
// Die with an error message if we can't write the entire buffer.
|
// Die with an error message if we can't write the entire buffer.
|
||||||
void xwrite(int fd, void *buf, size_t count)
|
void xwrite(int fd, void *buf, size_t count)
|
||||||
{
|
{
|
||||||
|
@ -155,17 +135,13 @@ void xwrite(int fd, void *buf, size_t count)
|
||||||
buf = ((char *) buf) + size;
|
buf = ((char *) buf) + size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xlseek
|
|
||||||
// Die with an error message if we can't lseek to the right spot.
|
// Die with an error message if we can't lseek to the right spot.
|
||||||
void xlseek(int fd, off_t offset, int whence)
|
void xlseek(int fd, off_t offset, int whence)
|
||||||
{
|
{
|
||||||
if (offset != lseek(fd, offset, whence)) bb_error_msg_and_die("lseek");
|
if (offset != lseek(fd, offset, whence)) bb_error_msg_and_die("lseek");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xread_char
|
|
||||||
// Die with an error message if we can't read one character.
|
// Die with an error message if we can't read one character.
|
||||||
unsigned char xread_char(int fd)
|
unsigned char xread_char(int fd)
|
||||||
{
|
{
|
||||||
|
@ -175,9 +151,7 @@ unsigned char xread_char(int fd)
|
||||||
|
|
||||||
return(tmp);
|
return(tmp);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xferror
|
|
||||||
// Die with supplied error message if this FILE * has ferror set.
|
// Die with supplied error message if this FILE * has ferror set.
|
||||||
void xferror(FILE *fp, const char *fn)
|
void xferror(FILE *fp, const char *fn)
|
||||||
{
|
{
|
||||||
|
@ -185,17 +159,13 @@ void xferror(FILE *fp, const char *fn)
|
||||||
bb_error_msg_and_die("%s", fn);
|
bb_error_msg_and_die("%s", fn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xferror_stdout
|
|
||||||
// Die with an error message if stdout has ferror set.
|
// Die with an error message if stdout has ferror set.
|
||||||
void xferror_stdout(void)
|
void xferror_stdout(void)
|
||||||
{
|
{
|
||||||
xferror(stdout, bb_msg_standard_output);
|
xferror(stdout, bb_msg_standard_output);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xfflush_stdout
|
|
||||||
// Die with an error message if we have trouble flushing stdout.
|
// Die with an error message if we have trouble flushing stdout.
|
||||||
void xfflush_stdout(void)
|
void xfflush_stdout(void)
|
||||||
{
|
{
|
||||||
|
@ -203,9 +173,7 @@ void xfflush_stdout(void)
|
||||||
bb_perror_msg_and_die(bb_msg_standard_output);
|
bb_perror_msg_and_die(bb_msg_standard_output);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_spawn
|
|
||||||
// This does a fork/exec in one call, using vfork(). Return PID of new child,
|
// This does a fork/exec in one call, using vfork(). Return PID of new child,
|
||||||
// -1 for failure. Runs argv[0], searching path if that has no / in it.
|
// -1 for failure. Runs argv[0], searching path if that has no / in it.
|
||||||
pid_t spawn(char **argv)
|
pid_t spawn(char **argv)
|
||||||
|
@ -230,9 +198,7 @@ pid_t spawn(char **argv)
|
||||||
}
|
}
|
||||||
return failed ? failed : pid;
|
return failed ? failed : pid;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xspawn
|
|
||||||
// Die with an error message if we can't spawn a child process.
|
// Die with an error message if we can't spawn a child process.
|
||||||
pid_t xspawn(char **argv)
|
pid_t xspawn(char **argv)
|
||||||
{
|
{
|
||||||
|
@ -240,9 +206,7 @@ pid_t xspawn(char **argv)
|
||||||
if (pid < 0) bb_perror_msg_and_die("%s", *argv);
|
if (pid < 0) bb_perror_msg_and_die("%s", *argv);
|
||||||
return pid;
|
return pid;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_wait4
|
|
||||||
// Wait for the specified child PID to exit, returning child's error return.
|
// Wait for the specified child PID to exit, returning child's error return.
|
||||||
int wait4pid(int pid)
|
int wait4pid(int pid)
|
||||||
{
|
{
|
||||||
|
@ -253,17 +217,13 @@ int wait4pid(int pid)
|
||||||
if (WIFSIGNALED(status)) return WTERMSIG(status);
|
if (WIFSIGNALED(status)) return WTERMSIG(status);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xsetenv
|
|
||||||
void xsetenv(const char *key, const char *value)
|
void xsetenv(const char *key, const char *value)
|
||||||
{
|
{
|
||||||
if(setenv(key, value, 1))
|
if(setenv(key, value, 1))
|
||||||
bb_error_msg_and_die(bb_msg_memory_exhausted);
|
bb_error_msg_and_die(bb_msg_memory_exhausted);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_itoa
|
|
||||||
// Convert unsigned integer to ascii, writing into supplied buffer. A
|
// Convert unsigned integer to ascii, writing into supplied buffer. A
|
||||||
// truncated result is always null terminated (unless buflen is 0), and
|
// truncated result is always null terminated (unless buflen is 0), and
|
||||||
// contains the first few digits of the result ala strncpy.
|
// contains the first few digits of the result ala strncpy.
|
||||||
|
@ -319,9 +279,7 @@ char *itoa(int n)
|
||||||
|
|
||||||
return local_buf;
|
return local_buf;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_setuid
|
|
||||||
// Die with an error message if we can't set gid. (Because resource limits may
|
// Die with an error message if we can't set gid. (Because resource limits may
|
||||||
// limit this user to a given number of processes, and if that fills up the
|
// limit this user to a given number of processes, and if that fills up the
|
||||||
// setgid() will fail and we'll _still_be_root_, which is bad.)
|
// setgid() will fail and we'll _still_be_root_, which is bad.)
|
||||||
|
@ -335,9 +293,7 @@ void xsetuid(uid_t uid)
|
||||||
{
|
{
|
||||||
if (setuid(uid)) bb_error_msg_and_die("setuid");
|
if (setuid(uid)) bb_error_msg_and_die("setuid");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_fdlength
|
|
||||||
// Return how long the file at fd is, if there's any way to determine it.
|
// Return how long the file at fd is, if there's any way to determine it.
|
||||||
off_t fdlength(int fd)
|
off_t fdlength(int fd)
|
||||||
{
|
{
|
||||||
|
@ -375,9 +331,7 @@ off_t fdlength(int fd)
|
||||||
|
|
||||||
return pos + 1;
|
return pos + 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xasprintf
|
|
||||||
// Die with an error message if we can't malloc() enough space and do an
|
// Die with an error message if we can't malloc() enough space and do an
|
||||||
// sprintf() into that space.
|
// sprintf() into that space.
|
||||||
char *xasprintf(const char *format, ...)
|
char *xasprintf(const char *format, ...)
|
||||||
|
@ -405,9 +359,7 @@ char *xasprintf(const char *format, ...)
|
||||||
if (r < 0) bb_error_msg_and_die(bb_msg_memory_exhausted);
|
if (r < 0) bb_error_msg_and_die(bb_msg_memory_exhausted);
|
||||||
return string_ptr;
|
return string_ptr;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xprint_and_close_file
|
|
||||||
// Die with an error message if we can't copy an entire FILE * to stdout, then
|
// Die with an error message if we can't copy an entire FILE * to stdout, then
|
||||||
// close that file.
|
// close that file.
|
||||||
void xprint_and_close_file(FILE *file)
|
void xprint_and_close_file(FILE *file)
|
||||||
|
@ -418,18 +370,14 @@ void xprint_and_close_file(FILE *file)
|
||||||
|
|
||||||
fclose(file);
|
fclose(file);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xchdir
|
|
||||||
// Die if we can't chdir to a new path.
|
// Die if we can't chdir to a new path.
|
||||||
void xchdir(const char *path)
|
void xchdir(const char *path)
|
||||||
{
|
{
|
||||||
if (chdir(path))
|
if (chdir(path))
|
||||||
bb_perror_msg_and_die("chdir(%s)", path);
|
bb_perror_msg_and_die("chdir(%s)", path);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_warn_opendir
|
|
||||||
// Print a warning message if opendir() fails, but don't die.
|
// Print a warning message if opendir() fails, but don't die.
|
||||||
DIR *warn_opendir(const char *path)
|
DIR *warn_opendir(const char *path)
|
||||||
{
|
{
|
||||||
|
@ -441,9 +389,7 @@ DIR *warn_opendir(const char *path)
|
||||||
}
|
}
|
||||||
return dp;
|
return dp;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xopendir
|
|
||||||
// Die with an error message if opendir() fails.
|
// Die with an error message if opendir() fails.
|
||||||
DIR *xopendir(const char *path)
|
DIR *xopendir(const char *path)
|
||||||
{
|
{
|
||||||
|
@ -453,9 +399,7 @@ DIR *xopendir(const char *path)
|
||||||
bb_perror_msg_and_die("unable to open `%s'", path);
|
bb_perror_msg_and_die("unable to open `%s'", path);
|
||||||
return dp;
|
return dp;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xdaemon
|
|
||||||
#ifndef BB_NOMMU
|
#ifndef BB_NOMMU
|
||||||
// Die with an error message if we can't daemonize.
|
// Die with an error message if we can't daemonize.
|
||||||
void xdaemon(int nochdir, int noclose)
|
void xdaemon(int nochdir, int noclose)
|
||||||
|
@ -463,9 +407,7 @@ void xdaemon(int nochdir, int noclose)
|
||||||
if (daemon(nochdir, noclose)) bb_perror_msg_and_die("daemon");
|
if (daemon(nochdir, noclose)) bb_perror_msg_and_die("daemon");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xsocket
|
|
||||||
// Die with an error message if we can't open a new socket.
|
// Die with an error message if we can't open a new socket.
|
||||||
int xsocket(int domain, int type, int protocol)
|
int xsocket(int domain, int type, int protocol)
|
||||||
{
|
{
|
||||||
|
@ -475,34 +417,26 @@ int xsocket(int domain, int type, int protocol)
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xbind
|
|
||||||
// Die with an error message if we can't bind a socket to an address.
|
// Die with an error message if we can't bind a socket to an address.
|
||||||
void xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen)
|
void xbind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen)
|
||||||
{
|
{
|
||||||
if (bind(sockfd, my_addr, addrlen)) bb_perror_msg_and_die("bind");
|
if (bind(sockfd, my_addr, addrlen)) bb_perror_msg_and_die("bind");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xlisten
|
|
||||||
// Die with an error message if we can't listen for connections on a socket.
|
// Die with an error message if we can't listen for connections on a socket.
|
||||||
void xlisten(int s, int backlog)
|
void xlisten(int s, int backlog)
|
||||||
{
|
{
|
||||||
if (listen(s, backlog)) bb_perror_msg_and_die("listen");
|
if (listen(s, backlog)) bb_perror_msg_and_die("listen");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xstat
|
|
||||||
// xstat() - a stat() which dies on failure with meaningful error message
|
// xstat() - a stat() which dies on failure with meaningful error message
|
||||||
void xstat(char *name, struct stat *stat_buf)
|
void xstat(char *name, struct stat *stat_buf)
|
||||||
{
|
{
|
||||||
if (stat(name, stat_buf))
|
if (stat(name, stat_buf))
|
||||||
bb_perror_msg_and_die("can't stat '%s'", name);
|
bb_perror_msg_and_die("can't stat '%s'", name);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_get_terminal_width_height
|
|
||||||
/* It is perfectly ok to pass in a NULL for either width or for
|
/* It is perfectly ok to pass in a NULL for either width or for
|
||||||
* * height, in which case that value will not be set. */
|
* * height, in which case that value will not be set. */
|
||||||
int get_terminal_width_height(int fd, int *width, int *height)
|
int get_terminal_width_height(int fd, int *width, int *height)
|
||||||
|
@ -524,4 +458,3 @@ int get_terminal_width_height(int fd, int *width, int *height)
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include "libbb.h"
|
#include "libbb.h"
|
||||||
|
|
||||||
#ifdef L_xgetularg_bnd_sfx
|
|
||||||
unsigned long bb_xgetularg_bnd_sfx(const char *arg, int base,
|
unsigned long bb_xgetularg_bnd_sfx(const char *arg, int base,
|
||||||
unsigned long lower,
|
unsigned long lower,
|
||||||
unsigned long upper,
|
unsigned long upper,
|
||||||
|
@ -75,9 +74,7 @@ unsigned long bb_xgetularg_bnd_sfx(const char *arg, int base,
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xgetlarg_bnd_sfx
|
|
||||||
long bb_xgetlarg_bnd_sfx(const char *arg, int base,
|
long bb_xgetlarg_bnd_sfx(const char *arg, int base,
|
||||||
long lower,
|
long lower,
|
||||||
long upper,
|
long upper,
|
||||||
|
@ -104,36 +101,27 @@ long bb_xgetlarg_bnd_sfx(const char *arg, int base,
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_getlarg10_sfx
|
|
||||||
long bb_xgetlarg10_sfx(const char *arg, const struct suffix_mult *suffixes)
|
long bb_xgetlarg10_sfx(const char *arg, const struct suffix_mult *suffixes)
|
||||||
{
|
{
|
||||||
return bb_xgetlarg_bnd_sfx(arg, 10, LONG_MIN, LONG_MAX, suffixes);
|
return bb_xgetlarg_bnd_sfx(arg, 10, LONG_MIN, LONG_MAX, suffixes);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xgetularg_bnd
|
|
||||||
unsigned long bb_xgetularg_bnd(const char *arg, int base,
|
unsigned long bb_xgetularg_bnd(const char *arg, int base,
|
||||||
unsigned long lower,
|
unsigned long lower,
|
||||||
unsigned long upper)
|
unsigned long upper)
|
||||||
{
|
{
|
||||||
return bb_xgetularg_bnd_sfx(arg, base, lower, upper, NULL);
|
return bb_xgetularg_bnd_sfx(arg, base, lower, upper, NULL);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xgetularg10_bnd
|
|
||||||
unsigned long bb_xgetularg10_bnd(const char *arg,
|
unsigned long bb_xgetularg10_bnd(const char *arg,
|
||||||
unsigned long lower,
|
unsigned long lower,
|
||||||
unsigned long upper)
|
unsigned long upper)
|
||||||
{
|
{
|
||||||
return bb_xgetularg_bnd(arg, 10, lower, upper);
|
return bb_xgetularg_bnd(arg, 10, lower, upper);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_xgetularg10
|
|
||||||
unsigned long bb_xgetularg10(const char *arg)
|
unsigned long bb_xgetularg10(const char *arg)
|
||||||
{
|
{
|
||||||
return bb_xgetularg10_bnd(arg, 0, ULONG_MAX);
|
return bb_xgetularg10_bnd(arg, 0, ULONG_MAX);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
7
libpwdgrp/Kbuild
Normal file
7
libpwdgrp/Kbuild
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=pwd_grp.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/libpwgrp
|
|
||||||
LIBPWDGRP_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,51 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
LIBPWDGRP_AR:=libpwdgrp.a
|
|
||||||
ifndef $(LIBPWDGRP_DIR)
|
|
||||||
LIBPWDGRP_DIR:=$(top_builddir)/libpwdgrp
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/libpwdgrp
|
|
||||||
|
|
||||||
LIBPWDGRP-obj:=$(LIBPWDGRP_DIR)/$(LIBPWDGRP_AR)
|
|
||||||
|
|
||||||
libraries-y+=$(LIBPWDGRP_DIR)/$(LIBPWDGRP_AR)
|
|
||||||
|
|
||||||
LIBPWDGRP_MSRC0:=$(srcdir)/pwd_grp.c
|
|
||||||
LIBPWDGRP_MOBJ0-$(CONFIG_USE_BB_PWD_GRP):= fgetpwent_r.o fgetgrent_r.o \
|
|
||||||
fgetpwent.o fgetgrent.o getpwnam_r.o getgrnam_r.o getpwuid_r.o \
|
|
||||||
getgrgid_r.o getpwuid.o getgrgid.o getpwnam.o getgrnam.o getpw.o \
|
|
||||||
getpwent_r.o getgrent_r.o getpwent.o getgrent.o \
|
|
||||||
initgroups.o putpwent.o putgrent.o
|
|
||||||
LIBPWDGRP_MOBJS0=$(patsubst %,$(LIBPWDGRP_DIR)/%, $(LIBPWDGRP_MOBJ0-y))
|
|
||||||
|
|
||||||
LIBPWDGRP_MSRC1:=$(srcdir)/pwd_grp.c
|
|
||||||
LIBPWDGRP_MOBJ1-$(CONFIG_USE_BB_PWD_GRP):= __parsepwent.o __parsegrent.o \
|
|
||||||
__pgsreader.o fgetspent_r.o fgetspent.o sgetspent_r.o getspnam_r.o \
|
|
||||||
getspnam.o getspent_r.o getspent.o sgetspent.o \
|
|
||||||
putspent.o __parsespent.o # getspuid_r.o getspuid.o
|
|
||||||
LIBPWDGRP_MOBJS1=$(patsubst %,$(LIBPWDGRP_DIR)/%, $(LIBPWDGRP_MOBJ1-y))
|
|
||||||
|
|
||||||
LIBPWDGRP_DEFINE0-y:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(LIBPWDGRP_MOBJS0))))
|
|
||||||
LIBPWDGRP_DEFINE1-y:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(LIBPWDGRP_MOBJS1))))
|
|
||||||
|
|
||||||
LIBPWDGRP_SRC-y:=$(LIBPWDGRP_MSRC0)
|
|
||||||
|
|
||||||
LIBRARY_SRC-y+=$(LIBPWDGRP_SRC-y)
|
|
||||||
LIBRARY_SRC-a+=$(LIBPWDGRP_SRC-y)
|
|
||||||
|
|
||||||
LIBRARY_DEFINE-y+=$(LIBPWDGRP_DEFINE0-y) $(LIBPWDGRP_DEFINE1-y)
|
|
||||||
LIBRARY_DEFINE-a+=$(LIBPWDGRP_DEFINE0-y) $(LIBPWDGRP_DEFINE1-y)
|
|
||||||
|
|
||||||
|
|
||||||
$(LIBPWDGRP_DIR)/$(LIBPWDGRP_AR): $(LIBPWDGRP_MOBJS0) $(LIBPWDGRP_MOBJS1)
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(LIBPWDGRP_MOBJS0): $(LIBPWDGRP_MSRC0)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
||||||
|
|
||||||
$(LIBPWDGRP_MOBJS1): $(LIBPWDGRP_MSRC1)
|
|
||||||
$(compile.c) -DL_$(notdir $*)
|
|
|
@ -29,8 +29,6 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#include "shadow_.h"
|
|
||||||
|
|
||||||
#ifndef _PATH_SHADOW
|
#ifndef _PATH_SHADOW
|
||||||
#define _PATH_SHADOW "/etc/shadow"
|
#define _PATH_SHADOW "/etc/shadow"
|
||||||
#endif
|
#endif
|
||||||
|
@ -57,7 +55,7 @@ extern int __parsegrent(void *gr, char *line);
|
||||||
extern int __parsespent(void *sp, char *line);
|
extern int __parsespent(void *sp, char *line);
|
||||||
|
|
||||||
extern int __pgsreader(int (*__parserfunc)(void *d, char *line), void *data,
|
extern int __pgsreader(int (*__parserfunc)(void *d, char *line), void *data,
|
||||||
char *__restrict line_buff, size_t buflen, FILE *f);
|
char *__restrict line_buff, size_t buflen, FILE *f);
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
/* For the various fget??ent_r funcs, return
|
/* For the various fget??ent_r funcs, return
|
||||||
|
@ -75,8 +73,6 @@ extern int __pgsreader(int (*__parserfunc)(void *d, char *line), void *data,
|
||||||
*/
|
*/
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
||||||
#ifdef L_fgetpwent_r
|
|
||||||
|
|
||||||
int fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
|
int fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
|
||||||
char *__restrict buffer, size_t buflen,
|
char *__restrict buffer, size_t buflen,
|
||||||
struct passwd **__restrict result)
|
struct passwd **__restrict result)
|
||||||
|
@ -92,10 +88,6 @@ int fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_fgetgrent_r
|
|
||||||
|
|
||||||
int fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
|
int fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
|
||||||
char *__restrict buffer, size_t buflen,
|
char *__restrict buffer, size_t buflen,
|
||||||
struct group **__restrict result)
|
struct group **__restrict result)
|
||||||
|
@ -111,10 +103,6 @@ int fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_fgetspent_r
|
|
||||||
|
|
||||||
int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
|
int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
|
||||||
char *__restrict buffer, size_t buflen,
|
char *__restrict buffer, size_t buflen,
|
||||||
struct spwd **__restrict result)
|
struct spwd **__restrict result)
|
||||||
|
@ -130,13 +118,11 @@ int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
/* For the various fget??ent funcs, return NULL on failure and a
|
/* For the various fget??ent funcs, return NULL on failure and a
|
||||||
* pointer to the appropriate struct (statically allocated) on success.
|
* pointer to the appropriate struct (statically allocated) on success.
|
||||||
*/
|
*/
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
#ifdef L_fgetpwent
|
|
||||||
|
|
||||||
struct passwd *fgetpwent(FILE *stream)
|
struct passwd *fgetpwent(FILE *stream)
|
||||||
{
|
{
|
||||||
|
@ -148,10 +134,6 @@ struct passwd *fgetpwent(FILE *stream)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_fgetgrent
|
|
||||||
|
|
||||||
struct group *fgetgrent(FILE *stream)
|
struct group *fgetgrent(FILE *stream)
|
||||||
{
|
{
|
||||||
static char buffer[GRP_BUFFER_SIZE];
|
static char buffer[GRP_BUFFER_SIZE];
|
||||||
|
@ -162,10 +144,6 @@ struct group *fgetgrent(FILE *stream)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_fgetspent
|
|
||||||
|
|
||||||
extern int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
|
extern int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
|
||||||
char *__restrict buffer, size_t buflen,
|
char *__restrict buffer, size_t buflen,
|
||||||
struct spwd **__restrict result);
|
struct spwd **__restrict result);
|
||||||
|
@ -179,10 +157,6 @@ struct spwd *fgetspent(FILE *stream)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_sgetspent_r
|
|
||||||
|
|
||||||
int sgetspent_r(const char *string, struct spwd *result_buf,
|
int sgetspent_r(const char *string, struct spwd *result_buf,
|
||||||
char *buffer, size_t buflen, struct spwd **result)
|
char *buffer, size_t buflen, struct spwd **result)
|
||||||
{
|
{
|
||||||
|
@ -211,65 +185,53 @@ int sgetspent_r(const char *string, struct spwd *result_buf,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
||||||
#ifdef GETXXKEY_R_FUNC
|
#ifdef GETXXKEY_R_FUNC
|
||||||
#error GETXXKEY_R_FUNC is already defined!
|
#error GETXXKEY_R_FUNC is already defined!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef L_getpwnam_r
|
#define GETXXKEY_R_FUNC getpwnam_R
|
||||||
#define GETXXKEY_R_FUNC getpwnam_r
|
|
||||||
#define GETXXKEY_R_PARSER __parsepwent
|
#define GETXXKEY_R_PARSER __parsepwent
|
||||||
#define GETXXKEY_R_ENTTYPE struct passwd
|
#define GETXXKEY_R_ENTTYPE struct passwd
|
||||||
#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->pw_name, key))
|
#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->pw_name, key))
|
||||||
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
|
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
|
||||||
#define DO_GETXXKEY_R_PATHNAME _PATH_PASSWD
|
#define DO_GETXXKEY_R_PATHNAME _PATH_PASSWD
|
||||||
#include "pwd_grp_internal.c"
|
#include "pwd_grp_internal.c"
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_getgrnam_r
|
#define GETXXKEY_R_FUNC getgrnam_R
|
||||||
#define GETXXKEY_R_FUNC getgrnam_r
|
|
||||||
#define GETXXKEY_R_PARSER __parsegrent
|
#define GETXXKEY_R_PARSER __parsegrent
|
||||||
#define GETXXKEY_R_ENTTYPE struct group
|
#define GETXXKEY_R_ENTTYPE struct group
|
||||||
#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->gr_name, key))
|
#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->gr_name, key))
|
||||||
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
|
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
|
||||||
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
|
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
|
||||||
#include "pwd_grp_internal.c"
|
#include "pwd_grp_internal.c"
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_getspnam_r
|
#define GETXXKEY_R_FUNC getspnam_R
|
||||||
#define GETXXKEY_R_FUNC getspnam_r
|
|
||||||
#define GETXXKEY_R_PARSER __parsespent
|
#define GETXXKEY_R_PARSER __parsespent
|
||||||
#define GETXXKEY_R_ENTTYPE struct spwd
|
#define GETXXKEY_R_ENTTYPE struct spwd
|
||||||
#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->sp_namp, key))
|
#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->sp_namp, key))
|
||||||
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
|
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
|
||||||
#define DO_GETXXKEY_R_PATHNAME _PATH_SHADOW
|
#define DO_GETXXKEY_R_PATHNAME _PATH_SHADOW
|
||||||
#include "pwd_grp_internal.c"
|
#include "pwd_grp_internal.c"
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_getpwuid_r
|
#define GETXXKEY_R_FUNC getpwuid_R
|
||||||
#define GETXXKEY_R_FUNC getpwuid_r
|
|
||||||
#define GETXXKEY_R_PARSER __parsepwent
|
#define GETXXKEY_R_PARSER __parsepwent
|
||||||
#define GETXXKEY_R_ENTTYPE struct passwd
|
#define GETXXKEY_R_ENTTYPE struct passwd
|
||||||
#define GETXXKEY_R_TEST(ENT) ((ENT)->pw_uid == key)
|
#define GETXXKEY_R_TEST(ENT) ((ENT)->pw_uid == key)
|
||||||
#define DO_GETXXKEY_R_KEYTYPE uid_t
|
#define DO_GETXXKEY_R_KEYTYPE uid_t
|
||||||
#define DO_GETXXKEY_R_PATHNAME _PATH_PASSWD
|
#define DO_GETXXKEY_R_PATHNAME _PATH_PASSWD
|
||||||
#include "pwd_grp_internal.c"
|
#include "pwd_grp_internal.c"
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_getgrgid_r
|
#define GETXXKEY_R_FUNC getgrgid_R
|
||||||
#define GETXXKEY_R_FUNC getgrgid_r
|
|
||||||
#define GETXXKEY_R_PARSER __parsegrent
|
#define GETXXKEY_R_PARSER __parsegrent
|
||||||
#define GETXXKEY_R_ENTTYPE struct group
|
#define GETXXKEY_R_ENTTYPE struct group
|
||||||
#define GETXXKEY_R_TEST(ENT) ((ENT)->gr_gid == key)
|
#define GETXXKEY_R_TEST(ENT) ((ENT)->gr_gid == key)
|
||||||
#define DO_GETXXKEY_R_KEYTYPE gid_t
|
#define DO_GETXXKEY_R_KEYTYPE gid_t
|
||||||
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
|
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
|
||||||
#include "pwd_grp_internal.c"
|
#include "pwd_grp_internal.c"
|
||||||
#endif
|
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
#ifdef L_getpwuid
|
|
||||||
|
|
||||||
struct passwd *getpwuid(uid_t uid)
|
struct passwd *getpwuid(uid_t uid)
|
||||||
{
|
{
|
||||||
|
@ -281,10 +243,6 @@ struct passwd *getpwuid(uid_t uid)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getgrgid
|
|
||||||
|
|
||||||
struct group *getgrgid(gid_t gid)
|
struct group *getgrgid(gid_t gid)
|
||||||
{
|
{
|
||||||
static char buffer[GRP_BUFFER_SIZE];
|
static char buffer[GRP_BUFFER_SIZE];
|
||||||
|
@ -295,10 +253,6 @@ struct group *getgrgid(gid_t gid)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getspuid_r
|
|
||||||
|
|
||||||
/* This function is non-standard and is currently not built. It seems
|
/* This function is non-standard and is currently not built. It seems
|
||||||
* to have been created as a reentrant version of the non-standard
|
* to have been created as a reentrant version of the non-standard
|
||||||
* functions getspuid. Why getspuid was added, I do not know. */
|
* functions getspuid. Why getspuid was added, I do not know. */
|
||||||
|
@ -320,10 +274,6 @@ int getspuid_r(uid_t uid, struct spwd *__restrict resultbuf,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getspuid
|
|
||||||
|
|
||||||
/* This function is non-standard and is currently not built.
|
/* This function is non-standard and is currently not built.
|
||||||
* Why it was added, I do not know. */
|
* Why it was added, I do not know. */
|
||||||
|
|
||||||
|
@ -337,10 +287,6 @@ struct spwd *getspuid(uid_t uid)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getpwnam
|
|
||||||
|
|
||||||
struct passwd *getpwnam(const char *name)
|
struct passwd *getpwnam(const char *name)
|
||||||
{
|
{
|
||||||
static char buffer[PWD_BUFFER_SIZE];
|
static char buffer[PWD_BUFFER_SIZE];
|
||||||
|
@ -351,10 +297,6 @@ struct passwd *getpwnam(const char *name)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getgrnam
|
|
||||||
|
|
||||||
struct group *getgrnam(const char *name)
|
struct group *getgrnam(const char *name)
|
||||||
{
|
{
|
||||||
static char buffer[GRP_BUFFER_SIZE];
|
static char buffer[GRP_BUFFER_SIZE];
|
||||||
|
@ -365,10 +307,6 @@ struct group *getgrnam(const char *name)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getspnam
|
|
||||||
|
|
||||||
struct spwd *getspnam(const char *name)
|
struct spwd *getspnam(const char *name)
|
||||||
{
|
{
|
||||||
static char buffer[PWD_BUFFER_SIZE];
|
static char buffer[PWD_BUFFER_SIZE];
|
||||||
|
@ -379,10 +317,6 @@ struct spwd *getspnam(const char *name)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getpw
|
|
||||||
|
|
||||||
int getpw(uid_t uid, char *buf)
|
int getpw(uid_t uid, char *buf)
|
||||||
{
|
{
|
||||||
struct passwd resultbuf;
|
struct passwd resultbuf;
|
||||||
|
@ -406,10 +340,8 @@ int getpw(uid_t uid, char *buf)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
||||||
#if defined(L_getpwent_r) || defined(L_getgrent_r) || defined(L_getspent_r)
|
|
||||||
#if defined CONFIG_USE_BB_THREADSAFE_SHADOW && defined PTHREAD_MUTEX_INITIALIZER
|
#if defined CONFIG_USE_BB_THREADSAFE_SHADOW && defined PTHREAD_MUTEX_INITIALIZER
|
||||||
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
|
||||||
# define LOCK pthread_mutex_lock(&mylock)
|
# define LOCK pthread_mutex_lock(&mylock)
|
||||||
|
@ -418,9 +350,7 @@ static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
|
||||||
# define LOCK ((void) 0)
|
# define LOCK ((void) 0)
|
||||||
# define UNLOCK ((void) 0)
|
# define UNLOCK ((void) 0)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef L_getpwent_r
|
|
||||||
static FILE *pwf /*= NULL*/;
|
static FILE *pwf /*= NULL*/;
|
||||||
void setpwent(void)
|
void setpwent(void)
|
||||||
{
|
{
|
||||||
|
@ -468,10 +398,6 @@ int getpwent_r(struct passwd *__restrict resultbuf,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getgrent_r
|
|
||||||
|
|
||||||
static FILE *grf /*= NULL*/;
|
static FILE *grf /*= NULL*/;
|
||||||
void setgrent(void)
|
void setgrent(void)
|
||||||
{
|
{
|
||||||
|
@ -518,10 +444,6 @@ int getgrent_r(struct group *__restrict resultbuf,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getspent_r
|
|
||||||
|
|
||||||
static FILE *spf /*= NULL*/;
|
static FILE *spf /*= NULL*/;
|
||||||
void setspent(void)
|
void setspent(void)
|
||||||
{
|
{
|
||||||
|
@ -567,10 +489,6 @@ int getspent_r(struct spwd *resultbuf, char *buffer,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getpwent
|
|
||||||
|
|
||||||
struct passwd *getpwent(void)
|
struct passwd *getpwent(void)
|
||||||
{
|
{
|
||||||
static char line_buff[PWD_BUFFER_SIZE];
|
static char line_buff[PWD_BUFFER_SIZE];
|
||||||
|
@ -581,10 +499,6 @@ struct passwd *getpwent(void)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getgrent
|
|
||||||
|
|
||||||
struct group *getgrent(void)
|
struct group *getgrent(void)
|
||||||
{
|
{
|
||||||
static char line_buff[GRP_BUFFER_SIZE];
|
static char line_buff[GRP_BUFFER_SIZE];
|
||||||
|
@ -595,10 +509,6 @@ struct group *getgrent(void)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_getspent
|
|
||||||
|
|
||||||
struct spwd *getspent(void)
|
struct spwd *getspent(void)
|
||||||
{
|
{
|
||||||
static char line_buff[PWD_BUFFER_SIZE];
|
static char line_buff[PWD_BUFFER_SIZE];
|
||||||
|
@ -609,10 +519,6 @@ struct spwd *getspent(void)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_sgetspent
|
|
||||||
|
|
||||||
struct spwd *sgetspent(const char *string)
|
struct spwd *sgetspent(const char *string)
|
||||||
{
|
{
|
||||||
static char line_buff[PWD_BUFFER_SIZE];
|
static char line_buff[PWD_BUFFER_SIZE];
|
||||||
|
@ -623,10 +529,6 @@ struct spwd *sgetspent(const char *string)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_initgroups
|
|
||||||
|
|
||||||
int initgroups(const char *user, gid_t gid)
|
int initgroups(const char *user, gid_t gid)
|
||||||
{
|
{
|
||||||
FILE *grfile;
|
FILE *grfile;
|
||||||
|
@ -679,10 +581,6 @@ int initgroups(const char *user, gid_t gid)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_putpwent
|
|
||||||
|
|
||||||
int putpwent(const struct passwd *__restrict p, FILE *__restrict f)
|
int putpwent(const struct passwd *__restrict p, FILE *__restrict f)
|
||||||
{
|
{
|
||||||
int rv = -1;
|
int rv = -1;
|
||||||
|
@ -704,10 +602,6 @@ int putpwent(const struct passwd *__restrict p, FILE *__restrict f)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_putgrent
|
|
||||||
|
|
||||||
int putgrent(const struct group *__restrict p, FILE *__restrict f)
|
int putgrent(const struct group *__restrict p, FILE *__restrict f)
|
||||||
{
|
{
|
||||||
static const char format[] = ",%s";
|
static const char format[] = ",%s";
|
||||||
|
@ -749,10 +643,6 @@ int putgrent(const struct group *__restrict p, FILE *__restrict f)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef L_putspent
|
|
||||||
|
|
||||||
static const unsigned char _sp_off[] = {
|
static const unsigned char _sp_off[] = {
|
||||||
offsetof(struct spwd, sp_lstchg), /* 2 - not a char ptr */
|
offsetof(struct spwd, sp_lstchg), /* 2 - not a char ptr */
|
||||||
offsetof(struct spwd, sp_min), /* 3 - not a char ptr */
|
offsetof(struct spwd, sp_min), /* 3 - not a char ptr */
|
||||||
|
@ -799,11 +689,9 @@ DO_UNLOCK:
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
/* Internal uClibc functions. */
|
/* Internal uClibc functions. */
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
#ifdef L___parsepwent
|
|
||||||
|
|
||||||
static const unsigned char pw_off[] = {
|
static const unsigned char pw_off[] = {
|
||||||
offsetof(struct passwd, pw_name), /* 0 */
|
offsetof(struct passwd, pw_name), /* 0 */
|
||||||
|
@ -860,9 +748,7 @@ int __parsepwent(void *data, char *line)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
#ifdef L___parsegrent
|
|
||||||
|
|
||||||
static const unsigned char gr_off[] = {
|
static const unsigned char gr_off[] = {
|
||||||
offsetof(struct group, gr_name), /* 0 */
|
offsetof(struct group, gr_name), /* 0 */
|
||||||
|
@ -958,9 +844,7 @@ int __parsegrent(void *data, char *line)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
#ifdef L___parsespent
|
|
||||||
|
|
||||||
static const unsigned char sp_off[] = {
|
static const unsigned char sp_off[] = {
|
||||||
offsetof(struct spwd, sp_namp), /* 0 */
|
offsetof(struct spwd, sp_namp), /* 0 */
|
||||||
|
@ -1017,9 +901,7 @@ int __parsespent(void *data, char * line)
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
#ifdef L___pgsreader
|
|
||||||
|
|
||||||
/* Reads until if EOF, or until if finds a line which fits in the buffer
|
/* Reads until if EOF, or until if finds a line which fits in the buffer
|
||||||
* and for which the parser function succeeds.
|
* and for which the parser function succeeds.
|
||||||
|
@ -1084,5 +966,4 @@ int __pgsreader(int (*__parserfunc)(void *d, char *line), void *data,
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
|
@ -18,96 +18,45 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <features.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <assert.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
#include "pwd_.h"
|
|
||||||
#include "grp_.h"
|
|
||||||
#include "shadow_.h"
|
|
||||||
#include "libbb.h"
|
|
||||||
|
|
||||||
#ifndef _PATH_SHADOW
|
|
||||||
#define _PATH_SHADOW "/etc/shadow"
|
|
||||||
#endif
|
|
||||||
#ifndef _PATH_PASSWD
|
|
||||||
#define _PATH_PASSWD "/etc/passwd"
|
|
||||||
#endif
|
|
||||||
#ifndef _PATH_GROUP
|
|
||||||
#define _PATH_GROUP "/etc/group"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**********************************************************************/
|
|
||||||
/* Sizes for statically allocated buffers. */
|
|
||||||
|
|
||||||
/* If you change these values, also change _SC_GETPW_R_SIZE_MAX and
|
|
||||||
* _SC_GETGR_R_SIZE_MAX in libc/unistd/sysconf.c to match */
|
|
||||||
#define PWD_BUFFER_SIZE 256
|
|
||||||
#define GRP_BUFFER_SIZE 256
|
|
||||||
|
|
||||||
/**********************************************************************/
|
|
||||||
/* Prototypes for internal functions. */
|
|
||||||
|
|
||||||
extern int __parsepwent(void *pw, char *line);
|
|
||||||
extern int __parsegrent(void *gr, char *line);
|
|
||||||
extern int __parsespent(void *sp, char *line);
|
|
||||||
|
|
||||||
extern int __pgsreader(int (*__parserfunc)(void *d, char *line), void *data,
|
|
||||||
char *__restrict line_buff, size_t buflen, FILE *f);
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef GETXXKEY_R_FUNC
|
#ifndef GETXXKEY_R_FUNC
|
||||||
#error GETXXKEY_R_FUNC is not defined!
|
#error GETXXKEY_R_FUNC is not defined!
|
||||||
#endif
|
#endif
|
||||||
/**********************************************************************/
|
|
||||||
#ifdef GETXXKEY_R_FUNC
|
|
||||||
|
|
||||||
int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key,
|
int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key,
|
||||||
GETXXKEY_R_ENTTYPE *__restrict resultbuf,
|
GETXXKEY_R_ENTTYPE *__restrict resultbuf,
|
||||||
char *__restrict buffer, size_t buflen,
|
char *__restrict buffer, size_t buflen,
|
||||||
GETXXKEY_R_ENTTYPE **__restrict result)
|
GETXXKEY_R_ENTTYPE **__restrict result)
|
||||||
{
|
{
|
||||||
FILE *stream;
|
FILE *stream;
|
||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
*result = NULL;
|
*result = NULL;
|
||||||
|
|
||||||
if (!(stream = fopen(DO_GETXXKEY_R_PATHNAME, "r"))) {
|
stream = fopen(DO_GETXXKEY_R_PATHNAME, "r");
|
||||||
rv = errno;
|
if (!stream)
|
||||||
} else {
|
return errno;
|
||||||
do {
|
while (1) {
|
||||||
if (!(rv = __pgsreader(GETXXKEY_R_PARSER, resultbuf,
|
rv = __pgsreader(GETXXKEY_R_PARSER, resultbuf, buffer, buflen, stream);
|
||||||
buffer, buflen, stream))
|
if (!rv) {
|
||||||
) {
|
if (GETXXKEY_R_TEST(resultbuf)) { /* Found key? */
|
||||||
if (GETXXKEY_R_TEST(resultbuf)) { /* Found key? */
|
*result = resultbuf;
|
||||||
*result = resultbuf;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (rv == ENOENT) { /* end-of-file encountered. */
|
|
||||||
rv = 0;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while (1);
|
} else {
|
||||||
fclose(stream);
|
if (rv == ENOENT) { /* end-of-file encountered. */
|
||||||
|
rv = 0;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
fclose(stream);
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
/**********************************************************************/
|
|
||||||
#undef GETXXKEY_R_FUNC
|
#undef GETXXKEY_R_FUNC
|
||||||
#undef GETXXKEY_R_PARSER
|
#undef GETXXKEY_R_PARSER
|
||||||
#undef GETXXKEY_R_ENTTYPE
|
#undef GETXXKEY_R_ENTTYPE
|
||||||
#undef GETXXKEY_R_TEST
|
#undef GETXXKEY_R_TEST
|
||||||
#undef DO_GETXXKEY_R_KEYTYPE
|
#undef DO_GETXXKEY_R_KEYTYPE
|
||||||
#undef DO_GETXXKEY_R_PATHNAME
|
#undef DO_GETXXKEY_R_PATHNAME
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
menu "Login/Password Management Utilities"
|
menu "Login/Password Management Utilities"
|
||||||
|
|
||||||
config CONFIG_FEATURE_SHADOWPASSWDS
|
config FEATURE_SHADOWPASSWDS
|
||||||
bool "Support for shadow passwords"
|
bool "Support for shadow passwords"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -13,10 +13,10 @@ config CONFIG_FEATURE_SHADOWPASSWDS
|
||||||
readable by root and thus the encrypted passwords are no longer
|
readable by root and thus the encrypted passwords are no longer
|
||||||
publicly readable.
|
publicly readable.
|
||||||
|
|
||||||
config CONFIG_USE_BB_SHADOW
|
config USE_BB_SHADOW
|
||||||
bool " Use busybox shadow password functions"
|
bool " Use busybox shadow password functions"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_USE_BB_PWD_GRP && CONFIG_FEATURE_SHADOWPASSWDS
|
depends on USE_BB_PWD_GRP && FEATURE_SHADOWPASSWDS
|
||||||
help
|
help
|
||||||
If you leave this disabled, busybox will use the system's shadow
|
If you leave this disabled, busybox will use the system's shadow
|
||||||
password handling functions. And if you are using the GNU C library
|
password handling functions. And if you are using the GNU C library
|
||||||
|
@ -32,7 +32,7 @@ config CONFIG_USE_BB_SHADOW
|
||||||
able to use PAM to access shadow passwords from remote LDAP
|
able to use PAM to access shadow passwords from remote LDAP
|
||||||
password servers and whatnot.
|
password servers and whatnot.
|
||||||
|
|
||||||
config CONFIG_USE_BB_PWD_GRP
|
config USE_BB_PWD_GRP
|
||||||
bool "Use internal password and group functions rather than system functions"
|
bool "Use internal password and group functions rather than system functions"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -53,86 +53,86 @@ config CONFIG_USE_BB_PWD_GRP
|
||||||
|
|
||||||
If you enable this option, it will add about 1.5k to busybox.
|
If you enable this option, it will add about 1.5k to busybox.
|
||||||
|
|
||||||
config CONFIG_ADDGROUP
|
config ADDGROUP
|
||||||
bool "addgroup"
|
bool "addgroup"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Utility for creating a new group account.
|
Utility for creating a new group account.
|
||||||
|
|
||||||
config CONFIG_DELGROUP
|
config DELGROUP
|
||||||
bool "delgroup"
|
bool "delgroup"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Utility for deleting a group account.
|
Utility for deleting a group account.
|
||||||
|
|
||||||
config CONFIG_ADDUSER
|
config ADDUSER
|
||||||
bool "adduser"
|
bool "adduser"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Utility for creating a new user account.
|
Utility for creating a new user account.
|
||||||
|
|
||||||
config CONFIG_DELUSER
|
config DELUSER
|
||||||
bool "deluser"
|
bool "deluser"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Utility for deleting a user account.
|
Utility for deleting a user account.
|
||||||
|
|
||||||
config CONFIG_GETTY
|
config GETTY
|
||||||
bool "getty"
|
bool "getty"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
getty lets you log in on a tty, it is normally invoked by init.
|
getty lets you log in on a tty, it is normally invoked by init.
|
||||||
|
|
||||||
config CONFIG_FEATURE_UTMP
|
config FEATURE_UTMP
|
||||||
bool "Support utmp file"
|
bool "Support utmp file"
|
||||||
depends on CONFIG_GETTY || CONFIG_LOGIN || CONFIG_SU || CONFIG_WHO
|
depends on GETTY || LOGIN || SU || WHO
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
The file /var/run/utmp is used to track who is currently logged in.
|
The file /var/run/utmp is used to track who is currently logged in.
|
||||||
|
|
||||||
config CONFIG_FEATURE_WTMP
|
config FEATURE_WTMP
|
||||||
bool "Support wtmp file"
|
bool "Support wtmp file"
|
||||||
depends on CONFIG_GETTY || CONFIG_LOGIN || CONFIG_SU || CONFIG_LAST
|
depends on GETTY || LOGIN || SU || LAST
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_UTMP
|
select FEATURE_UTMP
|
||||||
help
|
help
|
||||||
The file /var/run/wtmp is used to track when user's have logged into
|
The file /var/run/wtmp is used to track when user's have logged into
|
||||||
and logged out of the system.
|
and logged out of the system.
|
||||||
|
|
||||||
config CONFIG_LOGIN
|
config LOGIN
|
||||||
bool "login"
|
bool "login"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SUID
|
select FEATURE_SUID
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
login is used when signing onto a system.
|
login is used when signing onto a system.
|
||||||
|
|
||||||
Note that Busybox binary must be setuid root for this applet to
|
Note that Busybox binary must be setuid root for this applet to
|
||||||
work properly.
|
work properly.
|
||||||
|
|
||||||
config CONFIG_LOGIN_SCRIPTS
|
config LOGIN_SCRIPTS
|
||||||
bool "Support for login scripts"
|
bool "Support for login scripts"
|
||||||
depends on CONFIG_LOGIN
|
depends on LOGIN
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
|
Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
|
||||||
just prior to swithching from root to logged-in user.
|
just prior to swithching from root to logged-in user.
|
||||||
|
|
||||||
config CONFIG_FEATURE_SECURETTY
|
config FEATURE_SECURETTY
|
||||||
bool "Support for /etc/securetty"
|
bool "Support for /etc/securetty"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LOGIN
|
depends on LOGIN
|
||||||
help
|
help
|
||||||
The file /etc/securetty is used by (some versions of) login(1).
|
The file /etc/securetty is used by (some versions of) login(1).
|
||||||
The file contains the device names of tty lines (one per line,
|
The file contains the device names of tty lines (one per line,
|
||||||
without leading /dev/) on which root is allowed to login.
|
without leading /dev/) on which root is allowed to login.
|
||||||
|
|
||||||
config CONFIG_PASSWD
|
config PASSWD
|
||||||
bool "passwd"
|
bool "passwd"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SUID
|
select FEATURE_SUID
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
passwd changes passwords for user and group accounts. A normal user
|
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 only change the password for his/her own account, the super user
|
||||||
|
@ -142,11 +142,11 @@ config CONFIG_PASSWD
|
||||||
Note that Busybox binary must be setuid root for this applet to
|
Note that Busybox binary must be setuid root for this applet to
|
||||||
work properly.
|
work properly.
|
||||||
|
|
||||||
config CONFIG_SU
|
config SU
|
||||||
bool "su"
|
bool "su"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SUID
|
select FEATURE_SUID
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
su is used to become another user during a login session.
|
su is used to become another user during a login session.
|
||||||
Invoked without a username, su defaults to becoming the super user.
|
Invoked without a username, su defaults to becoming the super user.
|
||||||
|
@ -154,25 +154,25 @@ config CONFIG_SU
|
||||||
Note that Busybox binary must be setuid root for this applet to
|
Note that Busybox binary must be setuid root for this applet to
|
||||||
work properly.
|
work properly.
|
||||||
|
|
||||||
config CONFIG_SU_SYSLOG
|
config SU_SYSLOG
|
||||||
bool "Support for syslog in su"
|
bool "Support for syslog in su"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_SU
|
depends on SU
|
||||||
help
|
help
|
||||||
Enables support for syslog in su.
|
Enables support for syslog in su.
|
||||||
|
|
||||||
config CONFIG_SULOGIN
|
config SULOGIN
|
||||||
bool "sulogin"
|
bool "sulogin"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
sulogin is invoked when the system goes into single user
|
sulogin is invoked when the system goes into single user
|
||||||
mode (this is done through an entry in inittab).
|
mode (this is done through an entry in inittab).
|
||||||
|
|
||||||
config CONFIG_VLOCK
|
config VLOCK
|
||||||
bool "vlock"
|
bool "vlock"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SUID
|
select FEATURE_SUID
|
||||||
help
|
help
|
||||||
Build the "vlock" applet which allows you to lock (virtual) terminals.
|
Build the "vlock" applet which allows you to lock (virtual) terminals.
|
||||||
|
|
||||||
|
|
17
loginutils/Kbuild
Normal file
17
loginutils/Kbuild
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_ADDGROUP) += addgroup.o
|
||||||
|
lib-$(CONFIG_ADDUSER) += adduser.o
|
||||||
|
lib-$(CONFIG_GETTY) += getty.o
|
||||||
|
lib-$(CONFIG_LOGIN) += login.o
|
||||||
|
lib-$(CONFIG_PASSWD) += passwd.o
|
||||||
|
lib-$(CONFIG_SU) += su.o
|
||||||
|
lib-$(CONFIG_SULOGIN) += sulogin.o
|
||||||
|
lib-$(CONFIG_VLOCK) += vlock.o
|
||||||
|
lib-$(CONFIG_DELUSER) += deluser.o
|
||||||
|
lib-$(CONFIG_DELGROUP) += deluser.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/loginutils
|
|
||||||
LOGINUTILS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
LOGINUTILS_AR:=loginutils.a
|
|
||||||
ifndef LOGINUTILS_DIR
|
|
||||||
LOGINUTILS_DIR:=$(top_builddir)/loginutils/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/loginutils
|
|
||||||
|
|
||||||
LOGINUTILS-y:=
|
|
||||||
LOGINUTILS-$(CONFIG_ADDGROUP) += addgroup.o
|
|
||||||
LOGINUTILS-$(CONFIG_ADDUSER) += adduser.o
|
|
||||||
LOGINUTILS-$(CONFIG_GETTY) += getty.o
|
|
||||||
LOGINUTILS-$(CONFIG_LOGIN) += login.o
|
|
||||||
LOGINUTILS-$(CONFIG_PASSWD) += passwd.o
|
|
||||||
LOGINUTILS-$(CONFIG_SU) += su.o
|
|
||||||
LOGINUTILS-$(CONFIG_SULOGIN) += sulogin.o
|
|
||||||
LOGINUTILS-$(CONFIG_VLOCK) += vlock.o
|
|
||||||
LOGINUTILS-$(CONFIG_DELUSER) += deluser.o
|
|
||||||
LOGINUTILS-$(CONFIG_DELGROUP) += deluser.o
|
|
||||||
|
|
||||||
LOGINUTILS-y:=$(sort $(LOGINUTILS-y))
|
|
||||||
|
|
||||||
ifneq ($(strip $(LOGINUTILS-y)),)
|
|
||||||
libraries-y+=$(LOGINUTILS_DIR)$(LOGINUTILS_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
LOGINUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(LOGINUTILS-y))
|
|
||||||
LOGINUTILS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(LOGINUTILS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(LOGINUTILS_SRC-a)
|
|
||||||
|
|
||||||
needcrypt-y:=
|
|
||||||
needcrypt-$(CONFIG_LOGIN) := y
|
|
||||||
needcrypt-$(CONFIG_PASSWD) := y
|
|
||||||
needcrypt-$(CONFIG_SU) := y
|
|
||||||
needcrypt-$(CONFIG_SULOGIN) := y
|
|
||||||
needcrypt-$(CONFIG_VLOCK) := y
|
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(needcrypt-y),y)
|
|
||||||
LIBRARIES := -lcrypt $(filter-out -lcrypt,$(LIBRARIES))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(LOGINUTILS_DIR)$(LOGINUTILS_AR): $(patsubst %,$(LOGINUTILS_DIR)%, $(LOGINUTILS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(LOGINUTILS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,25 +5,25 @@
|
||||||
|
|
||||||
menu "Miscellaneous Utilities"
|
menu "Miscellaneous Utilities"
|
||||||
|
|
||||||
config CONFIG_ADJTIMEX
|
config ADJTIMEX
|
||||||
bool "adjtimex"
|
bool "adjtimex"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Adjtimex reads and optionally sets adjustment parameters for
|
Adjtimex reads and optionally sets adjustment parameters for
|
||||||
the Linux clock adjustment algorithm.
|
the Linux clock adjustment algorithm.
|
||||||
|
|
||||||
config CONFIG_BBCONFIG
|
config BBCONFIG
|
||||||
bool "bbconfig"
|
bool "bbconfig"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
The bbconfig applet will print the config file with which
|
The bbconfig applet will print the config file with which
|
||||||
busybox was built.
|
busybox was built.
|
||||||
|
|
||||||
config CONFIG_CROND
|
config CROND
|
||||||
bool "crond"
|
bool "crond"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SUID
|
select FEATURE_SUID
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
Crond is a background daemon that parses individual crontab
|
Crond is a background daemon that parses individual crontab
|
||||||
files and executes commands on behalf of the users in question.
|
files and executes commands on behalf of the users in question.
|
||||||
|
@ -35,39 +35,39 @@ config CONFIG_CROND
|
||||||
Note that Busybox binary must be setuid root for this applet to
|
Note that Busybox binary must be setuid root for this applet to
|
||||||
work properly.
|
work properly.
|
||||||
|
|
||||||
config CONFIG_DEBUG_CROND_OPTION
|
config DEBUG_CROND_OPTION
|
||||||
bool "Support debug option -d"
|
bool "Support debug option -d"
|
||||||
depends on CONFIG_CROND
|
depends on CROND
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Support option -d to enter debug mode.
|
Support option -d to enter debug mode.
|
||||||
|
|
||||||
config CONFIG_FEATURE_CROND_CALL_SENDMAIL
|
config FEATURE_CROND_CALL_SENDMAIL
|
||||||
bool "Using /usr/sbin/sendmail?"
|
bool "Using /usr/sbin/sendmail?"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_CROND
|
depends on CROND
|
||||||
help
|
help
|
||||||
Support calling /usr/sbin/sendmail for send cmd outputs.
|
Support calling /usr/sbin/sendmail for send cmd outputs.
|
||||||
|
|
||||||
config CONFIG_CRONTAB
|
config CRONTAB
|
||||||
bool "crontab"
|
bool "crontab"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SUID
|
select FEATURE_SUID
|
||||||
help
|
help
|
||||||
Crontab manipulates the crontab for a particular user. Only
|
Crontab manipulates the crontab for a particular user. Only
|
||||||
the superuser may specify a different user and/or crontab directory.
|
the superuser may specify a different user and/or crontab directory.
|
||||||
|
|
||||||
config CONFIG_DC
|
config DC
|
||||||
bool "dc"
|
bool "dc"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Dc is a reverse-polish desk calculator which supports unlimited
|
Dc is a reverse-polish desk calculator which supports unlimited
|
||||||
precision arithmetic.
|
precision arithmetic.
|
||||||
|
|
||||||
config CONFIG_DEVFSD
|
config DEVFSD
|
||||||
bool "devfsd (obsolete)"
|
bool "devfsd (obsolete)"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
This is deprecated, and will be removed at the end of 2008.
|
This is deprecated, and will be removed at the end of 2008.
|
||||||
|
|
||||||
|
@ -80,30 +80,30 @@ config CONFIG_DEVFSD
|
||||||
|
|
||||||
But only if they are written UPPERCASE!!!!!!!!
|
But only if they are written UPPERCASE!!!!!!!!
|
||||||
|
|
||||||
config CONFIG_DEVFSD_MODLOAD
|
config DEVFSD_MODLOAD
|
||||||
bool "Adds support for MODLOAD keyword in devsfd.conf"
|
bool "Adds support for MODLOAD keyword in devsfd.conf"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DEVFSD
|
depends on DEVFSD
|
||||||
help
|
help
|
||||||
This actually doesn't work with busybox modutils but needs
|
This actually doesn't work with busybox modutils but needs
|
||||||
the external modutils.
|
the external modutils.
|
||||||
|
|
||||||
config CONFIG_DEVFSD_FG_NP
|
config DEVFSD_FG_NP
|
||||||
bool "Enables the -fg and -np options"
|
bool "Enables the -fg and -np options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DEVFSD
|
depends on DEVFSD
|
||||||
help
|
help
|
||||||
-fg Run the daemon in the foreground.
|
-fg Run the daemon in the foreground.
|
||||||
-np Exit after parsing the configuration file. Do not poll for events.
|
-np Exit after parsing the configuration file. Do not poll for events.
|
||||||
|
|
||||||
config CONFIG_DEVFSD_VERBOSE
|
config DEVFSD_VERBOSE
|
||||||
bool "Increases logging (and size)"
|
bool "Increases logging (and size)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_DEVFSD
|
depends on DEVFSD
|
||||||
help
|
help
|
||||||
Increases logging to stderr or syslog.
|
Increases logging to stderr or syslog.
|
||||||
|
|
||||||
config CONFIG_FEATURE_DEVFS
|
config FEATURE_DEVFS
|
||||||
bool " Use devfs names for all devices (obsolete)"
|
bool " Use devfs names for all devices (obsolete)"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -113,126 +113,126 @@ config CONFIG_FEATURE_DEVFS
|
||||||
/dev/loop0. If your /dev directory has normal names instead of
|
/dev/loop0. If your /dev directory has normal names instead of
|
||||||
devfs names, you don't want this.
|
devfs names, you don't want this.
|
||||||
|
|
||||||
config CONFIG_EJECT
|
config EJECT
|
||||||
bool "eject"
|
bool "eject"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Used to eject cdroms. (defaults to /dev/cdrom)
|
Used to eject cdroms. (defaults to /dev/cdrom)
|
||||||
|
|
||||||
config CONFIG_LAST
|
config LAST
|
||||||
bool "last"
|
bool "last"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_WTMP
|
select FEATURE_WTMP
|
||||||
help
|
help
|
||||||
'last' displays a list of the last users that logged into the system.
|
'last' displays a list of the last users that logged into the system.
|
||||||
|
|
||||||
config CONFIG_LESS
|
config LESS
|
||||||
bool "less"
|
bool "less"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
'less' is a pager, meaning that it displays text files. It possesses
|
'less' is a pager, meaning that it displays text files. It possesses
|
||||||
a wide array of features, and is an improvement over 'more'.
|
a wide array of features, and is an improvement over 'more'.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LESS_BRACKETS
|
config FEATURE_LESS_BRACKETS
|
||||||
bool "Enable bracket searching"
|
bool "Enable bracket searching"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LESS
|
depends on LESS
|
||||||
help
|
help
|
||||||
This option adds the capability to search for matching left and right
|
This option adds the capability to search for matching left and right
|
||||||
brackets, facilitating programming.
|
brackets, facilitating programming.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LESS_FLAGS
|
config FEATURE_LESS_FLAGS
|
||||||
bool "Enable extra flags"
|
bool "Enable extra flags"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_LESS
|
depends on LESS
|
||||||
help
|
help
|
||||||
The extra flags provided do the following:
|
The extra flags provided do the following:
|
||||||
|
|
||||||
The -M flag enables a more sophisticated status line.
|
The -M flag enables a more sophisticated status line.
|
||||||
The -m flag enables a simpler status line with a percentage.
|
The -m flag enables a simpler status line with a percentage.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LESS_FLAGCS
|
config FEATURE_LESS_FLAGCS
|
||||||
bool "Enable flag changes"
|
bool "Enable flag changes"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_LESS
|
depends on LESS
|
||||||
help
|
help
|
||||||
This enables the ability to change command-line flags within
|
This enables the ability to change command-line flags within
|
||||||
less itself.
|
less itself.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LESS_MARKS
|
config FEATURE_LESS_MARKS
|
||||||
bool "Enable marks"
|
bool "Enable marks"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_LESS
|
depends on LESS
|
||||||
help
|
help
|
||||||
Marks enable positions in a file to be stored for easy reference.
|
Marks enable positions in a file to be stored for easy reference.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LESS_REGEXP
|
config FEATURE_LESS_REGEXP
|
||||||
bool "Enable regular expressions"
|
bool "Enable regular expressions"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_LESS
|
depends on LESS
|
||||||
help
|
help
|
||||||
Enable regular expressions, allowing complex file searches.
|
Enable regular expressions, allowing complex file searches.
|
||||||
|
|
||||||
config CONFIG_HDPARM
|
config HDPARM
|
||||||
bool "hdparm"
|
bool "hdparm"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Get/Set hard drive parameters. Primarily intended for ATA
|
Get/Set hard drive parameters. Primarily intended for ATA
|
||||||
drives. Adds about 13k (or around 30k if you enable the
|
drives. Adds about 13k (or around 30k if you enable the
|
||||||
CONFIG_FEATURE_HDPARM_GET_IDENTITY option)....
|
FEATURE_HDPARM_GET_IDENTITY option)....
|
||||||
|
|
||||||
config CONFIG_FEATURE_HDPARM_GET_IDENTITY
|
config FEATURE_HDPARM_GET_IDENTITY
|
||||||
bool "Support obtaining detailed information directly from drives"
|
bool "Support obtaining detailed information directly from drives"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_HDPARM
|
depends on HDPARM
|
||||||
help
|
help
|
||||||
Enables the -I and -i options to obtain detailed information
|
Enables the -I and -i options to obtain detailed information
|
||||||
directly from drives about their capabilities and supported ATA
|
directly from drives about their capabilities and supported ATA
|
||||||
feature set. If no device name is specified, hdparm will read
|
feature set. If no device name is specified, hdparm will read
|
||||||
identify data from stdin. Enabling this option will add about 16k...
|
identify data from stdin. Enabling this option will add about 16k...
|
||||||
|
|
||||||
config CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
|
config FEATURE_HDPARM_HDIO_SCAN_HWIF
|
||||||
bool "Register an IDE interface (DANGEROUS)"
|
bool "Register an IDE interface (DANGEROUS)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HDPARM
|
depends on HDPARM
|
||||||
help
|
help
|
||||||
Enables the 'hdparm -R' option to register an IDE interface.
|
Enables the 'hdparm -R' option to register an IDE interface.
|
||||||
This is dangerous stuff, so you should probably say N.
|
This is dangerous stuff, so you should probably say N.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
|
config FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
|
||||||
bool "Un-register an IDE interface (DANGEROUS)"
|
bool "Un-register an IDE interface (DANGEROUS)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HDPARM
|
depends on HDPARM
|
||||||
help
|
help
|
||||||
Enables the 'hdparm -U' option to un-register an IDE interface.
|
Enables the 'hdparm -U' option to un-register an IDE interface.
|
||||||
This is dangerous stuff, so you should probably say N.
|
This is dangerous stuff, so you should probably say N.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
|
config FEATURE_HDPARM_HDIO_DRIVE_RESET
|
||||||
bool "perform device reset (DANGEROUS)"
|
bool "perform device reset (DANGEROUS)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HDPARM
|
depends on HDPARM
|
||||||
help
|
help
|
||||||
Enables the 'hdparm -w' option to perform a device reset.
|
Enables the 'hdparm -w' option to perform a device reset.
|
||||||
This is dangerous stuff, so you should probably say N.
|
This is dangerous stuff, so you should probably say N.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
|
config FEATURE_HDPARM_HDIO_TRISTATE_HWIF
|
||||||
bool "tristate device for hotswap (DANGEROUS)"
|
bool "tristate device for hotswap (DANGEROUS)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HDPARM
|
depends on HDPARM
|
||||||
help
|
help
|
||||||
Enables the 'hdparm -x' option to tristate device for hotswap,
|
Enables the 'hdparm -x' option to tristate device for hotswap,
|
||||||
and the '-b' option to get/set bus state. This is dangerous
|
and the '-b' option to get/set bus state. This is dangerous
|
||||||
stuff, so you should probably say N.
|
stuff, so you should probably say N.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
|
config FEATURE_HDPARM_HDIO_GETSET_DMA
|
||||||
bool "get/set using_dma flag (DANGEROUS)"
|
bool "get/set using_dma flag (DANGEROUS)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HDPARM
|
depends on HDPARM
|
||||||
help
|
help
|
||||||
Enables the 'hdparm -d' option to get/set using_dma flag.
|
Enables the 'hdparm -d' option to get/set using_dma flag.
|
||||||
This is dangerous stuff, so you should probably say N.
|
This is dangerous stuff, so you should probably say N.
|
||||||
|
|
||||||
config CONFIG_MAKEDEVS
|
config MAKEDEVS
|
||||||
bool "makedevs"
|
bool "makedevs"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -253,24 +253,24 @@ config CONFIG_MAKEDEVS
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "Choose makedevs behaviour"
|
prompt "Choose makedevs behaviour"
|
||||||
depends CONFIG_MAKEDEVS
|
depends MAKEDEVS
|
||||||
default CONFIG_FEATURE_MAKEDEVS_TABLE
|
default FEATURE_MAKEDEVS_TABLE
|
||||||
|
|
||||||
config CONFIG_FEATURE_MAKEDEVS_LEAF
|
config FEATURE_MAKEDEVS_LEAF
|
||||||
bool "leaf"
|
bool "leaf"
|
||||||
|
|
||||||
config CONFIG_FEATURE_MAKEDEVS_TABLE
|
config FEATURE_MAKEDEVS_TABLE
|
||||||
bool "table"
|
bool "table"
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config CONFIG_MOUNTPOINT
|
config MOUNTPOINT
|
||||||
bool "mountpoint"
|
bool "mountpoint"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
mountpoint checks if the directory is a mountpoint.
|
mountpoint checks if the directory is a mountpoint.
|
||||||
|
|
||||||
config CONFIG_MT
|
config MT
|
||||||
bool "mt"
|
bool "mt"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -278,7 +278,7 @@ config CONFIG_MT
|
||||||
to advance or rewind a tape past a specified number of archive
|
to advance or rewind a tape past a specified number of archive
|
||||||
files on the tape.
|
files on the tape.
|
||||||
|
|
||||||
config CONFIG_READAHEAD
|
config READAHEAD
|
||||||
bool "readahead"
|
bool "readahead"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -294,7 +294,7 @@ config CONFIG_READAHEAD
|
||||||
As readahead(2) blocks until each file has been read, it is best to
|
As readahead(2) blocks until each file has been read, it is best to
|
||||||
run this applet as a background job.
|
run this applet as a background job.
|
||||||
|
|
||||||
config CONFIG_RUNLEVEL
|
config RUNLEVEL
|
||||||
bool "runlevel"
|
bool "runlevel"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -303,32 +303,32 @@ config CONFIG_RUNLEVEL
|
||||||
This applet uses utmp but does not rely on busybox supporing
|
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.
|
utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
|
||||||
|
|
||||||
config CONFIG_RX
|
config RX
|
||||||
bool "rx"
|
bool "rx"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Receive files using the Xmodem protocol.
|
Receive files using the Xmodem protocol.
|
||||||
|
|
||||||
config CONFIG_STRINGS
|
config STRINGS
|
||||||
bool "strings"
|
bool "strings"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
strings prints the printable character sequences for each file
|
strings prints the printable character sequences for each file
|
||||||
specified.
|
specified.
|
||||||
|
|
||||||
config CONFIG_SETSID
|
config SETSID
|
||||||
bool "setsid"
|
bool "setsid"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
setsid runs a program in a new session
|
setsid runs a program in a new session
|
||||||
|
|
||||||
config CONFIG_TASKSET
|
config TASKSET
|
||||||
bool "taskset"
|
bool "taskset"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Retrieve or set a processes's CPU affinity.
|
Retrieve or set a processes's CPU affinity.
|
||||||
|
|
||||||
config CONFIG_TIME
|
config TIME
|
||||||
bool "time"
|
bool "time"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -336,7 +336,7 @@ config CONFIG_TIME
|
||||||
When the command finishes, time writes a message to standard output
|
When the command finishes, time writes a message to standard output
|
||||||
giving timing statistics about this program run.
|
giving timing statistics about this program run.
|
||||||
|
|
||||||
config CONFIG_WATCHDOG
|
config WATCHDOG
|
||||||
bool "watchdog"
|
bool "watchdog"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
|
27
miscutils/Kbuild
Normal file
27
miscutils/Kbuild
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_ADJTIMEX) += adjtimex.o
|
||||||
|
lib-$(CONFIG_CROND) += crond.o
|
||||||
|
lib-$(CONFIG_CRONTAB) += crontab.o
|
||||||
|
lib-$(CONFIG_BBCONFIG) += bbconfig.o
|
||||||
|
lib-$(CONFIG_DC) += dc.o
|
||||||
|
lib-$(CONFIG_DEVFSD) += devfsd.o
|
||||||
|
lib-$(CONFIG_EJECT) += eject.o
|
||||||
|
lib-$(CONFIG_HDPARM) += hdparm.o
|
||||||
|
lib-$(CONFIG_LAST) += last.o
|
||||||
|
lib-$(CONFIG_LESS) += less.o
|
||||||
|
lib-$(CONFIG_MAKEDEVS) += makedevs.o
|
||||||
|
lib-$(CONFIG_MOUNTPOINT) += mountpoint.o
|
||||||
|
lib-$(CONFIG_MT) += mt.o
|
||||||
|
lib-$(CONFIG_READAHEAD) += readahead.o
|
||||||
|
lib-$(CONFIG_RUNLEVEL) += runlevel.o
|
||||||
|
lib-$(CONFIG_RX) += rx.o
|
||||||
|
lib-$(CONFIG_SETSID) += setsid.o
|
||||||
|
lib-$(CONFIG_STRINGS) += strings.o
|
||||||
|
lib-$(CONFIG_TIME) += time.o
|
||||||
|
lib-$(CONFIG_WATCHDOG) += watchdog.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/miscutils
|
|
||||||
MISCUTILS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
MISCUTILS_AR:=miscutils.a
|
|
||||||
ifndef $(MISCUTILS_DIR)
|
|
||||||
MISCUTILS_DIR:=$(top_builddir)/miscutils/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/miscutils
|
|
||||||
|
|
||||||
MISCUTILS-y:=
|
|
||||||
MISCUTILS-$(CONFIG_ADJTIMEX) += adjtimex.o
|
|
||||||
MISCUTILS-$(CONFIG_CROND) += crond.o
|
|
||||||
MISCUTILS-$(CONFIG_CRONTAB) += crontab.o
|
|
||||||
MISCUTILS-$(CONFIG_BBCONFIG) += bbconfig.o
|
|
||||||
MISCUTILS-$(CONFIG_DC) += dc.o
|
|
||||||
MISCUTILS-$(CONFIG_DEVFSD) += devfsd.o
|
|
||||||
MISCUTILS-$(CONFIG_EJECT) += eject.o
|
|
||||||
MISCUTILS-$(CONFIG_HDPARM) += hdparm.o
|
|
||||||
MISCUTILS-$(CONFIG_LAST) += last.o
|
|
||||||
MISCUTILS-$(CONFIG_LESS) += less.o
|
|
||||||
MISCUTILS-$(CONFIG_MAKEDEVS) += makedevs.o
|
|
||||||
MISCUTILS-$(CONFIG_MOUNTPOINT) += mountpoint.o
|
|
||||||
MISCUTILS-$(CONFIG_MT) += mt.o
|
|
||||||
MISCUTILS-$(CONFIG_READAHEAD) += readahead.o
|
|
||||||
MISCUTILS-$(CONFIG_RUNLEVEL) += runlevel.o
|
|
||||||
MISCUTILS-$(CONFIG_RX) += rx.o
|
|
||||||
MISCUTILS-$(CONFIG_SETSID) += setsid.o
|
|
||||||
MISCUTILS-$(CONFIG_STRINGS) += strings.o
|
|
||||||
MISCUTILS-$(CONFIG_TIME) += time.o
|
|
||||||
MISCUTILS-$(CONFIG_WATCHDOG) += watchdog.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(MISCUTILS-y)),)
|
|
||||||
libraries-y+=$(MISCUTILS_DIR)$(MISCUTILS_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
MISCUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(MISCUTILS-y))
|
|
||||||
MISCUTILS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(MISCUTILS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(MISCUTILS_SRC-a)
|
|
||||||
|
|
||||||
needlibm-y:=
|
|
||||||
needlibm-$(CONFIG_DC) := y
|
|
||||||
|
|
||||||
ifeq ($(needlibm-y),y)
|
|
||||||
LIBRARIES := -lm $(filter-out -lm,$(LIBRARIES))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(MISCUTILS_DIR)$(MISCUTILS_AR): $(patsubst %,$(MISCUTILS_DIR)%, $(MISCUTILS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(MISCUTILS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -266,7 +266,7 @@ int rx_main(int argc, char **argv)
|
||||||
filefd = xopen3(fn, O_RDWR|O_CREAT|O_TRUNC, 0666);
|
filefd = xopen3(fn, O_RDWR|O_CREAT|O_TRUNC, 0666);
|
||||||
|
|
||||||
if (tcgetattr(ttyfd, &tty) < 0)
|
if (tcgetattr(ttyfd, &tty) < 0)
|
||||||
bb_perror_msg_and_die("%s: tcgetattr failed", argv[0]);
|
bb_perror_msg_and_die("tcgetattr");
|
||||||
|
|
||||||
orig_tty = tty;
|
orig_tty = tty;
|
||||||
|
|
||||||
|
@ -284,8 +284,7 @@ int rx_main(int argc, char **argv)
|
||||||
tcsetattr(ttyfd, TCSAFLUSH, &orig_tty);
|
tcsetattr(ttyfd, TCSAFLUSH, &orig_tty);
|
||||||
|
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
bb_error_msg_and_die("\n%s: receive failed:\n %s",
|
bb_error_msg_and_die("\nreceive failed:\n %s", error_buf);
|
||||||
argv[0], error_buf);
|
|
||||||
|
|
||||||
bb_fflush_stdout_and_exit(EXIT_SUCCESS);
|
bb_fflush_stdout_and_exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,24 +5,24 @@
|
||||||
|
|
||||||
menu "Linux Module Utilities"
|
menu "Linux Module Utilities"
|
||||||
|
|
||||||
config CONFIG_INSMOD
|
config INSMOD
|
||||||
bool "insmod"
|
bool "insmod"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
insmod is used to load specified modules in the running kernel.
|
insmod is used to load specified modules in the running kernel.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INSMOD_VERSION_CHECKING
|
config FEATURE_INSMOD_VERSION_CHECKING
|
||||||
bool "Module version checking"
|
bool "Module version checking"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
|
depends on INSMOD && FEATURE_2_4_MODULES
|
||||||
help
|
help
|
||||||
Support checking of versions for modules. This is used to
|
Support checking of versions for modules. This is used to
|
||||||
ensure that the kernel and module are made for each other.
|
ensure that the kernel and module are made for each other.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
|
config FEATURE_INSMOD_KSYMOOPS_SYMBOLS
|
||||||
bool "Add module symbols to kernel symbol table"
|
bool "Add module symbols to kernel symbol table"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
|
depends on INSMOD && FEATURE_2_4_MODULES
|
||||||
help
|
help
|
||||||
By adding module symbols to the kernel symbol table, Oops messages
|
By adding module symbols to the kernel symbol table, Oops messages
|
||||||
occuring within kernel modules can be properly debugged. By enabling
|
occuring within kernel modules can be properly debugged. By enabling
|
||||||
|
@ -30,20 +30,20 @@ config CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
|
||||||
table for properly debugging support. If you are not interested in
|
table for properly debugging support. If you are not interested in
|
||||||
Oops messages from kernel modules, say N.
|
Oops messages from kernel modules, say N.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INSMOD_LOADINKMEM
|
config FEATURE_INSMOD_LOADINKMEM
|
||||||
bool "In kernel memory optimization (uClinux only)"
|
bool "In kernel memory optimization (uClinux only)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
|
depends on INSMOD && FEATURE_2_4_MODULES
|
||||||
help
|
help
|
||||||
This is a special uClinux only memory optimization that lets insmod
|
This is a special uClinux only memory optimization that lets insmod
|
||||||
load the specified kernel module directly into kernel space, reducing
|
load the specified kernel module directly into kernel space, reducing
|
||||||
memory usage by preventing the need for two copies of the module
|
memory usage by preventing the need for two copies of the module
|
||||||
being loaded into memory.
|
being loaded into memory.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INSMOD_LOAD_MAP
|
config FEATURE_INSMOD_LOAD_MAP
|
||||||
bool "Enable load map (-m) option"
|
bool "Enable load map (-m) option"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INSMOD && CONFIG_FEATURE_2_4_MODULES
|
depends on INSMOD && FEATURE_2_4_MODULES
|
||||||
help
|
help
|
||||||
Enabling this, one would be able to get a load map
|
Enabling this, one would be able to get a load map
|
||||||
output on stdout. This makes kernel module debugging
|
output on stdout. This makes kernel module debugging
|
||||||
|
@ -51,36 +51,36 @@ config CONFIG_FEATURE_INSMOD_LOAD_MAP
|
||||||
If you don't plan to debug kernel modules, you
|
If you don't plan to debug kernel modules, you
|
||||||
don't need this option.
|
don't need this option.
|
||||||
|
|
||||||
config CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
|
config FEATURE_INSMOD_LOAD_MAP_FULL
|
||||||
bool "Symbols in load map"
|
bool "Symbols in load map"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_INSMOD_LOAD_MAP
|
depends on FEATURE_INSMOD_LOAD_MAP
|
||||||
help
|
help
|
||||||
Without this option, -m will only output section
|
Without this option, -m will only output section
|
||||||
load map. With this option, -m will also output
|
load map. With this option, -m will also output
|
||||||
symbols load map.
|
symbols load map.
|
||||||
|
|
||||||
config CONFIG_RMMOD
|
config RMMOD
|
||||||
bool "rmmod"
|
bool "rmmod"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
rmmod is used to unload specified modules from the kernel.
|
rmmod is used to unload specified modules from the kernel.
|
||||||
|
|
||||||
config CONFIG_LSMOD
|
config LSMOD
|
||||||
bool "lsmod"
|
bool "lsmod"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
lsmod is used to display a list of loaded modules.
|
lsmod is used to display a list of loaded modules.
|
||||||
|
|
||||||
config CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
|
config FEATURE_LSMOD_PRETTY_2_6_OUTPUT
|
||||||
bool "lsmod pretty output for 2.6.x Linux kernels "
|
bool "lsmod pretty output for 2.6.x Linux kernels "
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_LSMOD
|
depends on LSMOD
|
||||||
help
|
help
|
||||||
This option makes output format of lsmod adjusted to
|
This option makes output format of lsmod adjusted to
|
||||||
the format of module-init-tools for Linux kernel 2.6.
|
the format of module-init-tools for Linux kernel 2.6.
|
||||||
|
|
||||||
config CONFIG_MODPROBE
|
config MODPROBE
|
||||||
bool "modprobe"
|
bool "modprobe"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -90,11 +90,11 @@ config CONFIG_MODPROBE
|
||||||
Note that in the state, modprobe does not understand multiple
|
Note that in the state, modprobe does not understand multiple
|
||||||
module options from the configuration file. See option below.
|
module options from the configuration file. See option below.
|
||||||
|
|
||||||
config CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
|
config FEATURE_MODPROBE_MULTIPLE_OPTIONS
|
||||||
bool
|
bool
|
||||||
prompt "Multiple options parsing" if CONFIG_NITPICK
|
prompt "Multiple options parsing" if NITPICK
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_MODPROBE
|
depends on MODPROBE
|
||||||
help
|
help
|
||||||
Allow modprobe to understand more than one option to pass to
|
Allow modprobe to understand more than one option to pass to
|
||||||
modules.
|
modules.
|
||||||
|
@ -107,51 +107,51 @@ config CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
|
||||||
Saying Y here is not a bad idea if you're not that short
|
Saying Y here is not a bad idea if you're not that short
|
||||||
on storage capacity.
|
on storage capacity.
|
||||||
|
|
||||||
config CONFIG_FEATURE_MODPROBE_FANCY_ALIAS
|
config FEATURE_MODPROBE_FANCY_ALIAS
|
||||||
bool
|
bool
|
||||||
prompt "Fancy alias parsing" if CONFIG_NITPICK
|
prompt "Fancy alias parsing" if NITPICK
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_MODPROBE && CONFIG_FEATURE_2_6_MODULES
|
depends on MODPROBE && FEATURE_2_6_MODULES
|
||||||
help
|
help
|
||||||
Say 'y' here to enable parsing of aliases with underscore/dash
|
Say 'y' here to enable parsing of aliases with underscore/dash
|
||||||
mismatch between module name and file name, along with bus-specific
|
mismatch between module name and file name, along with bus-specific
|
||||||
aliases (such as pci:... or usb:... aliases).
|
aliases (such as pci:... or usb:... aliases).
|
||||||
|
|
||||||
comment "Options common to multiple modutils"
|
comment "Options common to multiple modutils"
|
||||||
depends on CONFIG_INSMOD || CONFIG_RMMOD || CONFIG_MODPROBE || CONFIG_LSMOD
|
depends on INSMOD || RMMOD || MODPROBE || LSMOD
|
||||||
|
|
||||||
config CONFIG_FEATURE_CHECK_TAINTED_MODULE
|
config FEATURE_CHECK_TAINTED_MODULE
|
||||||
# Simulate indentation
|
# Simulate indentation
|
||||||
bool "Support tainted module checking with new kernels"
|
bool "Support tainted module checking with new kernels"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INSMOD || CONFIG_LSMOD
|
depends on INSMOD || LSMOD
|
||||||
help
|
help
|
||||||
Support checking for tainted modules. These are usually binary
|
Support checking for tainted modules. These are usually binary
|
||||||
only modules that will make the linux-kernel list ignore your
|
only modules that will make the linux-kernel list ignore your
|
||||||
support request.
|
support request.
|
||||||
This option is required to support GPLONLY modules.
|
This option is required to support GPLONLY modules.
|
||||||
|
|
||||||
config CONFIG_FEATURE_2_4_MODULES
|
config FEATURE_2_4_MODULES
|
||||||
# Simulate indentation
|
# Simulate indentation
|
||||||
bool "Support version 2.2.x to 2.4.x Linux kernels"
|
bool "Support version 2.2.x to 2.4.x Linux kernels"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INSMOD || CONFIG_RMMOD
|
depends on INSMOD || RMMOD
|
||||||
help
|
help
|
||||||
Support module loading for 2.2.x and 2.4.x Linux kernels.
|
Support module loading for 2.2.x and 2.4.x Linux kernels.
|
||||||
|
|
||||||
config CONFIG_FEATURE_2_6_MODULES
|
config FEATURE_2_6_MODULES
|
||||||
# Simulate indentation
|
# Simulate indentation
|
||||||
bool "Support version 2.6.x Linux kernels"
|
bool "Support version 2.6.x Linux kernels"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INSMOD || CONFIG_RMMOD || CONFIG_MODPROBE
|
depends on INSMOD || RMMOD || MODPROBE
|
||||||
help
|
help
|
||||||
Support module loading for newer 2.6.x Linux kernels.
|
Support module loading for newer 2.6.x Linux kernels.
|
||||||
|
|
||||||
|
|
||||||
config CONFIG_FEATURE_QUERY_MODULE_INTERFACE
|
config FEATURE_QUERY_MODULE_INTERFACE
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_2_4_MODULES && !CONFIG_FEATURE_2_6_MODULES
|
depends on FEATURE_2_4_MODULES && !FEATURE_2_6_MODULES
|
||||||
|
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
11
modutils/Kbuild
Normal file
11
modutils/Kbuild
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_INSMOD) += insmod.o
|
||||||
|
lib-$(CONFIG_LSMOD) += lsmod.o
|
||||||
|
lib-$(CONFIG_MODPROBE) += modprobe.o
|
||||||
|
lib-$(CONFIG_RMMOD) += rmmod.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/modutils
|
|
||||||
MODUTILS_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
MODUTILS_AR:=modutils.a
|
|
||||||
ifndef $(MODUTILS_DIR)
|
|
||||||
MODUTILS_DIR:=$(top_builddir)/modutils/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/modutils
|
|
||||||
|
|
||||||
MODUTILS-y:=
|
|
||||||
MODUTILS-$(CONFIG_INSMOD) += insmod.o
|
|
||||||
MODUTILS-$(CONFIG_LSMOD) += lsmod.o
|
|
||||||
MODUTILS-$(CONFIG_MODPROBE) += modprobe.o
|
|
||||||
MODUTILS-$(CONFIG_RMMOD) += rmmod.o
|
|
||||||
|
|
||||||
ifneq ($(strip $(MODUTILS-y)),)
|
|
||||||
libraries-y+=$(MODUTILS_DIR)$(MODUTILS_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
MODUTILS_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(MODUTILS-y))
|
|
||||||
MODUTILS_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(MODUTILS_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(MODUTILS_SRC-a)
|
|
||||||
|
|
||||||
$(MODUTILS_DIR)$(MODUTILS_AR): $(patsubst %,$(MODUTILS_DIR)%, $(MODUTILS-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(MODUTILS_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
|
@ -5,132 +5,132 @@
|
||||||
|
|
||||||
menu "Networking Utilities"
|
menu "Networking Utilities"
|
||||||
|
|
||||||
config CONFIG_FEATURE_IPV6
|
config FEATURE_IPV6
|
||||||
bool "Enable IPv6 support"
|
bool "Enable IPv6 support"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Enable IPv6 support in busybox.
|
Enable IPv6 support in busybox.
|
||||||
This adds IPv6 support in the networking applets.
|
This adds IPv6 support in the networking applets.
|
||||||
|
|
||||||
config CONFIG_ARPING
|
config ARPING
|
||||||
bool "arping"
|
bool "arping"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Ping hosts by ARP packets
|
Ping hosts by ARP packets
|
||||||
|
|
||||||
config CONFIG_DNSD
|
config DNSD
|
||||||
bool "dnsd"
|
bool "dnsd"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Small and static DNS server daemon.
|
Small and static DNS server daemon.
|
||||||
|
|
||||||
config CONFIG_ETHER_WAKE
|
config ETHER_WAKE
|
||||||
bool "ether-wake"
|
bool "ether-wake"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Send a magic packet to wake up sleeping machines.
|
Send a magic packet to wake up sleeping machines.
|
||||||
|
|
||||||
config CONFIG_FAKEIDENTD
|
config FAKEIDENTD
|
||||||
bool "fakeidentd"
|
bool "fakeidentd"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
fakeidentd listens on the ident port and returns a predefined
|
fakeidentd listens on the ident port and returns a predefined
|
||||||
fake value on any query.
|
fake value on any query.
|
||||||
|
|
||||||
config CONFIG_FTPGET
|
config FTPGET
|
||||||
bool "ftpget"
|
bool "ftpget"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Retrieve a remote file via FTP.
|
Retrieve a remote file via FTP.
|
||||||
|
|
||||||
config CONFIG_FTPPUT
|
config FTPPUT
|
||||||
bool "ftpput"
|
bool "ftpput"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Store a remote file via FTP.
|
Store a remote file via FTP.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
|
config FEATURE_FTPGETPUT_LONG_OPTIONS
|
||||||
bool "Enable long options in ftpget/ftpput"
|
bool "Enable long options in ftpget/ftpput"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_GETOPT_LONG && (CONFIG_FTPGET || CONFIG_FTPPUT)
|
depends on GETOPT_LONG && (CONFIG_FTPGET || FTPPUT)
|
||||||
help
|
help
|
||||||
Support long options for the ftpget/ftpput applet.
|
Support long options for the ftpget/ftpput applet.
|
||||||
|
|
||||||
config CONFIG_HOSTNAME
|
config HOSTNAME
|
||||||
bool "hostname"
|
bool "hostname"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Show or set the system's host name
|
Show or set the system's host name
|
||||||
|
|
||||||
config CONFIG_HTTPD
|
config HTTPD
|
||||||
bool "httpd"
|
bool "httpd"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Serve web pages via an HTTP server.
|
Serve web pages via an HTTP server.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_WITHOUT_INETD
|
config FEATURE_HTTPD_WITHOUT_INETD
|
||||||
bool "Support using httpd as a daemon (not from inetd)"
|
bool "Support using httpd as a daemon (not from inetd)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HTTPD
|
depends on HTTPD
|
||||||
help
|
help
|
||||||
This option enables uid and port options for the httpd applet,
|
This option enables uid and port options for the httpd applet,
|
||||||
and eliminates the need to be called from the inetd server daemon.
|
and eliminates the need to be called from the inetd server daemon.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
|
config FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
|
||||||
bool "Support reloading the global config file using hup signal"
|
bool "Support reloading the global config file using hup signal"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HTTPD && CONFIG_FEATURE_HTTPD_WITHOUT_INETD
|
depends on HTTPD && FEATURE_HTTPD_WITHOUT_INETD
|
||||||
help
|
help
|
||||||
This option enables processing of SIGHUP to reload cached
|
This option enables processing of SIGHUP to reload cached
|
||||||
configuration settings.
|
configuration settings.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_SETUID
|
config FEATURE_HTTPD_SETUID
|
||||||
bool "Enable support -u <user> option"
|
bool "Enable support -u <user> option"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HTTPD && CONFIG_FEATURE_HTTPD_WITHOUT_INETD
|
depends on HTTPD && FEATURE_HTTPD_WITHOUT_INETD
|
||||||
help
|
help
|
||||||
This option allows the server to run as a specific user
|
This option allows the server to run as a specific user
|
||||||
rather than defaulting to the user that starts the server.
|
rather than defaulting to the user that starts the server.
|
||||||
Use of this option requires special privileges to change to a
|
Use of this option requires special privileges to change to a
|
||||||
different user.
|
different user.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_BASIC_AUTH
|
config FEATURE_HTTPD_BASIC_AUTH
|
||||||
bool "Enable Basic http Authentication"
|
bool "Enable Basic http Authentication"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_HTTPD
|
depends on HTTPD
|
||||||
help
|
help
|
||||||
Utilizes password settings from /etc/httpd.conf for basic
|
Utilizes password settings from /etc/httpd.conf for basic
|
||||||
authentication on a per url basis.
|
authentication on a per url basis.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_AUTH_MD5
|
config FEATURE_HTTPD_AUTH_MD5
|
||||||
bool "Support MD5 crypted passwords for http Authentication"
|
bool "Support MD5 crypted passwords for http Authentication"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_FEATURE_HTTPD_BASIC_AUTH
|
depends on FEATURE_HTTPD_BASIC_AUTH
|
||||||
help
|
help
|
||||||
Enables basic per URL authentication from /etc/httpd.conf
|
Enables basic per URL authentication from /etc/httpd.conf
|
||||||
using md5 passwords.
|
using md5 passwords.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
|
config FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
|
||||||
bool "Support loading additional MIME types at run-time"
|
bool "Support loading additional MIME types at run-time"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_HTTPD
|
depends on HTTPD
|
||||||
help
|
help
|
||||||
This option enables support for additional MIME types at
|
This option enables support for additional MIME types at
|
||||||
run-time to be specified in the configuration file.
|
run-time to be specified in the configuration file.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_CGI
|
config FEATURE_HTTPD_CGI
|
||||||
bool "Support Common Gateway Interface (CGI)"
|
bool "Support Common Gateway Interface (CGI)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_HTTPD
|
depends on HTTPD
|
||||||
help
|
help
|
||||||
This option allows scripts and executables to be invoked
|
This option allows scripts and executables to be invoked
|
||||||
when specific URLs are requested.
|
when specific URLs are requested.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
|
config FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
|
||||||
bool "Enable support for running scripts through an interpreter"
|
bool "Enable support for running scripts through an interpreter"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_FEATURE_HTTPD_CGI
|
depends on FEATURE_HTTPD_CGI
|
||||||
help
|
help
|
||||||
This option enables support for running scripts through an
|
This option enables support for running scripts through an
|
||||||
interpreter. Turn this on if you want PHP scripts to work
|
interpreter. Turn this on if you want PHP scripts to work
|
||||||
|
@ -138,81 +138,81 @@ config CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
|
||||||
config file:
|
config file:
|
||||||
*.php:/path/to/your/php
|
*.php:/path/to/your/php
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
|
config FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
|
||||||
bool "Support the REMOTE_PORT environment variable for CGI"
|
bool "Support the REMOTE_PORT environment variable for CGI"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_FEATURE_HTTPD_CGI
|
depends on FEATURE_HTTPD_CGI
|
||||||
help
|
help
|
||||||
Use of this option can assist scripts in generating
|
Use of this option can assist scripts in generating
|
||||||
references that contain a unique port number.
|
references that contain a unique port number.
|
||||||
|
|
||||||
config CONFIG_FEATURE_HTTPD_ENCODE_URL_STR
|
config FEATURE_HTTPD_ENCODE_URL_STR
|
||||||
bool "Enable the -e option for shell script CGI simplification."
|
bool "Enable the -e option for shell script CGI simplification."
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_HTTPD
|
depends on HTTPD
|
||||||
help
|
help
|
||||||
This option allows html encoding arbitrary
|
This option allows html encoding arbitrary
|
||||||
strings for display of the browser. Output goes to stdout.
|
strings for display of the browser. Output goes to stdout.
|
||||||
For example, httpd -e "<Hello World>" as
|
For example, httpd -e "<Hello World>" as
|
||||||
"<Hello World>".
|
"<Hello World>".
|
||||||
|
|
||||||
config CONFIG_IFCONFIG
|
config IFCONFIG
|
||||||
bool "ifconfig"
|
bool "ifconfig"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Ifconfig is used to configure the kernel-resident network interfaces.
|
Ifconfig is used to configure the kernel-resident network interfaces.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFCONFIG_STATUS
|
config FEATURE_IFCONFIG_STATUS
|
||||||
bool "Enable status reporting output (+7k)"
|
bool "Enable status reporting output (+7k)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IFCONFIG
|
depends on IFCONFIG
|
||||||
help
|
help
|
||||||
If ifconfig is called with no arguments it will display the status
|
If ifconfig is called with no arguments it will display the status
|
||||||
of the currently active interfaces.
|
of the currently active interfaces.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFCONFIG_SLIP
|
config FEATURE_IFCONFIG_SLIP
|
||||||
bool "Enable slip-specific options \"keepalive\" and \"outfill\""
|
bool "Enable slip-specific options \"keepalive\" and \"outfill\""
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IFCONFIG
|
depends on IFCONFIG
|
||||||
help
|
help
|
||||||
Allow "keepalive" and "outfill" support for SLIP. If you're not
|
Allow "keepalive" and "outfill" support for SLIP. If you're not
|
||||||
planning on using serial lines, leave this unchecked.
|
planning on using serial lines, leave this unchecked.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
|
config FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ
|
||||||
bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
|
bool "Enable options \"mem_start\", \"io_addr\", and \"irq\""
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IFCONFIG
|
depends on IFCONFIG
|
||||||
help
|
help
|
||||||
Allow the start address for shared memory, start address for I/O,
|
Allow the start address for shared memory, start address for I/O,
|
||||||
and/or the interrupt line used by the specified device.
|
and/or the interrupt line used by the specified device.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFCONFIG_HW
|
config FEATURE_IFCONFIG_HW
|
||||||
bool "Enable option \"hw\" (ether only)"
|
bool "Enable option \"hw\" (ether only)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IFCONFIG
|
depends on IFCONFIG
|
||||||
help
|
help
|
||||||
Set the hardware address of this interface, if the device driver
|
Set the hardware address of this interface, if the device driver
|
||||||
supports this operation. Currently, we only support the 'ether'
|
supports this operation. Currently, we only support the 'ether'
|
||||||
class.
|
class.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
|
config FEATURE_IFCONFIG_BROADCAST_PLUS
|
||||||
bool "Set the broadcast automatically"
|
bool "Set the broadcast automatically"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IFCONFIG
|
depends on IFCONFIG
|
||||||
help
|
help
|
||||||
Setting this will make ifconfig attempt to find the broadcast
|
Setting this will make ifconfig attempt to find the broadcast
|
||||||
automatically if the value '+' is used.
|
automatically if the value '+' is used.
|
||||||
|
|
||||||
config CONFIG_IFUPDOWN
|
config IFUPDOWN
|
||||||
bool "ifupdown"
|
bool "ifupdown"
|
||||||
default n
|
default n
|
||||||
select CONFIG_RUN_PARTS
|
select RUN_PARTS
|
||||||
help
|
help
|
||||||
Activate or deactivate the specified interfaces. This applet makes
|
Activate or deactivate the specified interfaces. This applet makes
|
||||||
use of either "ifconfig" and "route" or the "ip" command to actually
|
use of either "ifconfig" and "route" or the "ip" command to actually
|
||||||
configure network interfaces. Therefore, you will probably also want
|
configure network interfaces. Therefore, you will probably also want
|
||||||
to enable either CONFIG_IFCONFIG and CONFIG_ROUTE, or enable
|
to enable either IFCONFIG and ROUTE, or enable
|
||||||
CONFIG_FEATURE_IFUPDOWN_IP and the various CONFIG_IP options. Of
|
FEATURE_IFUPDOWN_IP and the various IP options. Of
|
||||||
course you could use non-busybox versions of these programs, so
|
course you could use non-busybox versions of these programs, so
|
||||||
against my better judgement (since this will surely result in plenty
|
against my better judgement (since this will surely result in plenty
|
||||||
of support questions on the mailing list), I do not force you to
|
of support questions on the mailing list), I do not force you to
|
||||||
|
@ -220,34 +220,34 @@ config CONFIG_IFUPDOWN
|
||||||
"ifconfig" and "route" or the "ip" command, either via busybox or via
|
"ifconfig" and "route" or the "ip" command, either via busybox or via
|
||||||
standalone utilities.
|
standalone utilities.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFUPDOWN_IP
|
config FEATURE_IFUPDOWN_IP
|
||||||
bool "Use ip applet"
|
bool "Use ip applet"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IFUPDOWN
|
depends on IFUPDOWN
|
||||||
help
|
help
|
||||||
Use the iproute "ip" command to implement "ifup" and "ifdown", rather
|
Use the iproute "ip" command to implement "ifup" and "ifdown", rather
|
||||||
than the default of using the older 'ifconfig' and 'route' utilities.
|
than the default of using the older 'ifconfig' and 'route' utilities.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
|
config FEATURE_IFUPDOWN_IP_BUILTIN
|
||||||
bool "Use busybox ip applet"
|
bool "Use busybox ip applet"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_IFUPDOWN_IP
|
depends on FEATURE_IFUPDOWN_IP
|
||||||
select CONFIG_IP
|
select IP
|
||||||
select CONFIG_FEATURE_IP_ADDRESS
|
select FEATURE_IP_ADDRESS
|
||||||
select CONFIG_FEATURE_IP_LINK
|
select FEATURE_IP_LINK
|
||||||
select CONFIG_FEATURE_IP_ROUTE
|
select FEATURE_IP_ROUTE
|
||||||
help
|
help
|
||||||
Use the busybox iproute "ip" applet to implement "ifupdown".
|
Use the busybox iproute "ip" applet to implement "ifupdown".
|
||||||
|
|
||||||
If leave this disabled, you must install the full-blown iproute2
|
If leave this disabled, you must install the full-blown iproute2
|
||||||
utility or the "ifup" and "ifdown" applets will not work.
|
utility or the "ifup" and "ifdown" applets will not work.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
|
config FEATURE_IFUPDOWN_IP_BUILTIN
|
||||||
bool "Use busybox ifconfig and route applets"
|
bool "Use busybox ifconfig and route applets"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IFUPDOWN && !CONFIG_FEATURE_IFUPDOWN_IP
|
depends on IFUPDOWN && !CONFIG_FEATURE_IFUPDOWN_IP
|
||||||
select CONFIG_IFCONFIG
|
select IFCONFIG
|
||||||
select CONFIG_ROUTE
|
select ROUTE
|
||||||
help
|
help
|
||||||
Use the busybox iproute "ifconfig" and "route" applets to
|
Use the busybox iproute "ifconfig" and "route" applets to
|
||||||
implement the "ifup" and "ifdown" utilities.
|
implement the "ifup" and "ifdown" utilities.
|
||||||
|
@ -256,87 +256,87 @@ config CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
|
||||||
and route utilities, or the "ifup" and "ifdown" applets will not
|
and route utilities, or the "ifup" and "ifdown" applets will not
|
||||||
work.
|
work.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFUPDOWN_IPV4
|
config FEATURE_IFUPDOWN_IPV4
|
||||||
bool "Enable support for IPv4"
|
bool "Enable support for IPv4"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IFUPDOWN
|
depends on IFUPDOWN
|
||||||
help
|
help
|
||||||
If you want busybox to talk IPv4, leave this on.
|
If you want busybox to talk IPv4, leave this on.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFUPDOWN_IPV6
|
config FEATURE_IFUPDOWN_IPV6
|
||||||
bool "Enable support for IPv6"
|
bool "Enable support for IPv6"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IFUPDOWN && CONFIG_FEATURE_IPV6
|
depends on IFUPDOWN && FEATURE_IPV6
|
||||||
help
|
help
|
||||||
If you need support for IPv6, turn this option on.
|
If you need support for IPv6, turn this option on.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFUPDOWN_IPX
|
config FEATURE_IFUPDOWN_IPX
|
||||||
bool "Enable support for IPX"
|
bool "Enable support for IPX"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IFUPDOWN
|
depends on IFUPDOWN
|
||||||
help
|
help
|
||||||
If this option is selected you can use busybox to work with IPX
|
If this option is selected you can use busybox to work with IPX
|
||||||
networks.
|
networks.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IFUPDOWN_MAPPING
|
config FEATURE_IFUPDOWN_MAPPING
|
||||||
bool "Enable mapping support"
|
bool "Enable mapping support"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IFUPDOWN
|
depends on IFUPDOWN
|
||||||
help
|
help
|
||||||
This enables support for the "mapping" stanza, unless you have
|
This enables support for the "mapping" stanza, unless you have
|
||||||
a weird network setup you don't need it.
|
a weird network setup you don't need it.
|
||||||
|
|
||||||
config CONFIG_INETD
|
config INETD
|
||||||
bool "inetd"
|
bool "inetd"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
Internet superserver daemon
|
Internet superserver daemon
|
||||||
|
|
||||||
config CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO
|
config FEATURE_INETD_SUPPORT_BUILTIN_ECHO
|
||||||
bool "Support echo service"
|
bool "Support echo service"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INETD
|
depends on INETD
|
||||||
help
|
help
|
||||||
Echo received data internal inetd service
|
Echo received data internal inetd service
|
||||||
|
|
||||||
config CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
|
config FEATURE_INETD_SUPPORT_BUILTIN_DISCARD
|
||||||
bool "Support discard service"
|
bool "Support discard service"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INETD
|
depends on INETD
|
||||||
help
|
help
|
||||||
Internet /dev/null internal inetd service
|
Internet /dev/null internal inetd service
|
||||||
|
|
||||||
config CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME
|
config FEATURE_INETD_SUPPORT_BUILTIN_TIME
|
||||||
bool "Support time service"
|
bool "Support time service"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INETD
|
depends on INETD
|
||||||
help
|
help
|
||||||
Return 32 bit time since 1900 internal inetd service
|
Return 32 bit time since 1900 internal inetd service
|
||||||
|
|
||||||
config CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
|
config FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME
|
||||||
bool "Support daytime service"
|
bool "Support daytime service"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INETD
|
depends on INETD
|
||||||
help
|
help
|
||||||
Return human-readable time internal inetd service
|
Return human-readable time internal inetd service
|
||||||
|
|
||||||
config CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
|
config FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
|
||||||
bool "Support chargen service"
|
bool "Support chargen service"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_INETD
|
depends on INETD
|
||||||
help
|
help
|
||||||
Familiar character generator internal inetd service
|
Familiar character generator internal inetd service
|
||||||
|
|
||||||
config CONFIG_FEATURE_INETD_RPC
|
config FEATURE_INETD_RPC
|
||||||
bool "Support RPC services"
|
bool "Support RPC services"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_INETD
|
depends on INETD
|
||||||
help
|
help
|
||||||
Suuport Sun-RPC based services
|
Suuport Sun-RPC based services
|
||||||
|
|
||||||
|
|
||||||
config CONFIG_IP
|
config IP
|
||||||
bool "ip"
|
bool "ip"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -344,38 +344,38 @@ config CONFIG_IP
|
||||||
utility. You generally don't need "ip" to use busybox with
|
utility. You generally don't need "ip" to use busybox with
|
||||||
TCP/IP.
|
TCP/IP.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IP_ADDRESS
|
config FEATURE_IP_ADDRESS
|
||||||
bool "ip address"
|
bool "ip address"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IP
|
depends on IP
|
||||||
help
|
help
|
||||||
Address manipulation support for the "ip" applet.
|
Address manipulation support for the "ip" applet.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IP_LINK
|
config FEATURE_IP_LINK
|
||||||
bool "ip link"
|
bool "ip link"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IP
|
depends on IP
|
||||||
help
|
help
|
||||||
Configure network devices with "ip".
|
Configure network devices with "ip".
|
||||||
|
|
||||||
config CONFIG_FEATURE_IP_ROUTE
|
config FEATURE_IP_ROUTE
|
||||||
bool "ip route"
|
bool "ip route"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IP
|
depends on IP
|
||||||
help
|
help
|
||||||
Add support for routing table management to "ip".
|
Add support for routing table management to "ip".
|
||||||
|
|
||||||
config CONFIG_FEATURE_IP_TUNNEL
|
config FEATURE_IP_TUNNEL
|
||||||
bool "ip tunnel"
|
bool "ip tunnel"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IP
|
depends on IP
|
||||||
help
|
help
|
||||||
Add support for tunneling commands to "ip".
|
Add support for tunneling commands to "ip".
|
||||||
|
|
||||||
config CONFIG_FEATURE_IP_SHORT_FORMS
|
config FEATURE_IP_SHORT_FORMS
|
||||||
bool "Support short forms of ip commands."
|
bool "Support short forms of ip commands."
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IP
|
depends on IP
|
||||||
help
|
help
|
||||||
Also support short-form of ip <OBJECT> commands:
|
Also support short-form of ip <OBJECT> commands:
|
||||||
ip addr -> ipaddr
|
ip addr -> ipaddr
|
||||||
|
@ -386,51 +386,51 @@ config CONFIG_FEATURE_IP_SHORT_FORMS
|
||||||
Say N unless you desparately need the short form of the ip
|
Say N unless you desparately need the short form of the ip
|
||||||
object commands.
|
object commands.
|
||||||
|
|
||||||
config CONFIG_IPADDR
|
config IPADDR
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_IP_SHORT_FORMS && CONFIG_FEATURE_IP_ADDRESS
|
depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ADDRESS
|
||||||
|
|
||||||
config CONFIG_IPLINK
|
config IPLINK
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_IP_SHORT_FORMS && CONFIG_FEATURE_IP_LINK
|
depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_LINK
|
||||||
|
|
||||||
config CONFIG_IPROUTE
|
config IPROUTE
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_IP_SHORT_FORMS && CONFIG_FEATURE_IP_ROUTE
|
depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_ROUTE
|
||||||
|
|
||||||
config CONFIG_IPTUNNEL
|
config IPTUNNEL
|
||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_FEATURE_IP_SHORT_FORMS && CONFIG_FEATURE_IP_TUNNEL
|
depends on FEATURE_IP_SHORT_FORMS && FEATURE_IP_TUNNEL
|
||||||
|
|
||||||
config CONFIG_IPCALC
|
config IPCALC
|
||||||
bool "ipcalc"
|
bool "ipcalc"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
ipcalc takes an IP address and netmask and calculates the
|
ipcalc takes an IP address and netmask and calculates the
|
||||||
resulting broadcast, network, and host range.
|
resulting broadcast, network, and host range.
|
||||||
|
|
||||||
config CONFIG_FEATURE_IPCALC_FANCY
|
config FEATURE_IPCALC_FANCY
|
||||||
bool "Fancy IPCALC, more options, adds 1 kbyte"
|
bool "Fancy IPCALC, more options, adds 1 kbyte"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_IPCALC
|
depends on IPCALC
|
||||||
help
|
help
|
||||||
Adds the options hostname, prefix and silent to the output of "ipcalc".
|
Adds the options hostname, prefix and silent to the output of "ipcalc".
|
||||||
|
|
||||||
config CONFIG_FEATURE_IPCALC_LONG_OPTIONS
|
config FEATURE_IPCALC_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_IPCALC && CONFIG_GETOPT_LONG
|
depends on IPCALC && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the ipcalc applet.
|
Support long options for the ipcalc applet.
|
||||||
|
|
||||||
config CONFIG_NAMEIF
|
config NAMEIF
|
||||||
bool "nameif"
|
bool "nameif"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
nameif is used to rename network interface by its MAC address.
|
nameif is used to rename network interface by its MAC address.
|
||||||
Renamed interfaces MUST be in the down state.
|
Renamed interfaces MUST be in the down state.
|
||||||
|
@ -442,107 +442,107 @@ config CONFIG_NAMEIF
|
||||||
# Comment
|
# Comment
|
||||||
new_interface_name XX:XX:XX:XX:XX:XX
|
new_interface_name XX:XX:XX:XX:XX:XX
|
||||||
|
|
||||||
config CONFIG_NC
|
config NC
|
||||||
bool "nc"
|
bool "nc"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
A simple Unix utility which reads and writes data across network
|
A simple Unix utility which reads and writes data across network
|
||||||
connections.
|
connections.
|
||||||
|
|
||||||
config CONFIG_NC_SERVER
|
config NC_SERVER
|
||||||
bool "Netcat server options (-lp)"
|
bool "Netcat server options (-lp)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_NC
|
depends on NC
|
||||||
help
|
help
|
||||||
Allow netcat to act as a server.
|
Allow netcat to act as a server.
|
||||||
|
|
||||||
config CONFIG_NC_EXTRA
|
config NC_EXTRA
|
||||||
bool "Netcat extensions (-eiw and filename)"
|
bool "Netcat extensions (-eiw and filename)"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_NC
|
depends on NC
|
||||||
help
|
help
|
||||||
Add -e (support for executing the rest of the command line after
|
Add -e (support for executing the rest of the command line after
|
||||||
making or receiving a successful connection), -i (delay interval for
|
making or receiving a successful connection), -i (delay interval for
|
||||||
lines sent), -w (timeout for initial connection).
|
lines sent), -w (timeout for initial connection).
|
||||||
|
|
||||||
config CONFIG_NETSTAT
|
config NETSTAT
|
||||||
bool "netstat"
|
bool "netstat"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
netstat prints information about the Linux networking subsystem.
|
netstat prints information about the Linux networking subsystem.
|
||||||
|
|
||||||
config CONFIG_NSLOOKUP
|
config NSLOOKUP
|
||||||
bool "nslookup"
|
bool "nslookup"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
nslookup is a tool to query Internet name servers.
|
nslookup is a tool to query Internet name servers.
|
||||||
|
|
||||||
config CONFIG_PING
|
config PING
|
||||||
bool "ping"
|
bool "ping"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
|
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
|
||||||
elicit an ICMP ECHO_RESPONSE from a host or gateway.
|
elicit an ICMP ECHO_RESPONSE from a host or gateway.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FANCY_PING
|
config FEATURE_FANCY_PING
|
||||||
bool "Enable fancy ping output"
|
bool "Enable fancy ping output"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_PING
|
depends on PING
|
||||||
help
|
help
|
||||||
Make the output from the ping applet include statistics, and at the
|
Make the output from the ping applet include statistics, and at the
|
||||||
same time provide full support for ICMP packets.
|
same time provide full support for ICMP packets.
|
||||||
|
|
||||||
config CONFIG_PING6
|
config PING6
|
||||||
bool "ping6"
|
bool "ping6"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_FEATURE_IPV6
|
depends on FEATURE_IPV6
|
||||||
help
|
help
|
||||||
This will give you a ping that can talk IPv6.
|
This will give you a ping that can talk IPv6.
|
||||||
|
|
||||||
config CONFIG_FEATURE_FANCY_PING6
|
config FEATURE_FANCY_PING6
|
||||||
bool "Enable fancy ping6 output"
|
bool "Enable fancy ping6 output"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_PING6
|
depends on PING6
|
||||||
help
|
help
|
||||||
Make the output from the ping6 applet include statistics, and at the
|
Make the output from the ping6 applet include statistics, and at the
|
||||||
same time provide full support for ICMP packets.
|
same time provide full support for ICMP packets.
|
||||||
|
|
||||||
config CONFIG_ROUTE
|
config ROUTE
|
||||||
bool "route"
|
bool "route"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Route displays or manipulates the kernel's IP routing tables.
|
Route displays or manipulates the kernel's IP routing tables.
|
||||||
|
|
||||||
config CONFIG_TELNET
|
config TELNET
|
||||||
bool "telnet"
|
bool "telnet"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Telnet is an interface to the TELNET protocol, but is also commonly
|
Telnet is an interface to the TELNET protocol, but is also commonly
|
||||||
used to test other simple protocols.
|
used to test other simple protocols.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TELNET_TTYPE
|
config FEATURE_TELNET_TTYPE
|
||||||
bool "Pass TERM type to remote host"
|
bool "Pass TERM type to remote host"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TELNET
|
depends on TELNET
|
||||||
help
|
help
|
||||||
Setting this option will forward the TERM environment variable to the
|
Setting this option will forward the TERM environment variable to the
|
||||||
remote host you are connecting to. This is useful to make sure that
|
remote host you are connecting to. This is useful to make sure that
|
||||||
things like ANSI colors and other control sequences behave.
|
things like ANSI colors and other control sequences behave.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TELNET_AUTOLOGIN
|
config FEATURE_TELNET_AUTOLOGIN
|
||||||
bool "Pass USER type to remote host"
|
bool "Pass USER type to remote host"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TELNET
|
depends on TELNET
|
||||||
help
|
help
|
||||||
Setting this option will forward the USER environment variable to the
|
Setting this option will forward the USER environment variable to the
|
||||||
remote host you are connecting to. This is useful when you need to
|
remote host you are connecting to. This is useful when you need to
|
||||||
log into a machine without telling the username (autologin). This
|
log into a machine without telling the username (autologin). This
|
||||||
option enables `-a' and `-l USER' arguments.
|
option enables `-a' and `-l USER' arguments.
|
||||||
|
|
||||||
config CONFIG_TELNETD
|
config TELNETD
|
||||||
bool "telnetd"
|
bool "telnetd"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
A daemon for the TELNET protocol, allowing you to log onto the host
|
A daemon for the TELNET protocol, allowing you to log onto the host
|
||||||
running the daemon. Please keep in mind that the TELNET protocol
|
running the daemon. Please keep in mind that the TELNET protocol
|
||||||
|
@ -554,8 +554,8 @@ config CONFIG_TELNETD
|
||||||
|
|
||||||
Note that for busybox telnetd to work you need several things:
|
Note that for busybox telnetd to work you need several things:
|
||||||
First of all, your kernel needs:
|
First of all, your kernel needs:
|
||||||
CONFIG_UNIX98_PTYS=y
|
UNIX98_PTYS=y
|
||||||
CONFIG_DEVPTS_FS=y
|
DEVPTS_FS=y
|
||||||
|
|
||||||
Next, you need a /dev/pts directory on your root filesystem:
|
Next, you need a /dev/pts directory on your root filesystem:
|
||||||
|
|
||||||
|
@ -572,8 +572,8 @@ config CONFIG_TELNETD
|
||||||
|
|
||||||
mount -t devpts devpts /dev/pts
|
mount -t devpts devpts /dev/pts
|
||||||
|
|
||||||
You need to be sure that Busybox has CONFIG_LOGIN and
|
You need to be sure that Busybox has LOGIN and
|
||||||
CONFIG_FEATURE_SUID enabled. And finally, you should make
|
FEATURE_SUID enabled. And finally, you should make
|
||||||
certain that Busybox has been installed setuid root:
|
certain that Busybox has been installed setuid root:
|
||||||
|
|
||||||
chown root.root /bin/busybox
|
chown root.root /bin/busybox
|
||||||
|
@ -582,15 +582,15 @@ config CONFIG_TELNETD
|
||||||
with all that done, telnetd _should_ work....
|
with all that done, telnetd _should_ work....
|
||||||
|
|
||||||
|
|
||||||
config CONFIG_FEATURE_TELNETD_INETD
|
config FEATURE_TELNETD_INETD
|
||||||
bool "Support call from inetd only"
|
bool "Support call from inetd only"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TELNETD
|
depends on TELNETD
|
||||||
help
|
help
|
||||||
Selecting this will make telnetd only callable from inetd,
|
Selecting this will make telnetd only callable from inetd,
|
||||||
removing the standalone support.
|
removing the standalone support.
|
||||||
|
|
||||||
config CONFIG_TFTP
|
config TFTP
|
||||||
bool "tftp"
|
bool "tftp"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
|
@ -598,114 +598,114 @@ config CONFIG_TFTP
|
||||||
is usually used for simple, small transfers such as a root image
|
is usually used for simple, small transfers such as a root image
|
||||||
for a network-enabled bootloader.
|
for a network-enabled bootloader.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TFTP_GET
|
config FEATURE_TFTP_GET
|
||||||
bool "Enable \"get\" command"
|
bool "Enable \"get\" command"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TFTP
|
depends on TFTP
|
||||||
help
|
help
|
||||||
Add support for the GET command within the TFTP client. This allows
|
Add support for the GET command within the TFTP client. This allows
|
||||||
a client to retrieve a file from a TFTP server.
|
a client to retrieve a file from a TFTP server.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TFTP_PUT
|
config FEATURE_TFTP_PUT
|
||||||
bool "Enable \"put\" command"
|
bool "Enable \"put\" command"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_TFTP
|
depends on TFTP
|
||||||
help
|
help
|
||||||
Add support for the PUT command within the TFTP client. This allows
|
Add support for the PUT command within the TFTP client. This allows
|
||||||
a client to transfer a file to a TFTP server.
|
a client to transfer a file to a TFTP server.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TFTP_BLOCKSIZE
|
config FEATURE_TFTP_BLOCKSIZE
|
||||||
bool "Enable \"blocksize\" command"
|
bool "Enable \"blocksize\" command"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TFTP
|
depends on TFTP
|
||||||
help
|
help
|
||||||
Allow the client to specify the desired block size for transfers.
|
Allow the client to specify the desired block size for transfers.
|
||||||
|
|
||||||
config CONFIG_DEBUG_TFTP
|
config DEBUG_TFTP
|
||||||
bool "Enable debug"
|
bool "Enable debug"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TFTP
|
depends on TFTP
|
||||||
help
|
help
|
||||||
Enable debug settings for tftp. This is useful if you're running
|
Enable debug settings for tftp. This is useful if you're running
|
||||||
into problems with tftp as the protocol doesn't help you much when
|
into problems with tftp as the protocol doesn't help you much when
|
||||||
you run into problems.
|
you run into problems.
|
||||||
|
|
||||||
config CONFIG_TRACEROUTE
|
config TRACEROUTE
|
||||||
bool "traceroute"
|
bool "traceroute"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Utility to trace the route of IP packets
|
Utility to trace the route of IP packets
|
||||||
|
|
||||||
config CONFIG_FEATURE_TRACEROUTE_VERBOSE
|
config FEATURE_TRACEROUTE_VERBOSE
|
||||||
bool "Enable verbose output"
|
bool "Enable verbose output"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TRACEROUTE
|
depends on TRACEROUTE
|
||||||
help
|
help
|
||||||
Add some verbosity to traceroute. This includes amongst other things
|
Add some verbosity to traceroute. This includes amongst other things
|
||||||
hostnames and ICMP response types.
|
hostnames and ICMP response types.
|
||||||
|
|
||||||
config CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
|
config FEATURE_TRACEROUTE_SOURCE_ROUTE
|
||||||
bool "Enable loose source route"
|
bool "Enable loose source route"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TRACEROUTE
|
depends on TRACEROUTE
|
||||||
help
|
help
|
||||||
Add option to specify a loose source route gateway
|
Add option to specify a loose source route gateway
|
||||||
(8 maximum).
|
(8 maximum).
|
||||||
|
|
||||||
config CONFIG_FEATURE_TRACEROUTE_USE_ICMP
|
config FEATURE_TRACEROUTE_USE_ICMP
|
||||||
bool "Use ICMP instead of UDP"
|
bool "Use ICMP instead of UDP"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_TRACEROUTE
|
depends on TRACEROUTE
|
||||||
help
|
help
|
||||||
Add feature to allow for ICMP ECHO instead of UDP datagrams.
|
Add feature to allow for ICMP ECHO instead of UDP datagrams.
|
||||||
|
|
||||||
source networking/udhcp/Config.in
|
source networking/udhcp/Config.in
|
||||||
|
|
||||||
config CONFIG_VCONFIG
|
config VCONFIG
|
||||||
bool "vconfig"
|
bool "vconfig"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Creates, removes, and configures VLAN interfaces
|
Creates, removes, and configures VLAN interfaces
|
||||||
|
|
||||||
config CONFIG_WGET
|
config WGET
|
||||||
bool "wget"
|
bool "wget"
|
||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
wget is a utility for non-interactive download of files from HTTP,
|
wget is a utility for non-interactive download of files from HTTP,
|
||||||
HTTPS, and FTP servers.
|
HTTPS, and FTP servers.
|
||||||
|
|
||||||
config CONFIG_FEATURE_WGET_STATUSBAR
|
config FEATURE_WGET_STATUSBAR
|
||||||
bool "Enable a nifty process meter (+2k)"
|
bool "Enable a nifty process meter (+2k)"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_WGET
|
depends on WGET
|
||||||
help
|
help
|
||||||
Enable the transfer progress bar for wget transfers.
|
Enable the transfer progress bar for wget transfers.
|
||||||
|
|
||||||
config CONFIG_FEATURE_WGET_AUTHENTICATION
|
config FEATURE_WGET_AUTHENTICATION
|
||||||
bool "Enable HTTP authentication"
|
bool "Enable HTTP authentication"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_WGET
|
depends on WGET
|
||||||
help
|
help
|
||||||
Support authenticated HTTP transfers.
|
Support authenticated HTTP transfers.
|
||||||
|
|
||||||
config CONFIG_FEATURE_WGET_IP6_LITERAL
|
config FEATURE_WGET_IP6_LITERAL
|
||||||
bool "Enable IPv6 literal addresses"
|
bool "Enable IPv6 literal addresses"
|
||||||
default y
|
default y
|
||||||
depends on CONFIG_WGET && CONFIG_FEATURE_IPV6
|
depends on WGET && FEATURE_IPV6
|
||||||
help
|
help
|
||||||
Support IPv6 address literal notation in URLs.
|
Support IPv6 address literal notation in URLs.
|
||||||
|
|
||||||
config CONFIG_FEATURE_WGET_LONG_OPTIONS
|
config FEATURE_WGET_LONG_OPTIONS
|
||||||
bool "Enable long options"
|
bool "Enable long options"
|
||||||
default n
|
default n
|
||||||
depends on CONFIG_WGET && CONFIG_GETOPT_LONG
|
depends on WGET && GETOPT_LONG
|
||||||
help
|
help
|
||||||
Support long options for the wget applet.
|
Support long options for the wget applet.
|
||||||
|
|
||||||
config CONFIG_ZCIP
|
config ZCIP
|
||||||
bool "zcip"
|
bool "zcip"
|
||||||
default n
|
default n
|
||||||
select CONFIG_FEATURE_SYSLOG
|
select FEATURE_SYSLOG
|
||||||
help
|
help
|
||||||
ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
|
ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
|
||||||
It's a daemon that allocates and defends a dynamically assigned
|
It's a daemon that allocates and defends a dynamically assigned
|
||||||
|
|
38
networking/Kbuild
Normal file
38
networking/Kbuild
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_ARPING) += arping.o
|
||||||
|
lib-$(CONFIG_DNSD) += dnsd.o
|
||||||
|
lib-$(CONFIG_ETHER_WAKE) += ether-wake.o
|
||||||
|
lib-$(CONFIG_FAKEIDENTD) += fakeidentd.o
|
||||||
|
lib-$(CONFIG_FTPGET) += ftpgetput.o
|
||||||
|
lib-$(CONFIG_FTPPUT) += ftpgetput.o
|
||||||
|
lib-$(CONFIG_HOSTNAME) += hostname.o
|
||||||
|
lib-$(CONFIG_HTTPD) += httpd.o
|
||||||
|
lib-$(CONFIG_IFCONFIG) += ifconfig.o interface.o
|
||||||
|
lib-$(CONFIG_IFUPDOWN) += ifupdown.o
|
||||||
|
lib-$(CONFIG_INETD) += inetd.o
|
||||||
|
lib-$(CONFIG_IP) += ip.o
|
||||||
|
lib-$(CONFIG_IPCALC) += ipcalc.o
|
||||||
|
lib-$(CONFIG_IPADDR) += ipaddr.o
|
||||||
|
lib-$(CONFIG_IPLINK) += iplink.o
|
||||||
|
lib-$(CONFIG_IPROUTE) += iproute.o
|
||||||
|
lib-$(CONFIG_IPTUNNEL) += iptunnel.o
|
||||||
|
lib-$(CONFIG_NAMEIF) += nameif.o
|
||||||
|
lib-$(CONFIG_NC) += nc.o
|
||||||
|
lib-$(CONFIG_NETSTAT) += netstat.o
|
||||||
|
lib-$(CONFIG_NSLOOKUP) += nslookup.o
|
||||||
|
lib-$(CONFIG_PING) += ping.o
|
||||||
|
lib-$(CONFIG_PING6) += ping6.o
|
||||||
|
lib-$(CONFIG_ROUTE) += route.o
|
||||||
|
lib-$(CONFIG_TELNET) += telnet.o
|
||||||
|
lib-$(CONFIG_TELNETD) += telnetd.o
|
||||||
|
lib-$(CONFIG_TFTP) += tftp.o
|
||||||
|
lib-$(CONFIG_TRACEROUTE) += traceroute.o
|
||||||
|
lib-$(CONFIG_VCONFIG) += vconfig.o
|
||||||
|
lib-$(CONFIG_WGET) += wget.o
|
||||||
|
lib-$(CONFIG_ZCIP) += zcip.o
|
|
@ -1,23 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/networking
|
|
||||||
NETWORKING_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2, see the file LICENSE in this tarball.
|
|
||||||
|
|
||||||
NETWORKING_AR:=networking.a
|
|
||||||
ifndef $(NETWORKING_DIR)
|
|
||||||
NETWORKING_DIR:=$(top_builddir)/networking/
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/networking
|
|
||||||
|
|
||||||
NETWORKING-y:=
|
|
||||||
NETWORKING-$(CONFIG_ARPING) += arping.o
|
|
||||||
NETWORKING-$(CONFIG_DNSD) += dnsd.o
|
|
||||||
NETWORKING-$(CONFIG_ETHER_WAKE) += ether-wake.o
|
|
||||||
NETWORKING-$(CONFIG_FAKEIDENTD) += fakeidentd.o
|
|
||||||
NETWORKING-$(CONFIG_FTPGET) += ftpgetput.o
|
|
||||||
NETWORKING-$(CONFIG_FTPPUT) += ftpgetput.o
|
|
||||||
NETWORKING-$(CONFIG_HOSTNAME) += hostname.o
|
|
||||||
NETWORKING-$(CONFIG_HTTPD) += httpd.o
|
|
||||||
NETWORKING-$(CONFIG_IFCONFIG) += ifconfig.o interface.o
|
|
||||||
NETWORKING-$(CONFIG_IFUPDOWN) += ifupdown.o
|
|
||||||
NETWORKING-$(CONFIG_INETD) += inetd.o
|
|
||||||
NETWORKING-$(CONFIG_IP) += ip.o
|
|
||||||
NETWORKING-$(CONFIG_IPCALC) += ipcalc.o
|
|
||||||
NETWORKING-$(CONFIG_IPADDR) += ipaddr.o
|
|
||||||
NETWORKING-$(CONFIG_IPLINK) += iplink.o
|
|
||||||
NETWORKING-$(CONFIG_IPROUTE) += iproute.o
|
|
||||||
NETWORKING-$(CONFIG_IPTUNNEL) += iptunnel.o
|
|
||||||
NETWORKING-$(CONFIG_NAMEIF) += nameif.o
|
|
||||||
NETWORKING-$(CONFIG_NC) += nc.o
|
|
||||||
NETWORKING-$(CONFIG_NETSTAT) += netstat.o
|
|
||||||
NETWORKING-$(CONFIG_NSLOOKUP) += nslookup.o
|
|
||||||
NETWORKING-$(CONFIG_PING) += ping.o
|
|
||||||
NETWORKING-$(CONFIG_PING6) += ping6.o
|
|
||||||
NETWORKING-$(CONFIG_ROUTE) += route.o
|
|
||||||
NETWORKING-$(CONFIG_TELNET) += telnet.o
|
|
||||||
NETWORKING-$(CONFIG_TELNETD) += telnetd.o
|
|
||||||
NETWORKING-$(CONFIG_TFTP) += tftp.o
|
|
||||||
NETWORKING-$(CONFIG_TRACEROUTE) += traceroute.o
|
|
||||||
NETWORKING-$(CONFIG_VCONFIG) += vconfig.o
|
|
||||||
NETWORKING-$(CONFIG_WGET) += wget.o
|
|
||||||
NETWORKING-$(CONFIG_ZCIP) += zcip.o
|
|
||||||
|
|
||||||
NETWORKING-y:=$(sort $(NETWORKING-y))
|
|
||||||
ifneq ($(strip $(NETWORKING-y)),)
|
|
||||||
libraries-y+=$(NETWORKING_DIR)$(NETWORKING_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
NETWORKING_SRC-y:=$(patsubst %.o,$(srcdir)/%.c,$(NETWORKING-y))
|
|
||||||
NETWORKING_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
APPLET_SRC-y+=$(NETWORKING_SRC-y)
|
|
||||||
APPLET_SRC-a+=$(NETWORKING_SRC-a)
|
|
||||||
|
|
||||||
LIBRARY_DEFINE-y+= -I$(top_srcdir)/networking
|
|
||||||
LIBRARY_DEFINE-a+= -I$(top_srcdir)/networking
|
|
||||||
|
|
||||||
needcrypt-y:=
|
|
||||||
needcrypt-$(CONFIG_FEATURE_HTTPD_AUTH_MD5) := y
|
|
||||||
|
|
||||||
ifeq ($(needcrypt-y),y)
|
|
||||||
LIBRARIES := -lcrypt $(filter-out -lcrypt,$(LIBRARIES))
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(NETWORKING_DIR)$(NETWORKING_AR): $(patsubst %,$(NETWORKING_DIR)%, $(NETWORKING-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(NETWORKING_DIR)%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
58
networking/libiproute/Kbuild
Normal file
58
networking/libiproute/Kbuild
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# Makefile for busybox
|
||||||
|
#
|
||||||
|
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
||||||
|
#
|
||||||
|
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
||||||
|
#
|
||||||
|
|
||||||
|
lib-y:=
|
||||||
|
lib-$(CONFIG_IP) += \
|
||||||
|
ip_parse_common_args.o \
|
||||||
|
ipaddress.o \
|
||||||
|
iplink.o \
|
||||||
|
iproute.o \
|
||||||
|
iptunnel.o \
|
||||||
|
libnetlink.o \
|
||||||
|
ll_addr.o \
|
||||||
|
ll_map.o \
|
||||||
|
ll_proto.o \
|
||||||
|
ll_types.o \
|
||||||
|
rt_names.o \
|
||||||
|
rtm_map.o \
|
||||||
|
utils.o
|
||||||
|
|
||||||
|
lib-$(CONFIG_IPADDR) += \
|
||||||
|
ip_parse_common_args.o \
|
||||||
|
ipaddress.o \
|
||||||
|
libnetlink.o \
|
||||||
|
ll_addr.o \
|
||||||
|
ll_map.o \
|
||||||
|
ll_types.o \
|
||||||
|
rt_names.o \
|
||||||
|
utils.o
|
||||||
|
|
||||||
|
lib-$(CONFIG_IPLINK) += \
|
||||||
|
ip_parse_common_args.o \
|
||||||
|
ipaddress.o \
|
||||||
|
iplink.o \
|
||||||
|
libnetlink.o \
|
||||||
|
ll_addr.o \
|
||||||
|
ll_map.o \
|
||||||
|
ll_types.o \
|
||||||
|
rt_names.o \
|
||||||
|
utils.o
|
||||||
|
|
||||||
|
lib-$(CONFIG_IPROUTE) += \
|
||||||
|
ip_parse_common_args.o \
|
||||||
|
iproute.o \
|
||||||
|
libnetlink.o \
|
||||||
|
ll_map.o \
|
||||||
|
rt_names.o \
|
||||||
|
rtm_map.o \
|
||||||
|
utils.o
|
||||||
|
|
||||||
|
lib-$(CONFIG_IPTUNNEL) += \
|
||||||
|
ip_parse_common_args.o \
|
||||||
|
iptunnel.o \
|
||||||
|
rt_names.o \
|
||||||
|
utils.o
|
|
@ -1,36 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
#
|
|
||||||
|
|
||||||
ifndef top_srcdir
|
|
||||||
top_srcdir=../..
|
|
||||||
endif
|
|
||||||
ifndef top_builddir
|
|
||||||
top_builddir=../..
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/networking/libiproute
|
|
||||||
LIBIPROUTE_DIR:=./
|
|
||||||
include $(top_srcdir)/Rules.mak
|
|
||||||
include $(top_builddir)/.config
|
|
||||||
include Makefile.in
|
|
||||||
all: $(libraries-y)
|
|
||||||
-include $(top_builddir)/.depend
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f *.o *.a $(AR_TARGET)
|
|
||||||
|
|
|
@ -1,83 +0,0 @@
|
||||||
# Makefile for busybox
|
|
||||||
#
|
|
||||||
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
|
|
||||||
#
|
|
||||||
# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
|
|
||||||
#
|
|
||||||
|
|
||||||
LIBIPROUTE_AR:=libiproute.a
|
|
||||||
ifndef $(LIBIPROUTE_DIR)
|
|
||||||
LIBIPROUTE_DIR:=$(top_builddir)/networking/libiproute
|
|
||||||
endif
|
|
||||||
srcdir=$(top_srcdir)/networking/libiproute
|
|
||||||
|
|
||||||
LIBIPROUTE-y:=
|
|
||||||
LIBIPROUTE-$(CONFIG_IP) += \
|
|
||||||
ip_parse_common_args.o \
|
|
||||||
ipaddress.o \
|
|
||||||
iplink.o \
|
|
||||||
iproute.o \
|
|
||||||
iptunnel.o \
|
|
||||||
libnetlink.o \
|
|
||||||
ll_addr.o \
|
|
||||||
ll_map.o \
|
|
||||||
ll_proto.o \
|
|
||||||
ll_types.o \
|
|
||||||
rt_names.o \
|
|
||||||
rtm_map.o \
|
|
||||||
utils.o
|
|
||||||
|
|
||||||
LIBIPROUTE-$(CONFIG_IPADDR) += \
|
|
||||||
ip_parse_common_args.o \
|
|
||||||
ipaddress.o \
|
|
||||||
libnetlink.o \
|
|
||||||
ll_addr.o \
|
|
||||||
ll_map.o \
|
|
||||||
ll_types.o \
|
|
||||||
rt_names.o \
|
|
||||||
utils.o
|
|
||||||
|
|
||||||
LIBIPROUTE-$(CONFIG_IPLINK) += \
|
|
||||||
ip_parse_common_args.o \
|
|
||||||
ipaddress.o \
|
|
||||||
iplink.o \
|
|
||||||
libnetlink.o \
|
|
||||||
ll_addr.o \
|
|
||||||
ll_map.o \
|
|
||||||
ll_types.o \
|
|
||||||
rt_names.o \
|
|
||||||
utils.o
|
|
||||||
|
|
||||||
LIBIPROUTE-$(CONFIG_IPROUTE) += \
|
|
||||||
ip_parse_common_args.o \
|
|
||||||
iproute.o \
|
|
||||||
libnetlink.o \
|
|
||||||
ll_map.o \
|
|
||||||
rt_names.o \
|
|
||||||
rtm_map.o \
|
|
||||||
utils.o
|
|
||||||
|
|
||||||
LIBIPROUTE-$(CONFIG_IPTUNNEL) += \
|
|
||||||
ip_parse_common_args.o \
|
|
||||||
iptunnel.o \
|
|
||||||
rt_names.o \
|
|
||||||
utils.o
|
|
||||||
|
|
||||||
LIBIPROUTE-y:=$(sort $(LIBIPROUTE-y))
|
|
||||||
|
|
||||||
LIBIPROUTE_SRC-y:=$(patsubst %,$(srcdir)/%,$(subst .o,.c,$(LIBIPROUTE-y)))
|
|
||||||
LIBIPROUTE_SRC-a:=$(wildcard $(srcdir)/*.c)
|
|
||||||
LIBRARY_SRC-y+=$(LIBIPROUTE_SRC-y)
|
|
||||||
LIBRARY_SRC-a+=$(LIBIPROUTE_SRC-a)
|
|
||||||
|
|
||||||
LIBIPROUTE-obj:=$(LIBIPROUTE_DIR)/$(LIBIPROUTE_AR)
|
|
||||||
|
|
||||||
ifneq ($(strip $(LIBIPROUTE-y)),)
|
|
||||||
libraries-y+=$(LIBIPROUTE_DIR)/$(LIBIPROUTE_AR)
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(LIBIPROUTE_DIR)/$(LIBIPROUTE_AR): $(patsubst %,$(LIBIPROUTE_DIR)/%,$(LIBIPROUTE-y))
|
|
||||||
$(do_ar)
|
|
||||||
|
|
||||||
$(LIBIPROUTE_DIR)/%.o: $(srcdir)/%.c
|
|
||||||
$(compile.c)
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue