summaryrefslogtreecommitdiff
path: root/package/busybox
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-11-27 19:33:20 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2009-11-27 19:33:20 +0100
commit0c6fb98d013e4ffc664935a51adce94254d10f83 (patch)
treef5d5cdecd15b0282cc4b1598632d6cb3afc84791 /package/busybox
parent02e9bb0970ba681f228dc642b1e5026cc97047c7 (diff)
update busybox and default config
Diffstat (limited to 'package/busybox')
-rw-r--r--package/busybox/Makefile4
-rw-r--r--package/busybox/config/Config.in418
-rw-r--r--package/busybox/config/archival/Config.in58
-rw-r--r--package/busybox/config/console-tools/Config.in2
-rw-r--r--package/busybox/config/coreutils/Config.in92
-rw-r--r--package/busybox/config/debianutils/Config.in10
-rw-r--r--package/busybox/config/editors/Config.in9
-rw-r--r--package/busybox/config/findutils/Config.in83
-rw-r--r--package/busybox/config/init/Config.in50
-rw-r--r--package/busybox/config/libbb/Config.in27
-rw-r--r--package/busybox/config/loginutils/Config.in66
-rw-r--r--package/busybox/config/mailutils/Config.in16
-rw-r--r--package/busybox/config/miscutils/Config.in153
-rw-r--r--package/busybox/config/modutils/Config.in42
-rw-r--r--package/busybox/config/networking/Config.in118
-rw-r--r--package/busybox/config/networking/udhcp/Config.in13
-rw-r--r--package/busybox/config/procps/Config.in21
-rw-r--r--package/busybox/config/selinux/Config.in4
-rw-r--r--package/busybox/config/shell/Config.in113
-rw-r--r--package/busybox/config/sysklogd/Config.in4
-rw-r--r--package/busybox/config/util-linux/Config.in79
-rw-r--r--package/busybox/patches/001-ipkg.patch1370
-rw-r--r--package/busybox/patches/002-find-empty.patch105
-rw-r--r--package/busybox/patches/003-ip-config.patch18
-rw-r--r--package/busybox/patches/patch-Makefile12
-rw-r--r--package/busybox/patches/patch-Makefile_flags21
-rw-r--r--package/busybox/patches/patch-include_libbb_h80
-rw-r--r--package/busybox/patches/patch-include_platform_h30
-rw-r--r--package/busybox/patches/patch-networking_traceroute_c12
-rw-r--r--package/busybox/patches/patch-networking_udhcp_dhcpd_c11
-rw-r--r--package/busybox/patches/patch-runit_runit_lib_h16
-rw-r--r--package/busybox/patches/patch-util-linux_fdisk_osf_c12
32 files changed, 1533 insertions, 1536 deletions
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index fad655280..6a0569428 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= busybox
-PKG_VERSION:= 1.13.4
+PKG_VERSION:= 1.15.2
PKG_RELEASE:= 1
-PKG_MD5SUM:= 6f86b4aa466f4b492c9468ba9500976a
+PKG_MD5SUM:= 495e320537f0772125f2db3c098e437c
PKG_DESCR:= Core utilities for embedded Linux systems
PKG_SECTION:= base
PKG_URL:= http://www.busybox.net
diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in
index 0426f7288..6da769cc0 100644
--- a/package/busybox/config/Config.in
+++ b/package/busybox/config/Config.in
@@ -30,18 +30,6 @@ config BUSYBOX_EXTRA_COMPAT
some GNU extensions in libc. You probably only need this option
if you plan to run busybox on desktop.
-config BUSYBOX_FEATURE_ASSUME_UNICODE
- bool "Assume that 1:1 char/glyph correspondence is not true"
- default n
- help
- This makes various applets aware that one byte is not
- one character on screen.
-
- Busybox aims to eventually work correctly with Unicode displays.
- Any older encodings are not guaranteed to work.
- Probably by the time when busybox will be fully Unicode-clean,
- other encodings will be mainly of historic interest.
-
choice
prompt "Buffer allocation policy"
default FEATURE_BUFFERS_USE_MALLOC
@@ -77,7 +65,7 @@ config BUSYBOX_SHOW_USAGE
config BUSYBOX_FEATURE_VERBOSE_USAGE
bool "Show verbose applet usage messages"
- default y
+ default n
select BUSYBOX_SHOW_USAGE
help
All BusyBox applets will show more verbose help messages when
@@ -114,7 +102,29 @@ config BUSYBOX_LOCALE_SUPPORT
Enable this if your system has locale support and you would like
busybox to support locale settings.
-config BUSYBOX_GETOPT_LONG
+config BUSYBOX_FEATURE_ASSUME_UNICODE
+ bool "Support Unicode"
+ default n
+ help
+ This makes various applets aware that one byte is not
+ one character on screen.
+
+ Busybox aims to eventually work correctly with Unicode displays.
+ Any older encodings are not guaranteed to work.
+ Probably by the time when busybox will be fully Unicode-clean,
+ other encodings will be mainly of historic interest.
+
+config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV
+ bool "Check $LANG environment variable"
+ default y
+ depends on BUSYBOX_FEATURE_ASSUME_UNICODE && !BUSYBOX_LOCALE_SUPPORT
+ help
+ With this option on, Unicode support is activated
+ only if LANG variable has the value of the form "xxxx.utf8"
+
+ Otherwise, Unicode support will be always enabled and active.
+
+config BUSYBOX_LONG_OPTS
bool "Support for --long-options"
default y
help
@@ -131,17 +141,17 @@ config BUSYBOX_FEATURE_DEVPTS
/dev/ttyp<number> will be used. To use this option, you should have
devpts mounted.
-#config BUSYBOX_FEATURE_CLEAN_UP
-# bool "Clean up all memory before exiting (usually not needed)"
-# default n
-# help
-# As a size optimization, busybox normally exits without explicitly
-# freeing dynamically allocated memory or closing files. This saves
-# space since the OS will clean up for us, but it can confuse debuggers
-# like valgrind, which report tons of memory and resource leaks.
-#
-# Don't enable this unless you have a really good reason to clean
-# things up manually.
+config BUSYBOX_FEATURE_CLEAN_UP
+ bool "Clean up all memory before exiting (usually not needed)"
+ default n
+ help
+ As a size optimization, busybox normally exits without explicitly
+ freeing dynamically allocated memory or closing files. This saves
+ space since the OS will clean up for us, but it can confuse debuggers
+ like valgrind, which report tons of memory and resource leaks.
+
+ Don't enable this unless you have a really good reason to clean
+ things up manually.
config BUSYBOX_FEATURE_PIDFILE
bool "Support writing pidfiles"
@@ -152,7 +162,7 @@ config BUSYBOX_FEATURE_PIDFILE
config BUSYBOX_FEATURE_SUID
bool "Support for SUID/SGID handling"
- default y
+ default n
help
With this option you can install the busybox binary belonging
to root with the suid bit set, and it will automatically drop
@@ -167,91 +177,91 @@ config BUSYBOX_FEATURE_SUID
crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
traceroute, vlock.
-#config BUSYBOX_FEATURE_SUID_CONFIG
-# bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
-# default n if FEATURE_SUID
-# depends on BUSYBOX_FEATURE_SUID
-# help
-# Allow the SUID / SGID state of an applet to be determined at runtime
-# by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
-# The format of this file is as follows:
-#
-# <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
-#
-# An example might help:
-#
-# [SUID]
-# su = ssx root.0 # applet su can be run by anyone and runs with
-# # euid=0/egid=0
-# su = ssx # exactly the same
-#
-# mount = sx- root.disk # applet mount can be run by root and members
-# # of group disk and runs with euid=0
-#
-# cp = --- # disable applet cp for everyone
-#
-# The file has to be owned by user root, group root and has to be
-# writeable only by root:
-# (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
-# The busybox executable has to be owned by user root, group
-# root and has to be setuid root for this to work:
-# (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
-#
-# Robert 'sandman' Griebl has more information here:
-# <url: http://www.softforge.de/bb/suid.html >.
-
-#config BUSYBOX_FEATURE_SUID_CONFIG_QUIET
-# bool "Suppress warning message if /etc/busybox.conf is not readable"
-# default y
-# depends on BUSYBOX_FEATURE_SUID_CONFIG
-# help
-# /etc/busybox.conf should be readable by the user needing the SUID,
-# check this option to avoid users to be notified about missing
-# permissions.
-
-#config BUSYBOX_SELINUX
-# bool "Support NSA Security Enhanced Linux"
-# default n
-# help
-# Enable support for SELinux in applets ls, ps, and id. Also provide
-# the option of compiling in SELinux applets.
-#
-# If you do not have a complete SELinux userland installed, this stuff
-# will not compile. Go visit
-# http://www.nsa.gov/selinux/index.html
-# to download the necessary stuff to allow busybox to compile with
-# this option enabled. Specifially, libselinux 1.28 or better is
-# directly required by busybox. If the installation is located in a
-# non-standard directory, provide it by invoking make as follows:
-# CFLAGS=-I<libselinux-include-path> \
-# LDFLAGS=-L<libselinux-lib-path> \
-# make
-#
-# Most people will leave this set to 'N'.
-
-#config BUSYBOX_FEATURE_PREFER_APPLETS
-## bool "exec prefers applets"
-# default n
-# help
-# This is an experimental option which directs applets about to
-# call 'exec' to try and find an applicable busybox applet before
-# searching the PATH. This is typically done by exec'ing
-# /proc/self/exe.
-# This may affect shell, find -exec, xargs and similar applets.
-# They will use applets even if /bin/<applet> -> busybox link
-# is missing (or is not a link to busybox). However, this causes
-# problems in chroot jails without mounted /proc and with ps/top
-# (command name can be shown as 'exe' for applets started this way).
-
-#config BUSYBOX_BUSYBOX_EXEC_PATH
-# string "Path to BusyBox executable"
-# default "/proc/self/exe"
-# help
-# When Busybox applets need to run other busybox applets, BusyBox
-# sometimes needs to exec() itself. When the /proc filesystem is
-# mounted, /proc/self/exe always points to the currently running
-# executable. If you haven't got /proc, set this to wherever you
-# want to run BusyBox from.
+config BUSYBOX_FEATURE_SUID_CONFIG
+ bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
+ default n if FEATURE_SUID
+ depends on BUSYBOX_FEATURE_SUID
+ help
+ Allow the SUID / SGID state of an applet to be determined at runtime
+ by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
+ The format of this file is as follows:
+
+ <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
+
+ An example might help:
+
+ [SUID]
+ su = ssx root.0 # applet su can be run by anyone and runs with
+ # euid=0/egid=0
+ su = ssx # exactly the same
+
+ mount = sx- root.disk # applet mount can be run by root and members
+ # of group disk and runs with euid=0
+
+ cp = --- # disable applet cp for everyone
+
+ The file has to be owned by user root, group root and has to be
+ writeable only by root:
+ (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
+ The busybox executable has to be owned by user root, group
+ root and has to be setuid root for this to work:
+ (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
+
+ Robert 'sandman' Griebl has more information here:
+ <url: http://www.softforge.de/bb/suid.html >.
+
+config BUSYBOX_FEATURE_SUID_CONFIG_QUIET
+ bool "Suppress warning message if /etc/busybox.conf is not readable"
+ default y
+ depends on BUSYBOX_FEATURE_SUID_CONFIG
+ help
+ /etc/busybox.conf should be readable by the user needing the SUID,
+ check this option to avoid users to be notified about missing
+ permissions.
+
+config BUSYBOX_SELINUX
+ bool "Support NSA Security Enhanced Linux"
+ default n
+ help
+ Enable support for SELinux in applets ls, ps, and id. Also provide
+ the option of compiling in SELinux applets.
+
+ If you do not have a complete SELinux userland installed, this stuff
+ will not compile. Go visit
+ http://www.nsa.gov/selinux/index.html
+ to download the necessary stuff to allow busybox to compile with
+ this option enabled. Specifially, libselinux 1.28 or better is
+ directly required by busybox. If the installation is located in a
+ non-standard directory, provide it by invoking make as follows:
+ CFLAGS=-I<libselinux-include-path> \
+ LDFLAGS=-L<libselinux-lib-path> \
+ make
+
+ Most people will leave this set to 'N'.
+
+config BUSYBOX_FEATURE_PREFER_APPLETS
+ bool "exec prefers applets"
+ default n
+ help
+ This is an experimental option which directs applets about to
+ call 'exec' to try and find an applicable busybox applet before
+ searching the PATH. This is typically done by exec'ing
+ /proc/self/exe.
+ This may affect shell, find -exec, xargs and similar applets.
+ They will use applets even if /bin/<applet> -> busybox link
+ is missing (or is not a link to busybox). However, this causes
+ problems in chroot jails without mounted /proc and with ps/top
+ (command name can be shown as 'exe' for applets started this way).
+
+config BUSYBOX_BUSYBOX_EXEC_PATH
+ string "Path to BusyBox executable"
+ default "/proc/self/exe"
+ help
+ When Busybox applets need to run other busybox applets, BusyBox
+ sometimes needs to exec() itself. When the /proc filesystem is
+ mounted, /proc/self/exe always points to the currently running
+ executable. If you haven't got /proc, set this to wherever you
+ want to run BusyBox from.
# These are auto-selected by other options
@@ -287,39 +297,39 @@ config BUSYBOX_STATIC
Most people will leave this set to 'N'.
-#config BUSYBOX_PIE
-# bool "Build BusyBox as a position independent executable"
-# default n
-# depends on !BUSYBOX_STATIC
-# help
-# (TODO: what is it and why/when is it useful?)
-# Most people will leave this set to 'N'.
-#
-#config BUSYBOX_NOMMU
-# bool "Force NOMMU build"
-# default n
-# help
-# Busybox tries to detect whether architecture it is being
-# built against supports MMU or not. If this detection fails,
-# or if you want to build NOMMU version of busybox for testing,
-# you may force NOMMU build here.
-#
-# Most people will leave this set to 'N'.
+config BUSYBOX_PIE
+ bool "Build BusyBox as a position independent executable"
+ default n
+ depends on !BUSYBOX_STATIC
+ help
+ (TODO: what is it and why/when is it useful?)
+ Most people will leave this set to 'N'.
+
+config BUSYBOX_NOMMU
+ bool "Force NOMMU build"
+ default n
+ help
+ Busybox tries to detect whether architecture it is being
+ built against supports MMU or not. If this detection fails,
+ or if you want to build NOMMU version of busybox for testing,
+ you may force NOMMU build here.
+
+ Most people will leave this set to 'N'.
# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
# build system does not support that
-#config BUSYBOX_BUILD_LIBBUSYBOX
-# bool "Build shared libbusybox"
-# default n
-# depends on !BUSYBOX_FEATURE_PREFER_APPLETS && !BUSYBOX_PIE && !BUSYBOX_STATIC
-# help
-# Build a shared library libbusybox.so.N.N.N which contains all
-# busybox code.
-#
-# This feature allows every applet to be built as a tiny
-# separate executable. Enabling it for "one big busybox binary"
-# approach serves no purpose and increases code size.
-# You should almost certainly say "no" to this.
+config BUSYBOX_BUILD_LIBBUSYBOX
+ bool "Build shared libbusybox"
+ default n
+ depends on !BUSYBOX_FEATURE_PREFER_APPLETS && !BUSYBOX_PIE && !BUSYBOX_STATIC
+ help
+ Build a shared library libbusybox.so.N.N.N which contains all
+ busybox code.
+
+ This feature allows every applet to be built as a tiny
+ separate executable. Enabling it for "one big busybox binary"
+ approach serves no purpose and increases code size.
+ You should almost certainly say "no" to this.
### config FEATURE_FULL_LIBBUSYBOX
### bool "Feature-complete libbusybox"
@@ -340,32 +350,32 @@ config BUSYBOX_STATIC
###
### Say 'N' if in doubt.
-#config BUSYBOX_FEATURE_INDIVIDUAL
-# bool "Produce a binary for each applet, linked against libbusybox"
-# default y
-# depends on BUSYBOX_BUILD_LIBBUSYBOX
-# help
-# If your CPU architecture doesn't allow for sharing text/rodata
-# sections of running binaries, but allows for runtime dynamic
-# libraries, this option will allow you to reduce memory footprint
-# when you have many different applets running at once.
-#
-# If your CPU architecture allows for sharing text/rodata,
-# having single binary is more optimal.
-#
-# Each applet will be a tiny program, dynamically linked
-# against libbusybox.so.N.N.N.
-#
-# You need to have a working dynamic linker.
-
-#config BUSYBOX_FEATURE_SHARED_BUSYBOX
-# bool "Produce additional busybox binary linked against libbusybox"
-# default y
-# depends on BUSYBOX_BUILD_LIBBUSYBOX
-# help
-# Build busybox, dynamically linked against libbusybox.so.N.N.N.
-#
-# You need to have a working dynamic linker.
+config BUSYBOX_FEATURE_INDIVIDUAL
+ bool "Produce a binary for each applet, linked against libbusybox"
+ default y
+ depends on BUSYBOX_BUILD_LIBBUSYBOX
+ help
+ If your CPU architecture doesn't allow for sharing text/rodata
+ sections of running binaries, but allows for runtime dynamic
+ libraries, this option will allow you to reduce memory footprint
+ when you have many different applets running at once.
+
+ If your CPU architecture allows for sharing text/rodata,
+ having single binary is more optimal.
+
+ Each applet will be a tiny program, dynamically linked
+ against libbusybox.so.N.N.N.
+
+ You need to have a working dynamic linker.
+
+config BUSYBOX_FEATURE_SHARED_BUSYBOX
+ bool "Produce additional busybox binary linked against libbusybox"
+ default y
+ depends on BUSYBOX_BUILD_LIBBUSYBOX
+ help
+ Build busybox, dynamically linked against libbusybox.so.N.N.N.
+
+ You need to have a working dynamic linker.
### config BUILD_AT_ONCE
### bool "Compile all sources at once"
@@ -411,6 +421,12 @@ config BUSYBOX_CROSS_COMPILER_PREFIX
Native builds leave this empty.
+config BUSYBOX_EXTRA_CFLAGS
+ string "Additional CFLAGS"
+ default ""
+ help
+ Additional CFLAGS to pass to the compiler verbatim.
+
endmenu
menu 'Debugging Options'
@@ -426,25 +442,24 @@ config BUSYBOX_DEBUG
Most people should answer N.
-#config BUSYBOX_DEBUG_PESSIMIZE
-# bool "Disable compiler optimizations"
-# default n
-# depends on BUSYBOX_DEBUG
-# help
-# The compiler's optimization of source code can eliminate and reorder
-# code, resulting in an executable that's hard to understand when
-# stepping through it with a debugger. This switches it off, resulting
-# in a much bigger executable that more closely matches the source
-# code.
-
-# triggers problems on cris with __attribute__((packed))
-#config BUSYBOX_WERROR
-# bool "Abort compilation on any warning"
-# default n
-# help
-# Selecting this will add -Werror to gcc command line.
-#
-# Most people should answer N.
+config BUSYBOX_DEBUG_PESSIMIZE
+ bool "Disable compiler optimizations"
+ default n
+ depends on BUSYBOX_DEBUG
+ help
+ The compiler's optimization of source code can eliminate and reorder
+ code, resulting in an executable that's hard to understand when
+ stepping through it with a debugger. This switches it off, resulting
+ in a much bigger executable that more closely matches the source
+ code.
+
+config BUSYBOX_WERROR
+ bool "Abort compilation on any warning"
+ default n
+ help
+ Selecting this will add -Werror to gcc command line.
+
+ Most people should answer N.
choice
prompt "Additional debugging library"
@@ -488,14 +503,14 @@ config BUSYBOX_EFENCE
endchoice
-#config BUSYBOX_INCLUDE_SUSv2
-# bool "Enable obsolete features removed before SUSv3?"
-# default y
-# help
-# This option will enable backwards compatibility with SuSv2,
-# specifically, old-style numeric options ('command -1 <file>')
-# will be supported in head, tail, and fold. (Note: should
-# affect renice too.)
+config BUSYBOX_INCLUDE_SUSv2
+ bool "Enable obsolete features removed before SUSv3?"
+ default y
+ help
+ This option will enable backwards compatibility with SuSv2,
+ specifically, old-style numeric options ('command -1 <file>')
+ will be supported in head, tail, and fold. (Note: should
+ affect renice too.)
### config PARSE
### bool "Uniform config file parser debugging applet: parse"
@@ -504,12 +519,12 @@ endmenu
menu 'Installation Options'
-#config BUSYBOX_INSTALL_NO_USR
-# bool "Don't use /usr"
-# default n
-# help
-# Disable use of /usr. Don't activate this option if you don't know
-# that you really want this behaviour.
+config BUSYBOX_INSTALL_NO_USR
+ bool "Don't use /usr"
+ default n
+ help
+ Disable use of /usr. Don't activate this option if you don't know
+ that you really want this behaviour.
choice
prompt "Applets links"
@@ -599,8 +614,7 @@ source package/busybox/config/networking/Config.in
source package/busybox/config/printutils/Config.in
source package/busybox/config/mailutils/Config.in
source package/busybox/config/procps/Config.in
-# disable, gcc 4.4.0 problems
-#source package/busybox/config/runit/Config.in
+source package/busybox/config/runit/Config.in
source package/busybox/config/selinux/Config.in
source package/busybox/config/shell/Config.in
source package/busybox/config/sysklogd/Config.in
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
index 9f043927a..0140b7631 100644
--- a/package/busybox/config/archival/Config.in
+++ b/package/busybox/config/archival/Config.in
@@ -7,25 +7,25 @@ menu "Archival Utilities"
config BUSYBOX_FEATURE_SEAMLESS_LZMA
bool "Make tar, rpm, modprobe etc understand .lzma data"
- default y
+ default n
help
Make tar, rpm, modprobe etc understand .lzma data.
config BUSYBOX_FEATURE_SEAMLESS_BZ2
bool "Make tar, rpm, modprobe etc understand .bz2 data"
- default y
+ default n
help
Make tar, rpm, modprobe etc understand .bz2 data.
config BUSYBOX_FEATURE_SEAMLESS_GZ
bool "Make tar, rpm, modprobe etc understand .gz data"
- default y
+ default n
help
Make tar, rpm, modprobe etc understand .gz data.
config BUSYBOX_FEATURE_SEAMLESS_Z
bool "Make tar and gunzip understand .Z data"
- default y
+ default n
help
Make tar and gunzip understand .Z data.
@@ -53,18 +53,19 @@ config BUSYBOX_AR
probably say N here.
config BUSYBOX_FEATURE_AR_LONG_FILENAMES
- bool "Support for long filenames (not need for debs)"
+ bool "Support for long filenames (not needed for debs)"
default n
depends on BUSYBOX_AR
help
- By default the ar format can only store the first 15 characters of
- the filename, this option removes that limitation.
+ By default the ar format can only store the first 15 characters
+ of the filename, this option removes that limitation.
It supports the GNU ar long filename method which moves multiple long
filenames into a the data section of a new ar entry.
config BUSYBOX_BUNZIP2
bool "bunzip2"
- default y
+ depends on !ADK_PACKAGE_BZIP2
+ default n
help
bunzip2 is a compression utility using the Burrows-Wheeler block
sorting text compression algorithm, and Huffman coding. Compression
@@ -77,8 +78,8 @@ config BUSYBOX_BUNZIP2
config BUSYBOX_BZIP2
bool "bzip2"
- default n
depends on !ADK_PACKAGE_BZIP2
+ default n
help
bzip2 is a compression utility using the Burrows-Wheeler block
sorting text compression algorithm, and Huffman coding. Compression
@@ -91,8 +92,8 @@ config BUSYBOX_BZIP2
config BUSYBOX_CPIO
bool "cpio"
- default y if !ADK_PACKAGE_CPIO
depends on !ADK_PACKAGE_CPIO
+ default n
help
cpio is an archival utility program used to create, modify, and
extract contents from archives.
@@ -112,6 +113,13 @@ config BUSYBOX_FEATURE_CPIO_O
This implementation of cpio can create cpio archives in the "newc"
format only.
+config BUSYBOX_FEATURE_CPIO_P
+ bool "Support for passthrough mode"
+ default n
+ depends on BUSYBOX_FEATURE_CPIO_O
+ help
+ Passthrough mode. Rarely used.
+
config BUSYBOX_DPKG
bool "dpkg"
default n
@@ -155,14 +163,29 @@ config BUSYBOX_GUNZIP
config BUSYBOX_GZIP
bool "gzip"
- default y
+ default n
help
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
+config BUSYBOX_LZOP
+ bool "lzop"
+ default n
+ help
+ Lzop compression/decompresion.
+
+config BUSYBOX_LZOP_COMPR_HIGH
+ bool "lzop complession levels 7,8,9 (not very useful)"
+ default n
+ depends on BUSYBOX_LZOP
+ help
+ High levels (7,8,9) of lzop compression. These levels
+ are actually slower than gzip at equivalent compression ratios
+ and take up 3.2K of code.
+
config BUSYBOX_IPKG
bool "ipkg"
- default y
+ default n
select BUSYBOX_MD5SUM
select BUSYBOX_WGET
help
@@ -170,6 +193,7 @@ config BUSYBOX_IPKG
config BUSYBOX_RPM2CPIO
bool "rpm2cpio"
+ depends on !ADK_PACKAGE_RPM
default n
help
Converts an RPM file into a CPIO archive.
@@ -183,8 +207,8 @@ config BUSYBOX_RPM
config BUSYBOX_TAR
bool "tar"
- default y
depends on !ADK_PACKAGE_TAR
+ default y
help
tar is an archiving program. It's commonly used with gzip to
create compressed archives. It's probably the most widely used
@@ -201,11 +225,11 @@ config BUSYBOX_FEATURE_TAR_CREATE
tar archives using the `-c' option.
config BUSYBOX_FEATURE_TAR_AUTODETECT
- bool "Autodetect gz/bz2 compressed tarballs"
+ bool "Autodetect compressed tarballs"
default n
depends on BUSYBOX_FEATURE_SEAMLESS_Z || BUSYBOX_FEATURE_SEAMLESS_GZ || BUSYBOX_FEATURE_SEAMLESS_BZ2 || BUSYBOX_FEATURE_SEAMLESS_LZMA
help
- With this option tar can automatically detect gzip/bzip2 compressed
+ With this option tar can automatically detect compressed
tarballs. Currently it works only on files (not pipes etc).
config BUSYBOX_FEATURE_TAR_FROM
@@ -246,7 +270,7 @@ config BUSYBOX_FEATURE_TAR_GNU_EXTENSIONS
config BUSYBOX_FEATURE_TAR_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_TAR && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_TAR && BUSYBOX_LONG_OPTS
help
Enable use of long options, increases size by about 400 Bytes
@@ -293,7 +317,7 @@ config BUSYBOX_FEATURE_LZMA_FAST
config BUSYBOX_UNZIP
bool "unzip"
- default y
+ default n
help
unzip will list or extract files from a ZIP archive,
commonly found on DOS/WIN systems. The default behavior
diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in
index 3f5a98c84..671cc32a2 100644
--- a/package/busybox/config/console-tools/Config.in
+++ b/package/busybox/config/console-tools/Config.in
@@ -91,7 +91,7 @@ config BUSYBOX_SETCONSOLE
config BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_SETCONSOLE && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_SETCONSOLE && BUSYBOX_LONG_OPTS
help
Support long options for the setconsole applet.
diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in
index 697bec0ea..50c449acc 100644
--- a/package/busybox/config/coreutils/Config.in
+++ b/package/busybox/config/coreutils/Config.in
@@ -61,13 +61,13 @@ config BUSYBOX_CHROOT
config BUSYBOX_CKSUM
bool "cksum"
- default y
+ default n
help
cksum is used to calculate the CRC32 checksum of a file.
config BUSYBOX_COMM
bool "comm"
- default y
+ default n
help
comm is used to compare two files line by line and return
a three-column output.
@@ -123,7 +123,7 @@ config BUSYBOX_FEATURE_DD_SIGNAL_HANDLING
config BUSYBOX_FEATURE_DD_IBS_OBS
bool "Enable ibs, obs and conv options"
- default y
+ default n
depends on BUSYBOX_DD
help
Enables support for writing a certain number of bytes in and out,
@@ -138,7 +138,7 @@ config BUSYBOX_DF
config BUSYBOX_FEATURE_DF_FANCY
bool "Enable -a, -i, -B"
- default y
+ default n
depends on BUSYBOX_DF
help
This option enables -a, -i and -B.
@@ -152,7 +152,7 @@ config BUSYBOX_DIRNAME
config BUSYBOX_DOS2UNIX
bool "dos2unix/unix2dos"
- default y
+ default n
help
dos2unix is used to convert a text file from DOS format to
UNIX format, and vice versa.
@@ -189,7 +189,7 @@ config BUSYBOX_ECHO
config BUSYBOX_FEATURE_FANCY_ECHO
bool "Enable echo options (-n and -e)"
default y
- depends on BUSYBOX_ECHO || BUSYBOX_ASH_BUILTIN_ECHO
+ depends on BUSYBOX_ECHO || BUSYBOX_ASH_BUILTIN_ECHO || BUSYBOX_HUSH
help
This adds options (-n and -e) to echo.
@@ -204,7 +204,7 @@ config BUSYBOX_ENV
config BUSYBOX_FEATURE_ENV_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_ENV && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_ENV && BUSYBOX_LONG_OPTS
help
Support long options for the env applet.
@@ -217,13 +217,13 @@ config BUSYBOX_EXPAND
config BUSYBOX_FEATURE_EXPAND_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_EXPAND && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_EXPAND && BUSYBOX_LONG_OPTS
help
Support long options for the expand applet.
config BUSYBOX_EXPR
bool "expr"
- default y
+ default n
help
expr is used to calculate numbers and print the result
to standard output.
@@ -239,7 +239,7 @@ config BUSYBOX_EXPR_MATH_SUPPORT_64
config BUSYBOX_FALSE
bool "false"
- default y
+ default n
help
false returns an exit code of FALSE (1).
@@ -249,6 +249,12 @@ config BUSYBOX_FOLD
help
Wrap text to fit a specific width.
+config BUSYBOX_FSYNC
+ bool "fsync"
+ default n
+ help
+ fsync is used to flush file-related cached blocks to disk.
+
config BUSYBOX_HEAD
bool "head"
default y
@@ -258,7 +264,7 @@ config BUSYBOX_HEAD
config BUSYBOX_FEATURE_FANCY_HEAD
bool "Enable head options (-c, -q, and -v)"
- default y
+ default n
depends on BUSYBOX_HEAD
help
This enables the head options (-c, -q, and -v).
@@ -278,14 +284,14 @@ config BUSYBOX_ID
config BUSYBOX_INSTALL
bool "install"
- default y
+ default n
help
Copy files and set attributes.
config BUSYBOX_FEATURE_INSTALL_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_INSTALL && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_INSTALL && BUSYBOX_LONG_OPTS
help
Support long options for the install applet.
@@ -358,7 +364,7 @@ config BUSYBOX_FEATURE_LS_USERNAME
config BUSYBOX_FEATURE_LS_COLOR
bool "Allow use of color to identify file types"
default n
- depends on BUSYBOX_LS && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_LS && BUSYBOX_LONG_OPTS
help
This enables the --color option to ls.
@@ -388,7 +394,7 @@ config BUSYBOX_MKDIR
config BUSYBOX_FEATURE_MKDIR_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_MKDIR && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_MKDIR && BUSYBOX_LONG_OPTS
help
Support long options for the mkdir applet.
@@ -415,19 +421,19 @@ config BUSYBOX_MV
config BUSYBOX_FEATURE_MV_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_MV && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_MV && BUSYBOX_LONG_OPTS
help
Support long options for the mv applet.
config BUSYBOX_NICE
bool "nice"
- default y
+ default n
help
nice runs a program with modified scheduling priority.
config BUSYBOX_NOHUP
bool "nohup"
- default y
+ default n
help
run a command immune to hangups, with output to a non-tty.
@@ -465,7 +471,7 @@ config BUSYBOX_READLINK
config BUSYBOX_FEATURE_READLINK_FOLLOW
bool "Enable canonicalization by following all symlinks (-f)"
- default y
+ default n
depends on BUSYBOX_READLINK
help
Enable the readlink option (-f).
@@ -485,30 +491,42 @@ config BUSYBOX_RM
config BUSYBOX_RMDIR
bool "rmdir"
- default y
+ default n
help
rmdir is used to remove empty directories.
config BUSYBOX_FEATURE_RMDIR_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_RMDIR && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_RMDIR && BUSYBOX_LONG_OPTS
help
Support long options for the rmdir applet, including
--ignore-fail-on-non-empty for compatibility with GNU rmdir.
config BUSYBOX_SEQ
bool "seq"
- default y
+ default n
help
print a sequence of numbers
config BUSYBOX_SHA1SUM
bool "sha1sum"
- default y
+ default n
help
Compute and check SHA1 message digest
+config BUSYBOX_SHA256SUM
+ bool "sha256sum"
+ default n
+ help
+ Compute and check SHA256 message digest
+
+config BUSYBOX_SHA512SUM
+ bool "sha512sum"
+ default n
+ help
+ Compute and check SHA512 message digest
+
config BUSYBOX_SLEEP
bool "sleep"
default y
@@ -545,7 +563,7 @@ config BUSYBOX_SORT
config BUSYBOX_FEATURE_SORT_BIG
bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)"
- default n
+ default y
depends on BUSYBOX_SORT
help
Without this, sort only supports -r, -u, and an integer version
@@ -557,7 +575,7 @@ config BUSYBOX_FEATURE_SORT_BIG
config BUSYBOX_SPLIT
bool "split"
- default y
+ default n
help
split a file into pieces.
@@ -587,7 +605,7 @@ config BUSYBOX_FEATURE_STAT_FORMAT
config BUSYBOX_STTY
bool "stty"
- default y
+ default n
help
stty is used to change and print terminal line settings.
@@ -617,8 +635,8 @@ config BUSYBOX_TAIL
from files.
config BUSYBOX_FEATURE_FANCY_TAIL
- bool "Enable extra tail options (-q, -s, and -v)"
- default n
+ bool "Enable extra tail options (-q, -s, -v, and -F)"
+ default y
depends on BUSYBOX_TAIL
help
The options (-q, -s, and -v) are provided by GNU tail, but
@@ -626,7 +644,7 @@ config BUSYBOX_FEATURE_FANCY_TAIL
config BUSYBOX_TEE
bool "tee"
- default y
+ default n
help
tee is used to read from standard input and write
to standard output and files.
@@ -649,7 +667,7 @@ config BUSYBOX_TEST
config BUSYBOX_FEATURE_TEST_64
bool "Extend test to 64 bit"
default n
- depends on BUSYBOX_TEST || BUSYBOX_ASH_BUILTIN_TEST
+ depends on BUSYBOX_TEST || BUSYBOX_ASH_BUILTIN_TEST || BUSYBOX_HUSH
help
Enable 64-bit support in test.
@@ -669,7 +687,7 @@ config BUSYBOX_TR
config BUSYBOX_FEATURE_TR_CLASSES
bool "Enable character classes (such as [:upper:])"
- default y
+ default n
depends on BUSYBOX_TR
help
Enable character classes, enabling commands such as:
@@ -688,7 +706,7 @@ config BUSYBOX_FEATURE_TR_EQUIV
config BUSYBOX_TRUE
bool "true"
- default y
+ default n
help
true returns an exit code of TRUE (0).
@@ -714,7 +732,7 @@ config BUSYBOX_UNEXPAND
config BUSYBOX_FEATURE_UNEXPAND_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_UNEXPAND && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_UNEXPAND && BUSYBOX_LONG_OPTS
help
Support long options for the unexpand applet.
@@ -754,11 +772,11 @@ config BUSYBOX_FEATURE_WC_LARGE
default n
depends on BUSYBOX_WC
help
- Use "unsigned long long" in wc for count variables.
+ Use "unsigned long long" in wc for counter variables.
config BUSYBOX_WHO
bool "who"
- default y
+ default n
select BUSYBOX_FEATURE_UTMP
help
who is used to show who is logged on.
@@ -772,7 +790,7 @@ config BUSYBOX_WHOAMI
config BUSYBOX_YES
bool "yes"
- default y
+ default n
help
yes is used to repeatedly output a specific string, or
the default string `y'.
@@ -816,7 +834,7 @@ comment "Common options for md5sum, sha1sum"
config BUSYBOX_FEATURE_MD5_SHA1_SUM_CHECK
bool "Enable -c, -s and -w options"
- default y
+ default n
depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM
help
Enabling the -c options allows files to be checked
diff --git a/package/busybox/config/debianutils/Config.in b/package/busybox/config/debianutils/Config.in
index 218422312..4134957f8 100644
--- a/package/busybox/config/debianutils/Config.in
+++ b/package/busybox/config/debianutils/Config.in
@@ -7,7 +7,7 @@ menu "Debian Utilities"
config BUSYBOX_MKTEMP
bool "mktemp"
- default y
+ default n
help
mktemp is used to create unique temporary files
@@ -19,7 +19,7 @@ config BUSYBOX_PIPE_PROGRESS
config BUSYBOX_RUN_PARTS
bool "run-parts"
- default y
+ default n
help
run-parts is a utility designed to run all the scripts in a directory.
@@ -35,7 +35,7 @@ config BUSYBOX_RUN_PARTS
config BUSYBOX_FEATURE_RUN_PARTS_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_RUN_PARTS && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_RUN_PARTS && BUSYBOX_LONG_OPTS
help
Support long options for the run-parts applet.
@@ -69,13 +69,13 @@ config BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY
config BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_START_STOP_DAEMON && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_START_STOP_DAEMON && BUSYBOX_LONG_OPTS
help
Support long options for the start-stop-daemon applet.
config BUSYBOX_WHICH
bool "which"
- default y
+ default n
help
which is used to find programs in your PATH and
print out their pathnames.
diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in
index 0d598af4c..2d04fe99b 100644
--- a/package/busybox/config/editors/Config.in
+++ b/package/busybox/config/editors/Config.in
@@ -14,7 +14,7 @@ config BUSYBOX_AWK
config BUSYBOX_FEATURE_AWK_LIBM
bool "Enable math functions (requires libm)"
- default y
+ default n
depends on BUSYBOX_AWK
help
Enable math functions of the Awk programming language.
@@ -22,15 +22,15 @@ config BUSYBOX_FEATURE_AWK_LIBM
config BUSYBOX_CMP
bool "cmp"
- default y
+ default n
help
cmp is used to compare two files and returns the result
to standard output.
config BUSYBOX_DIFF
bool "diff"
- default y
depends on !ADK_PACKAGE_DIFFUTILS
+ default n
help
diff compares two files or directories and outputs the
differences between them in a form that can be given to
@@ -70,12 +70,14 @@ config BUSYBOX_ED
config BUSYBOX_PATCH
bool "patch"
+ depends on !ADK_PACKAGE_PATCH
default n
help
Apply a unified diff formatted patch.
config BUSYBOX_SED
bool "sed"
+ depends on !ADK_PACKAGE_SED
default y
help
sed is used to perform text transformations on a file
@@ -83,6 +85,7 @@ config BUSYBOX_SED
config BUSYBOX_VI
bool "vi"
+ depends on !ADK_PACKAGE_VIM
default y
help
'vi' is a text editor. More specifically, it is the One True
diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in
index 6e428c887..695c55759 100644
--- a/package/busybox/config/findutils/Config.in
+++ b/package/busybox/config/findutils/Config.in
@@ -12,17 +12,17 @@ config BUSYBOX_FIND
find is used to search your system to find specified files.
config BUSYBOX_FEATURE_FIND_PRINT0
- bool "Enable -print0 option"
+ bool "Enable -print0: NUL-terminated output"
default y
depends on BUSYBOX_FIND
help
- Causes output names to be separated by a null character
+ Causes output names to be separated by a NUL character
rather than a newline. This allows names that contain
newlines and other whitespace to be more easily
interpreted by other programs.
config BUSYBOX_FEATURE_FIND_MTIME
- bool "Enable modified time matching (-mtime option)"
+ bool "Enable -mtime: modified time matching"
default y
depends on BUSYBOX_FIND
help
@@ -30,7 +30,7 @@ config BUSYBOX_FEATURE_FIND_MTIME
files, in days.
config BUSYBOX_FEATURE_FIND_MMIN
- bool "Enable modified time matching (-mmin option)"
+ bool "Enable -mmin: modified time matching by minutes"
default y
depends on BUSYBOX_FIND
help
@@ -38,14 +38,14 @@ config BUSYBOX_FEATURE_FIND_MMIN
files, in minutes.
config BUSYBOX_FEATURE_FIND_PERM
- bool "Enable permissions matching (-perm option)"
+ bool "Enable -perm: permissions matching"
default y
depends on BUSYBOX_FIND
help
Enable searching based on file permissions.
config BUSYBOX_FEATURE_FIND_TYPE
- bool "Enable filetype matching (-type option)"
+ bool "Enable -type: file type matching (file/dir/link/...)"
default y
depends on BUSYBOX_FIND
help
@@ -53,21 +53,21 @@ config BUSYBOX_FEATURE_FIND_TYPE
directory, socket, device, etc.).
config BUSYBOX_FEATURE_FIND_XDEV
- bool "Enable 'stay in filesystem' option (-xdev)"
+ bool "Enable -xdev: 'stay in filesystem'"
default y
depends on BUSYBOX_FIND
help
This option allows find to restrict searches to a single filesystem.
config BUSYBOX_FEATURE_FIND_MAXDEPTH
- bool "Enable -maxdepth N option"
+ bool "Enable -maxdepth N"
default y
depends on BUSYBOX_FIND
help
This option enables -maxdepth N option.
config BUSYBOX_FEATURE_FIND_NEWER
- bool "Enable -newer option for comparing file mtimes"
+ bool "Enable -newer: compare file modification times"
default y
depends on BUSYBOX_FIND
help
@@ -75,14 +75,22 @@ config BUSYBOX_FEATURE_FIND_NEWER
a modified time that is more recent than the specified FILE.
config BUSYBOX_FEATURE_FIND_INUM
- bool "Enable inode number matching (-inum option)"
+ bool "Enable -inum: inode number matching"
default y
depends on BUSYBOX_FIND
help
Support the 'find -inum' option for searching by inode number.
+config BUSYBOX_FEATURE_FIND_EMPTY
+ bool "Enable -empty option matching empty files and directories"
+ default y
+ depends on BUSYBOX_FIND
+ help
+ Support the 'find -empty' option for searching empty files
+ and directories.
+
config BUSYBOX_FEATURE_FIND_EXEC
- bool "Enable -exec option allowing execution of commands"
+ bool "Enable -exec: execute commands"
default y
depends on BUSYBOX_FIND
help
@@ -90,14 +98,14 @@ config BUSYBOX_FEATURE_FIND_EXEC
the files matched.
config BUSYBOX_FEATURE_FIND_USER
- bool "Enable username/uid matching (-user option)"
+ bool "Enable -user: username/uid matching"
default y
depends on BUSYBOX_FIND
help
Support the 'find -user' option for searching by username or uid.
config BUSYBOX_FEATURE_FIND_GROUP
- bool "Enable group/gid matching (-group option)"
+ bool "Enable -group: group/gid matching"
default y
depends on BUSYBOX_FIND
help
@@ -113,7 +121,7 @@ config BUSYBOX_FEATURE_FIND_NOT
the non-POSIX notation '-not'.
config BUSYBOX_FEATURE_FIND_DEPTH
- bool "Enable the -depth option"
+ bool "Enable -depth"
default y
depends on BUSYBOX_FIND
help
@@ -127,30 +135,22 @@ config BUSYBOX_FEATURE_FIND_PAREN
Enable usage of parens '(' to specify logical order of arguments.
config BUSYBOX_FEATURE_FIND_SIZE
- bool "Enable -size option allowing matching for file size"
+ bool "Enable -size: file size matching"
default y
depends on BUSYBOX_FIND
help
Support the 'find -size' option for searching by file size.
config BUSYBOX_FEATURE_FIND_PRUNE
- bool "Enable -prune option allowing to exclude subdirectories"
+ bool "Enable -prune: exclude subdirectories"
default y
depends on BUSYBOX_FIND
help
If the file is a directory, dont descend into it. Useful for
exclusion .svn and CVS directories.
-config BUSYBOX_FEATURE_FIND_EMPTY
- bool "Enable -empty option matching empty files and directories"
- default y
- depends on BUSYBOX_FIND
- help
- Support the 'find -empty' option for searching empty files
- and directories.
-
config BUSYBOX_FEATURE_FIND_DELETE
- bool "Enable -delete option allowing to delete files"
+ bool "Enable -delete: delete files/dirs"
default y
depends on BUSYBOX_FIND && BUSYBOX_FEATURE_FIND_DEPTH
help
@@ -159,21 +159,21 @@ config BUSYBOX_FEATURE_FIND_DELETE
try to protect the user from doing stupid things. Use with care.
config BUSYBOX_FEATURE_FIND_PATH
- bool "Enable -path option allowing to match pathname patterns"
+ bool "Enable -path: match pathname with shell pattern"
default y
depends on BUSYBOX_FIND
help
The -path option matches whole pathname instead of just filename.
config BUSYBOX_FEATURE_FIND_REGEX
- bool "Enable -regex: match pathname to regex"
+ bool "Enable -regex: match pathname with regex"
default y
depends on BUSYBOX_FIND
help
The -regex option matches whole pathname against regular expression.
config BUSYBOX_FEATURE_FIND_CONTEXT
- bool "Enable -context option for matching security context"
+ bool "Enable -context: security context matching"
default n
depends on BUSYBOX_FIND && BUSYBOX_SELINUX
help
@@ -186,7 +186,7 @@ config BUSYBOX_GREP
grep is used to search files for a specified pattern.
config BUSYBOX_FEATURE_GREP_EGREP_ALIAS
- bool "Support extended regular expressions (egrep & grep -E)"
+ bool "Enable extended regular expressions (egrep & grep -E)"
default y
depends on BUSYBOX_GREP
help
@@ -201,7 +201,7 @@ config BUSYBOX_FEATURE_GREP_FGREP_ALIAS
help
fgrep sees the search pattern as a normal string rather than
regular expressions.
- grep -F is always builtin, this just creates the fgrep alias.
+ grep -F always works, this just creates the fgrep alias.
config BUSYBOX_FEATURE_GREP_CONTEXT
bool "Enable before and after context flags (-A, -B and -C)"
@@ -214,42 +214,41 @@ config BUSYBOX_FEATURE_GREP_CONTEXT
config BUSYBOX_XARGS
bool "xargs"
- default y
+ default n
help
- xargs is used to execute a specified command on
+ xargs is used to execute a specified command for
every item from standard input.
config BUSYBOX_FEATURE_XARGS_SUPPORT_CONFIRMATION
- bool "Enable prompt and confirmation option -p"
+ bool "Enable -p: prompt and confirmation"
default n
depends on BUSYBOX_XARGS
help
- Support prompt the user about whether to run each command
+ Support -p: prompt the user whether to run each command
line and read a line from the terminal.
config BUSYBOX_FEATURE_XARGS_SUPPORT_QUOTES
- bool "Enable support single and double quotes and backslash"
+ bool "Enable single and double quotes and backslash"
default n
depends on BUSYBOX_XARGS
help
- Default xargs unsupport single and double quotes
- and backslash for can use aruments with spaces.
+ Support quoting in the input.
config BUSYBOX_FEATURE_XARGS_SUPPORT_TERMOPT
- bool "Enable support options -x"
+ bool "Enable -x: exit if -s or -n is exceeded"
default n
depends on BUSYBOX_XARGS
help
- Enable support exit if the size (see the -s or -n option)
+ Support -x: exit if the command size (see the -s or -n option)
is exceeded.
config BUSYBOX_FEATURE_XARGS_SUPPORT_ZERO_TERM
- bool "Enable null terminated option -0"
+ bool "Enable -0: NUL-terminated input"
default n
depends on BUSYBOX_XARGS
help
- Enable input filenames are terminated by a null character
- instead of by whitespace, and the quotes and backslash
+ Support -0: input items are terminated by a NUL character
+ instead of whitespace, and the quotes and backslash
are not special.
endmenu
diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in
index ddd49ea1b..bb2d0aa32 100644
--- a/package/busybox/config/init/Config.in
+++ b/package/busybox/config/init/Config.in
@@ -32,11 +32,12 @@ config BUSYBOX_FEATURE_KILL_DELAY
int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
range 0 1024
default 0
+ depends on BUSYBOX_FEATURE_KILL_REMOVED
help
With nonzero setting, init sends TERM, forks, child waits N
seconds, sends KILL and exits. Setting it too high is unwise
- (child will hang around for too long and can actually kill
- wrong process!)
+ (child will hang around for too long and could actually kill
+ the wrong process!)
config BUSYBOX_FEATURE_INIT_SCTTY
bool "Run commands with leading dash with controlling tty"
@@ -55,12 +56,12 @@ config BUSYBOX_FEATURE_INIT_SCTTY
config BUSYBOX_FEATURE_INIT_SYSLOG
bool "Enable init to write to syslog"
- default y
+ default n
depends on BUSYBOX_INIT
config BUSYBOX_FEATURE_EXTRA_QUIET
bool "Be _extra_ quiet on boot"
- default n
+ default y
depends on BUSYBOX_INIT
help
Prevent init from logging some messages to the console during boot.
@@ -75,17 +76,16 @@ config BUSYBOX_FEATURE_INIT_COREDUMPS
core file sizes. If this option is disabled, processes
will not generate any core files.
-# you should never need this, breaks allconfig images
-#config BUSYBOX_FEATURE_INITRD
-# bool "Support running init from within an initrd (not initramfs)"
-# default n
-# depends on BUSYBOX_INIT
-# help
-# Legacy support for running init under the old-style initrd. Allows
-# the name linuxrc to act as init, and it doesn't assume init is PID 1.
-#
-# This does not apply to initramfs, which runs /init as PID 1 and
-# requires no special support.
+config BUSYBOX_FEATURE_INITRD
+ bool "Support running init from within an initrd (not initramfs)"
+ default n
+ depends on BUSYBOX_INIT
+ help
+ Legacy support for running init under the old-style initrd. Allows
+ the name linuxrc to act as init, and it doesn't assume init is PID 1.
+
+ This does not apply to initramfs, which runs /init as PID 1 and
+ requires no special support.
config BUSYBOX_HALT
bool "poweroff, halt, and reboot"
@@ -93,6 +93,26 @@ config BUSYBOX_HALT
help
Stop all processes and either halt, reboot, or power off the system.
+config BUSYBOX_FEATURE_CALL_TELINIT
+ bool "Call telinit on shutdown and reboot"
+ default n
+ depends on BUSYBOX_HALT && !BUSYBOX_INIT
+ help
+ Call an external program (normally telinit) to facilitate
+ a switch to a proper runlevel.
+
+ This option is only available if you selected halt and friends,
+ but did not select init.
+
+config BUSYBOX_TELINIT_PATH
+ string "Path to telinit executable"
+ default "/sbin/telinit"
+ depends on BUSYBOX_FEATURE_CALL_TELINIT
+ help
+ When busybox halt and friends have to call external telinit
+ to facilitate proper shutdown, this path is to be used when
+ locating telinit executable.
+
config BUSYBOX_MESG
bool "mesg"
default n
diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in
index db139538e..708839b4c 100644
--- a/package/busybox/config/libbb/Config.in
+++ b/package/busybox/config/libbb/Config.in
@@ -13,7 +13,7 @@ config BUSYBOX_PASSWORD_MINLEN
Minimum allowable password length.
config BUSYBOX_MD5_SIZE_VS_SPEED
- int "MD5: Trade Bytes for Speed"
+ int "MD5: Trade bytes for speed (0:fast, 3:slow)"
default 2
range 0 3
help
@@ -68,7 +68,7 @@ config BUSYBOX_FEATURE_EDITING_VI
config BUSYBOX_FEATURE_EDITING_HISTORY
int "History size"
range 0 99999
- default 15
+ default 64
depends on BUSYBOX_FEATURE_EDITING
help
Specify command history size.
@@ -102,6 +102,28 @@ config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
Setting this option allows for prompts to use things like \w and
\$ and escape codes.
+config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
+ bool "Query cursor position from terminal"
+ default n
+ depends on BUSYBOX_FEATURE_EDITING
+ help
+ Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
+ current cursor position. This information is used to make line
+ editing more robust in some cases.
+ If you are not sure whether your terminals respond to this code
+ correctly, or want to save on code size (about 300 bytes),
+ then do not turn this option on.
+
+config BUSYBOX_FEATURE_NON_POSIX_CP
+ bool "Non-POSIX, but safer, copying to special nodes"
+ default y
+ help
+ With this option, "cp file symlink" will delete symlink
+ and create a regular file. This does not conform to POSIX,
+ but prevents a symlink attack.
+ Similarly, "cp file device" will not send file's data
+ to the device.
+
config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
bool "Give more precise messages when copy fails (cp, mv etc)"
default n
@@ -151,4 +173,5 @@ config BUSYBOX_FEATURE_HWIB
help
Support for printing infiniband addresses in
network applets.
+
endmenu
diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in
index 35f89670d..174f192a2 100644
--- a/package/busybox/config/loginutils/Config.in
+++ b/package/busybox/config/loginutils/Config.in
@@ -58,7 +58,7 @@ config BUSYBOX_USE_BB_SHADOW
password servers and whatnot.
config BUSYBOX_USE_BB_CRYPT
- bool "Use internal DES and MD5 crypt functions"
+ bool "Use internal crypt functions"
default y
help
Busybox has internal DES and MD5 crypt functions.
@@ -79,12 +79,31 @@ config BUSYBOX_USE_BB_CRYPT
In static build, it makes code _smaller_ by about 1.2k,
and likely many kilobytes less of bss.
+config BUSYBOX_USE_BB_CRYPT_SHA
+ bool "Enable SHA256/512 crypt functions"
+ default n
+ depends on BUSYBOX_USE_BB_CRYPT
+ help
+ Enable this if you have passwords starting with "$5$" or "$6$"
+ in your /etc/passwd or /etc/shadow files. These passwords
+ are hashed using SHA256 and SHA512 algorithms. Support for them
+ was added to glibc in 2008.
+ With this option off, login will fail password check for any
+ user which has password encrypted with these algorithms.
+
config BUSYBOX_ADDGROUP
bool "addgroup"
default y
help
Utility for creating a new group account.
+config BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS
+ bool "Enable long options"
+ default n
+ depends on BUSYBOX_ADDGROUP && BUSYBOX_LONG_OPTS
+ help
+ Support long options for the addgroup applet.
+
config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
bool "Support for adding users to groups"
default n
@@ -129,10 +148,26 @@ config BUSYBOX_ADDUSER
config BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_ADDUSER && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_ADDUSER && BUSYBOX_LONG_OPTS
help
Support long options for the adduser applet.
+config BUSYBOX_FIRST_SYSTEM_ID
+ int "First valid system uid or gid for adduser and addgroup"
+ depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
+ range 0 64900
+ default 100
+ help
+ First valid system uid or gid for adduser and addgroup
+
+config BUSYBOX_LAST_SYSTEM_ID
+ int "Last valid system uid or gid for adduser and addgroup"
+ depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
+ range 0 64900
+ default 999
+ help
+ Last valid system uid or gid for adduser and addgroup
+
config BUSYBOX_DELUSER
bool "deluser"
default y
@@ -149,14 +184,14 @@ config BUSYBOX_GETTY
config BUSYBOX_FEATURE_UTMP
bool "Support utmp file"
depends on BUSYBOX_GETTY || BUSYBOX_LOGIN || BUSYBOX_SU || BUSYBOX_WHO
- default y
+ default n
help
The file /var/run/utmp is used to track who is currently logged in.
config BUSYBOX_FEATURE_WTMP
bool "Support wtmp file"
depends on BUSYBOX_GETTY || BUSYBOX_LOGIN || BUSYBOX_SU || BUSYBOX_LAST
- default y
+ default n
select BUSYBOX_FEATURE_UTMP
help
The file /var/run/wtmp is used to track when user's have logged into
@@ -173,12 +208,12 @@ config BUSYBOX_LOGIN
Note that Busybox binary must be setuid root for this applet to
work properly.
-#config BUSYBOX_PAM
-# bool "Support for PAM (Pluggable Authentication Modules)"
-# default n
-# depends on BUSYBOX_LOGIN
-# help
-# Use PAM in login(1) instead of direct access to password database.
+config BUSYBOX_PAM
+ bool "Support for PAM (Pluggable Authentication Modules)"
+ default n
+ depends on BUSYBOX_LOGIN
+ help
+ Use PAM in login(1) instead of direct access to password database.
config BUSYBOX_LOGIN_SCRIPTS
bool "Support for login scripts"
@@ -221,7 +256,7 @@ config BUSYBOX_PASSWD
config BUSYBOX_FEATURE_PASSWD_WEAK_CHECK
bool "Check new passwords for weakness"
- default y
+ default n
depends on BUSYBOX_PASSWD
help
With this option passwd will refuse new passwords which are "weak".
@@ -230,15 +265,16 @@ config BUSYBOX_CRYPTPW
bool "cryptpw"
default n
help
- Applet for crypting a string.
+ Encrypts the given password with the crypt(3) libc function
+ using the given salt. Debian has this utility under mkpasswd
+ name. Busybox provides mkpasswd as an alias for cryptpw.
config BUSYBOX_CHPASSWD
bool "chpasswd"
default n
help
- chpasswd reads a file of user name and password pairs from
- standard input and uses this information to update a group of
- existing users.
+ Reads a file of user name and password pairs from standard input
+ and uses this information to update a group of existing users.
config BUSYBOX_SU
bool "su"
diff --git a/package/busybox/config/mailutils/Config.in b/package/busybox/config/mailutils/Config.in
index 3dc52ed14..dfcc2b57d 100644
--- a/package/busybox/config/mailutils/Config.in
+++ b/package/busybox/config/mailutils/Config.in
@@ -50,20 +50,4 @@ config BUSYBOX_SENDMAIL
help
Barebones sendmail.
-config BUSYBOX_FEATURE_SENDMAIL_MAILX
- bool "Allow to specify subject, attachments, their charset etc"
- default y
- depends on BUSYBOX_SENDMAIL
- help
- Allow to specify subject, attachments and their charset.
- Allow to use custom connection helper.
-
-config BUSYBOX_FEATURE_SENDMAIL_MAILXX
- bool "Allow to specify Cc: addresses and some additional headers"
- default n
- depends on BUSYBOX_FEATURE_SENDMAIL_MAILX
- help
- Allow to specify Cc: addresses and some additional headers:
- Errors-To:
-
endmenu
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index d5912c6d6..eeb0d6d34 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -19,6 +19,28 @@ config BUSYBOX_BBCONFIG
The bbconfig applet will print the config file with which
busybox was built.
+config BUSYBOX_BEEP
+ bool "beep"
+ default n
+ help
+ The beep applets beeps in a given freq/Hz.
+
+config BUSYBOX_FEATURE_BEEP_FREQ
+ int "default frequency"
+ range 0 2147483647
+ default 4000
+ depends on BUSYBOX_BEEP
+ help
+ Frequency for default beep.
+
+config BUSYBOX_FEATURE_BEEP_LENGTH_MS
+ int "default length"
+ range 0 2147483647
+ default 30
+ depends on BUSYBOX_BEEP
+ help
+ Length in ms for default beep.
+
config BUSYBOX_CHAT
bool "chat"
default n
@@ -95,7 +117,7 @@ config BUSYBOX_CHRT
config BUSYBOX_CROND
bool "crond"
- default y
+ default n
select BUSYBOX_FEATURE_SUID
select BUSYBOX_FEATURE_SYSLOG
help
@@ -121,9 +143,16 @@ config BUSYBOX_FEATURE_CROND_CALL_SENDMAIL
help
Support calling /usr/sbin/sendmail for send cmd outputs.
+config BUSYBOX_FEATURE_CROND_DIR
+ string "crond spool directory"
+ default "/var/spool/cron"
+ depends on BUSYBOX_CROND || BUSYBOX_CRONTAB
+ help
+ Location of crond spool.
+
config BUSYBOX_CRONTAB
bool "crontab"
- default y
+ default n
select BUSYBOX_FEATURE_SUID
help
Crontab manipulates the crontab for a particular user. Only
@@ -151,7 +180,10 @@ config BUSYBOX_DEVFSD
default n
select BUSYBOX_FEATURE_SYSLOG
help
- This is deprecated, and will be removed at the end of 2008.
+ This is deprecated and should NOT be used anymore.
+ Use linux >= 2.6 (optionally with hotplug) and mdev instead!
+ See docs/mdev.txt for detailed instructions on how to use mdev
+ instead.
Provides compatibility with old device names on a devfs systems.
You should set it to true if you have devfs enabled.
@@ -160,7 +192,7 @@ config BUSYBOX_DEVFSD
"PERMISSIONS", "EXECUTE", "COPY", "IGNORE",
"MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT".
- But only if they are written UPPERCASE!!!!!!!!
+ But only if they are written UPPERCASE!!!!!!!!
config BUSYBOX_DEVFSD_MODLOAD
bool "Adds support for MODLOAD keyword in devsfd.conf"
@@ -190,9 +222,11 @@ config BUSYBOX_FEATURE_DEVFS
bool "Use devfs names for all devices (obsolete)"
default n
help
- This is obsolete and will be going away at the end of 2008..
+ This is obsolete and should NOT be used anymore.
+ Use linux >= 2.6 (optionally with hotplug) and mdev instead!
- This tells busybox to look for names like /dev/loop/0 instead of
+ For legacy systems -- if there is no way around devfsd -- this
+ tells busybox to look for names like /dev/loop/0 instead of
/dev/loop0. If your /dev directory has normal names instead of
devfs names, you don't want this.
@@ -238,6 +272,34 @@ config BUSYBOX_FBSPLASH
"NN" (ASCII decimal number) - percentage to show on progress bar
"exit" - well you guessed it
+config BUSYBOX_FLASH_LOCK
+ bool "flash_lock"
+ default n
+ help
+ The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
+ utility locks part or all of the flash device.
+
+config BUSYBOX_FLASH_UNLOCK
+ bool "flash_unlock"
+ default n
+ help
+ The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
+ utility unlocks part or all of the flash device.
+
+config BUSYBOX_FLASH_ERASEALL
+ bool "flash_eraseall"
+ default n
+ help
+ The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
+ This utility is used to erase the whole MTD device.
+
+config BUSYBOX_IONICE
+ bool "ionice"
+ default n
+ help
+ Set/set program io scheduling class and priority
+ Requires kernel >= 2.6.13
+
config BUSYBOX_INOTIFYD
bool "inotifyd"
default n
@@ -273,6 +335,7 @@ endchoice
config BUSYBOX_LESS
bool "less"
default y
+ depends on !ADK_PACKAGE_LESS
help
'less' is a pager, meaning that it displays text files. It possesses
a wide array of features, and is an improvement over 'more'.
@@ -300,14 +363,6 @@ config BUSYBOX_FEATURE_LESS_FLAGS
The -M flag enables a more sophisticated status line.
The -m flag enables a simpler status line with a percentage.
-config BUSYBOX_FEATURE_LESS_DASHCMD
- bool "Enable flag changes ('-' command)"
- default n
- depends on BUSYBOX_LESS
- help
- This enables the ability to change command-line flags within
- less itself ('-' keyboard command).
-
config BUSYBOX_FEATURE_LESS_MARKS
bool "Enable marks"
default n
@@ -322,6 +377,21 @@ config BUSYBOX_FEATURE_LESS_REGEXP
help
Enable regular expressions, allowing complex file searches.
+config BUSYBOX_FEATURE_LESS_WINCH
+ bool "Enable automatic resizing on window size changes"
+ default n
+ depends on BUSYBOX_LESS
+ help
+ Makes less track window size changes.
+
+config BUSYBOX_FEATURE_LESS_DASHCMD
+ bool "Enable flag changes ('-' command)"
+ default n
+ depends on BUSYBOX_LESS
+ help
+ This enables the ability to change command-line flags within
+ less itself ('-' keyboard command).
+
config BUSYBOX_FEATURE_LESS_LINENUMS
bool "Enable dynamic switching of line numbers"
default n
@@ -329,15 +399,9 @@ config BUSYBOX_FEATURE_LESS_LINENUMS
help
Enable "-N" command.
-config BUSYBOX_FEATURE_LESS_WINCH
- bool "Enable automatic resizing on window size changes"
- default y
- depends on BUSYBOX_LESS
- help
- Makes less track window size changes.
-
config BUSYBOX_HDPARM
bool "hdparm"
+ depends on !ADK_PACKAGE_HDPARM
default n
help
Get/Set hard drive parameters. Primarily intended for ATA
@@ -388,12 +452,11 @@ config BUSYBOX_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
stuff, so you should probably say N.
config BUSYBOX_FEATURE_HDPARM_HDIO_GETSET_DMA
- bool "Get/set using_dma flag (DANGEROUS)"
+ bool "Get/set using_dma flag"
default n
depends on BUSYBOX_HDPARM
help
Enables the 'hdparm -d' option to get/set using_dma flag.
- This is dangerous stuff, so you should probably say N.
config BUSYBOX_MAKEDEVS
bool "makedevs"
@@ -505,21 +568,21 @@ config BUSYBOX_STRINGS
strings prints the printable character sequences for each file
specified.
-#config BUSYBOX_TASKSET
-# bool "taskset"
-# default n
-# help
-# Retrieve or set a processes's CPU affinity.
-# This requires sched_{g,s}etaffinity support in your libc.
-
-#config BUSYBOX_FEATURE_TASKSET_FANCY
-# bool "Fancy output"
-# default y
-# depends on BUSYBOX_TASKSET
-# help
-# Add code for fancy output. This merely silences a compiler-warning
-# and adds about 135 Bytes. May be needed for machines with alot
-# of CPUs.
+config BUSYBOX_TASKSET
+ bool "taskset"
+ default n
+ help
+ Retrieve or set a processes's CPU affinity.
+ This requires sched_{g,s}etaffinity support in your libc.
+
+config BUSYBOX_FEATURE_TASKSET_FANCY
+ bool "Fancy output"
+ default y
+ depends on BUSYBOX_TASKSET
+ help
+ Add code for fancy output. This merely silences a compiler-warning
+ and adds about 135 Bytes. May be needed for machines with alot
+ of CPUs.
config BUSYBOX_TIME
bool "time"
@@ -529,6 +592,13 @@ config BUSYBOX_TIME
When the command finishes, time writes a message to standard output
giving timing statistics about this program run.
+config BUSYBOX_TIMEOUT
+ bool "timeout"
+ default n
+ help
+ Runs a program and watches it. If it does not terminate in
+ specified number of seconds, it is sent a signal.
+
config BUSYBOX_TTYSIZE
bool "ttysize"
default n
@@ -538,8 +608,15 @@ config BUSYBOX_TTYSIZE
error, but returns default 80x24.
Usage in shell scripts: width=`ttysize w`.
+config BUSYBOX_VOLNAME
+ bool "volname"
+ default n
+ help
+ Prints a CD-ROM volume name.
+
config BUSYBOX_WATCHDOG
bool "watchdog"
+ depends on !ADK_PACKAGE_WATCHDOG
default n
help
The watchdog utility is used with hardware or software watchdog
diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in
index f168c7e30..82500e18a 100644
--- a/package/busybox/config/modutils/Config.in
+++ b/package/busybox/config/modutils/Config.in
@@ -5,20 +5,6 @@
menu "Linux Module Utilities"
-config BUSYBOX_DEFAULT_MODULES_DIR
- string "Default directory containing modules"
- default "/lib/modules"
- help
- Directory that contains kernel modules.
- Defaults to "/lib/modules"
-
-config BUSYBOX_DEFAULT_DEPMOD_FILE
- string "Default name of modules.dep"
- default "modules.dep"
- help
- Filename that contains kernel modules dependencies.
- Defaults to "modules.dep"
-
config BUSYBOX_MODPROBE_SMALL
bool "Simplified modutils"
default n
@@ -58,7 +44,6 @@ config BUSYBOX_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
depends on BUSYBOX_MODPROBE_SMALL
help
Allow insmod and modprobe take module options from command line.
- N.B. Very bloaty.
config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
bool "Skip loading of already loaded modules"
@@ -66,7 +51,6 @@ config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
depends on BUSYBOX_MODPROBE_SMALL
help
Check if the module is already loaded.
- N.B. It's racy.
config BUSYBOX_INSMOD
bool "insmod"
@@ -106,12 +90,8 @@ config BUSYBOX_MODPROBE
Handle the loading of modules, and their dependencies on a high
level.
- Note that in the state, modprobe does not understand multiple
- module options from the configuration file. See option below.
-
config BUSYBOX_FEATURE_MODPROBE_BLACKLIST
- bool
- prompt "Blacklist support"
+ bool "Blacklist support"
default n
depends on BUSYBOX_MODPROBE
help
@@ -157,7 +137,7 @@ config BUSYBOX_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
By adding module symbols to the kernel symbol table, Oops messages
occuring within kernel modules can be properly debugged. By enabling
this feature, module symbols will always be added to the kernel symbol
- table for properly debugging support. If you are not interested in
+ table for proper debugging support. If you are not interested in
Oops messages from kernel modules, say N.
config BUSYBOX_FEATURE_INSMOD_LOADINKMEM
@@ -193,7 +173,7 @@ config BUSYBOX_FEATURE_INSMOD_LOAD_MAP_FULL
config BUSYBOX_FEATURE_CHECK_TAINTED_MODULE
bool "Support tainted module checking with new kernels"
default y
- depends on !BUSYBOX_MODPROBE_SMALL
+ depends on (BUSYBOX_LSMOD || BUSYBOX_FEATURE_2_4_MODULES) && !BUSYBOX_MODPROBE_SMALL
help
Support checking for tainted modules. These are usually binary
only modules that will make the linux-kernel list ignore your
@@ -227,4 +207,20 @@ config BUSYBOX_FEATURE_MODUTILS_SYMBOLS
Say Y if unsure.
+config BUSYBOX_DEFAULT_MODULES_DIR
+ string "Default directory containing modules"
+ default "/lib/modules"
+ depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL
+ help
+ Directory that contains kernel modules.
+ Defaults to "/lib/modules"
+
+config BUSYBOX_DEFAULT_DEPMOD_FILE
+ string "Default name of modules.dep"
+ default "modules.dep"
+ depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL
+ help
+ Filename that contains kernel modules dependencies.
+ Defaults to "modules.dep"
+
endmenu
diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in
index 6b7f1b28c..797c21aea 100644
--- a/package/busybox/config/networking/Config.in
+++ b/package/busybox/config/networking/Config.in
@@ -7,13 +7,24 @@ menu "Networking Utilities"
config BUSYBOX_FEATURE_IPV6
bool "Enable IPv6 support"
- default n
+ default y
help
Enable IPv6 support in busybox.
This adds IPv6 support in the networking applets.
+config BUSYBOX_FEATURE_UNIX_LOCAL
+ bool "Enable Unix domain socket support (usually not needed)"
+ default n
+ help
+ Enable Unix domain socket support in all busybox networking
+ applets. Address of the form local:/path/to/unix/socket
+ will be recognized.
+
+ This extension is almost never used in real world usage.
+ You most likely want to say N.
+
config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS
- bool "Preferentially use IPv4 addresses from DNS queries"
+ bool "Prefer IPv4 addresses from DNS queries"
default y
depends on BUSYBOX_FEATURE_IPV6
help
@@ -43,12 +54,13 @@ config BUSYBOX_ARP
config BUSYBOX_ARPING
bool "arping"
- default y
+ default n
help
Ping hosts by ARP packets.
config BUSYBOX_BRCTL
bool "brctl"
+ depends on !ADK_PACKAGE_BRCTL
default n
help
Manage ethernet bridges.
@@ -93,6 +105,19 @@ config BUSYBOX_FAKEIDENTD
fakeidentd listens on the ident port and returns a predefined
fake value on any query.
+config BUSYBOX_FTPD
+ bool "ftpd"
+ default n
+ help
+ simple FTP daemon. You have to run it via inetd.
+
+config BUSYBOX_FEATURE_FTP_WRITE
+ bool "Enable upload commands"
+ default y
+ depends on BUSYBOX_FTPD
+ help
+ Enable all kinds of FTP upload commands (-w option)
+
config BUSYBOX_FTPGET
bool "ftpget"
default n
@@ -108,7 +133,7 @@ config BUSYBOX_FTPPUT
config BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS
bool "Enable long options in ftpget/ftpput"
default n
- depends on BUSYBOX_GETOPT_LONG && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT)
+ depends on BUSYBOX_LONG_OPTS && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT)
help
Support long options for the ftpget/ftpput applet.
@@ -141,14 +166,6 @@ config BUSYBOX_FEATURE_HTTPD_USE_SENDFILE
When enabled, httpd will use the kernel sendfile() function
instead of read/write loop.
-config BUSYBOX_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
- bool "Support reloading of global config file on HUP signal"
- default n
- depends on BUSYBOX_HTTPD
- help
- This option enables processing of SIGHUP to reload cached
- configuration settings.
-
config BUSYBOX_FEATURE_HTTPD_SETUID
bool "Enable -u <user> option"
default n
@@ -175,14 +192,6 @@ config BUSYBOX_FEATURE_HTTPD_AUTH_MD5
Enables basic per URL authentication from /etc/httpd.conf
using md5 passwords.
-config BUSYBOX_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES
- bool "Support loading additional MIME types at run-time"
- default n
- depends on BUSYBOX_HTTPD
- help
- This option enables support for additional MIME types at
- run-time to be specified in the configuration file.
-
config BUSYBOX_FEATURE_HTTPD_CGI
bool "Support Common Gateway Interface (CGI)"
default y
@@ -299,6 +308,12 @@ config BUSYBOX_IFENSLAVE
Userspace application to bind several interfaces
to a logical interface (use with kernel bonding driver).
+config BUSYBOX_IFPLUGD
+ bool "ifplugd"
+ default n
+ help
+ Network interface plug detection daemon.
+
config BUSYBOX_IFUPDOWN
bool "ifupdown"
default y
@@ -338,7 +353,6 @@ config BUSYBOX_FEATURE_IFUPDOWN_IP_BUILTIN
bool "Use busybox ip applet"
default y
depends on BUSYBOX_FEATURE_IFUPDOWN_IP
- depends on !ADK_PACKAGE_IP
select BUSYBOX_IP
select BUSYBOX_FEATURE_IP_ADDRESS
select BUSYBOX_FEATURE_IP_LINK
@@ -372,7 +386,7 @@ config BUSYBOX_FEATURE_IFUPDOWN_IPV4
config BUSYBOX_FEATURE_IFUPDOWN_IPV6
bool "Support for IPv6"
- default n
+ default y
depends on BUSYBOX_IFUPDOWN && BUSYBOX_FEATURE_IPV6
help
If you need support for IPv6, turn this option on.
@@ -456,8 +470,8 @@ config BUSYBOX_FEATURE_INETD_RPC
config BUSYBOX_IP
bool "ip"
- default y
depends on !ADK_PACKAGE_IP
+ default y
help
The "ip" applet is a TCP/IP interface configuration and routing
utility. You generally don't need "ip" to use busybox with
@@ -566,7 +580,7 @@ config BUSYBOX_FEATURE_IPCALC_FANCY
config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_IPCALC && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS
help
Support long options for the ipcalc applet.
@@ -637,7 +651,7 @@ config BUSYBOX_FEATURE_NETSTAT_WIDE
config BUSYBOX_FEATURE_NETSTAT_PRG
bool "Enable PID/Program name output"
- default y
+ default n
depends on BUSYBOX_NETSTAT
help
Add support for -p flag to print out PID and program name.
@@ -645,7 +659,7 @@ config BUSYBOX_FEATURE_NETSTAT_PRG
config BUSYBOX_NSLOOKUP
bool "nslookup"
- default y
+ default n
help
nslookup is a tool to query Internet name servers.
@@ -658,7 +672,7 @@ config BUSYBOX_PING
config BUSYBOX_PING6
bool "ping6"
- default n
+ default y
depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_PING
help
This will give you a ping that can talk IPv6.
@@ -702,7 +716,7 @@ config BUSYBOX_SLATTACH
config BUSYBOX_TELNET
bool "telnet"
- default y
+ default n
help
Telnet is an interface to the TELNET protocol, but is also commonly
used to test other simple protocols.
@@ -823,24 +837,23 @@ config BUSYBOX_FEATURE_TFTP_BLOCKSIZE
config BUSYBOX_TFTP_DEBUG
bool "Enable debug"
default n
- depends on BUSYBOX_TFTP
+ depends on BUSYBOX_TFTP || BUSYBOX_TFTPD
help
- 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
- you run into problems.
+ Make tftp[d] print debugging messages on stderr.
+ This is useful if you are diagnosing a bug in tftp[d].
config BUSYBOX_TRACEROUTE
bool "traceroute"
- default y
+ default n
help
- Utility to trace the route of IP packets
+ Utility to trace the route of IP packets.
config BUSYBOX_FEATURE_TRACEROUTE_VERBOSE
bool "Enable verbose output"
- default y
+ default n
depends on BUSYBOX_TRACEROUTE
help
- Add some verbosity to traceroute. This includes amongst other things
+ Add some verbosity to traceroute. This includes among other things
hostnames and ICMP response types.
config BUSYBOX_FEATURE_TRACEROUTE_SOURCE_ROUTE
@@ -853,13 +866,22 @@ config BUSYBOX_FEATURE_TRACEROUTE_SOURCE_ROUTE
config BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP
bool "Use ICMP instead of UDP"
- default y
+ default n
depends on BUSYBOX_TRACEROUTE
help
- Add feature to allow for ICMP ECHO instead of UDP datagrams.
+ Add option -I to use ICMP ECHO instead of UDP datagrams.
source package/busybox/config/networking/udhcp/Config.in
+config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS
+ string "ifup udhcpc command line options"
+ default "-b -R"
+ depends on BUSYBOX_IFUPDOWN && BUSYBOX_APP_UDHCPC
+ help
+ Command line options to pass to udhcpc from ifup.
+ Intended to alter options not available in /etc/network/interfaces.
+ (IE: --syslog --background etc...)
+
config BUSYBOX_VCONFIG
bool "vconfig"
default n
@@ -868,7 +890,7 @@ config BUSYBOX_VCONFIG
config BUSYBOX_WGET
bool "wget"
- default y if !ADK_PACKAGE_WGET
+ default y
depends on !ADK_PACKAGE_WGET
help
wget is a utility for non-interactive download of files from HTTP,
@@ -876,7 +898,7 @@ config BUSYBOX_WGET
config BUSYBOX_FEATURE_WGET_STATUSBAR
bool "Enable a nifty process meter (+2k)"
- default n
+ default y
depends on BUSYBOX_WGET
help
Enable the transfer progress bar for wget transfers.
@@ -891,7 +913,7 @@ config BUSYBOX_FEATURE_WGET_AUTHENTICATION
config BUSYBOX_FEATURE_WGET_LONG_OPTIONS
bool "Enable long options"
default n
- depends on BUSYBOX_WGET && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS
help
Support long options for the wget applet.
@@ -914,6 +936,20 @@ config BUSYBOX_TCPSVD
tcpsvd listens on a TCP port and runs a program for each new
connection.
+config BUSYBOX_TUNCTL
+ bool "tunctl"
+ default n
+ help
+ tunctl creates or deletes tun devices.
+
+config BUSYBOX_FEATURE_TUNCTL_UG
+ bool "Support owner:group assignment"
+ default n
+ depends on BUSYBOX_TUNCTL
+ help
+ Allow to specify owner and group of newly created interface.
+ 340 bytes of pure bloat. Say no here.
+
config BUSYBOX_UDPSVD
bool "udpsvd"
default n
diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in
index 0e507ce75..05b9ffb67 100644
--- a/package/busybox/config/networking/udhcp/Config.in
+++ b/package/busybox/config/networking/udhcp/Config.in
@@ -75,11 +75,16 @@ config BUSYBOX_FEATURE_UDHCP_PORT
This feature is typically not needed.
config BUSYBOX_UDHCP_DEBUG
- bool "Compile udhcp with noisy debugging messages"
- default n
- depends on BUSYBOX_APP_UDHCPD || BUSYBOX_APP_UDHCPC
+ int "Maximum verbosity level for udhcp applets (0..9)"
+ default 0
+ range 0 9
+ depends on BUSYBOX_APP_UDHCPD || BUSYBOX_APP_UDHCPC || BUSYBOX_APP_DHCPRELAY
help
- If selected, udhcpd will output extra debugging output.
+ Verbosity can be increased with multiple -v options.
+ This options controls how high it can be cranked up.
+
+ Bigger values result in bigger code. Levels above 1
+ are very verbose and useful for debugging only.
config BUSYBOX_FEATURE_UDHCP_RFC3397
bool "Support for RFC3397 domain search (experimental)"
diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in
index 1674c0cd7..acec4e45e 100644
--- a/package/busybox/config/procps/Config.in
+++ b/package/busybox/config/procps/Config.in
@@ -7,7 +7,7 @@ menu "Process Utilities"
config BUSYBOX_FREE
bool "free"
- default y
+ default n
help
free displays the total amount of free and used physical and swap
memory in the system, as well as the buffers used by the kernel.
@@ -15,7 +15,7 @@ config BUSYBOX_FREE
config BUSYBOX_FUSER
bool "fuser"
- default y
+ default n
help
fuser lists all PIDs (Process IDs) that currently have a given
file open. fuser can also list all PIDs that have a given network
@@ -51,7 +51,7 @@ config BUSYBOX_NMETER
config BUSYBOX_PGREP
bool "pgrep"
- default n
+ default y
help
Look for processes by name.
@@ -91,13 +91,13 @@ config BUSYBOX_PS
ps gives a snapshot of the current processes.
config BUSYBOX_FEATURE_PS_WIDE
- bool "Enable argument for wide output (-w)"
- default n
+ bool "Enable wide output option (-w)"
+ default y
depends on BUSYBOX_PS
help
Support argument 'w' for wide output.
- If given once, 132 chars are printed and given more than
- one, the length is unlimited.
+ If given once, 132 chars are printed, and if given more
+ than once, the length is unlimited.
config BUSYBOX_FEATURE_PS_TIME
bool "Enable time and elapsed time output"
@@ -106,6 +106,13 @@ config BUSYBOX_FEATURE_PS_TIME
help
Support -o time and -o etime output specifiers.
+config BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS
+ bool "Enable additional ps columns"
+ default n
+ depends on BUSYBOX_PS && BUSYBOX_DESKTOP
+ help
+ Support -o rgroup, -o ruser, -o nice output specifiers.
+
config BUSYBOX_FEATURE_PS_UNUSUAL_SYSTEMS
bool "Support Linux prior to 2.4.0 and non-ELF systems"
default n
diff --git a/package/busybox/config/selinux/Config.in b/package/busybox/config/selinux/Config.in
index ddb0247ba..41c60bd7e 100644
--- a/package/busybox/config/selinux/Config.in
+++ b/package/busybox/config/selinux/Config.in
@@ -16,7 +16,7 @@ config BUSYBOX_CHCON
config BUSYBOX_FEATURE_CHCON_LONG_OPTIONS
bool "Enable long options"
default y
- depends on BUSYBOX_CHCON && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_CHCON && BUSYBOX_LONG_OPTS
help
Support long options for the chcon applet.
@@ -67,7 +67,7 @@ config BUSYBOX_RUNCON
config BUSYBOX_FEATURE_RUNCON_LONG_OPTIONS
bool "Enable long options"
default y
- depends on BUSYBOX_RUNCON && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_RUNCON && BUSYBOX_LONG_OPTS
help
Support long options for the runcon applet.
diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in
index 459bbc62b..82718cd1a 100644
--- a/package/busybox/config/shell/Config.in
+++ b/package/busybox/config/shell/Config.in
@@ -24,9 +24,9 @@ config BUSYBOX_FEATURE_SH_IS_HUSH
#### select LASH
#### bool "lash"
-config BUSYBOX_FEATURE_SH_IS_MSH
- select BUSYBOX_MSH
- bool "msh"
+####config FEATURE_SH_IS_MSH
+#### select MSH
+#### bool "msh"
config BUSYBOX_FEATURE_SH_IS_NONE
bool "none"
@@ -43,9 +43,6 @@ config BUSYBOX_ASH
shell (by Herbert Xu), which was created by porting the 'ash' shell
(written by Kenneth Almquist) from NetBSD.
-comment "Ash Shell Options"
- depends on BUSYBOX_ASH
-
config BUSYBOX_ASH_BASH_COMPAT
bool "bash-compatible extensions"
default y
@@ -84,22 +81,6 @@ config BUSYBOX_ASH_ALIAS
help
Enable alias support in the ash shell.
-config BUSYBOX_ASH_MATH_SUPPORT
- bool "Posix math support"
- default y
- depends on BUSYBOX_ASH
- help
- Enable math support in the ash shell.
-
-config BUSYBOX_ASH_MATH_SUPPORT_64
- bool "Extend Posix math support to 64 bit"
- default n
- depends on BUSYBOX_ASH_MATH_SUPPORT
- help
- Enable 64-bit math support in the ash shell. This will make
- the shell slightly larger, but will allow computation with very
- large numbers.
-
config BUSYBOX_ASH_GETOPTS
bool "Builtin getopt to parse positional parameters"
default y
@@ -152,14 +133,14 @@ config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE
Compile ash for reduced size at the price of speed.
config BUSYBOX_ASH_RANDOM_SUPPORT
- bool "Pseudorandom generator and variable $RANDOM"
+ bool "Pseudorandom generator and $RANDOM variable"
default n
depends on BUSYBOX_ASH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
You can reset the generator by using a specified start value.
- After "unset RANDOM" then generator will switch off and this
+ After "unset RANDOM" the generator will switch off and this
variable will no longer have special treatment.
config BUSYBOX_ASH_EXPAND_PRMT
@@ -167,7 +148,7 @@ config BUSYBOX_ASH_EXPAND_PRMT
default n
depends on BUSYBOX_ASH
help
- "PS#" may be contain volatile content, such as backquote commands.
+ "PS#" may contain volatile content, such as backquote commands.
This option recreates the prompt string from the environment
variable each time it is displayed.
@@ -175,16 +156,22 @@ config BUSYBOX_HUSH
bool "hush"
default n
help
- hush is a very small shell (just 18k) and it has fairly complete
- Bourne shell grammar. It even handles all the normal flow control
- options such as if/then/elif/else/fi, for/in/do/done, while loops,
- case/esac.
+ hush is a small shell (22k). It handles the normal flow control
+ constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
+ case/esac. Redirections, here documents, $((arithmetic))
+ and functions are supported.
- It uses only vfork, so it can be used on uClinux systems.
+ It will compile and work on no-mmu systems.
- It does not handle select, functions, here documents ( <<
- word ), arithmetic expansion, aliases, brace expansion, tilde
- expansion, &> and >& redirection of stdout+stderr, etc.
+ It does not handle select, aliases, brace expansion,
+ tilde expansion, &>file and >&file redirection of stdout+stderr.
+
+config BUSYBOX_HUSH_BASH_COMPAT
+ bool "bash-compatible extensions"
+ default y
+ depends on BUSYBOX_HUSH
+ help
+ Enable bash-compatible extensions.
config BUSYBOX_HUSH_HELP
bool "help builtin"
@@ -234,7 +221,6 @@ config BUSYBOX_HUSH_LOOPS
depends on BUSYBOX_HUSH
help
Enable for, while and until loops in hush.
- As of 2008-07, break and continue statements are not supported.
config BUSYBOX_HUSH_CASE
bool "Support case ... esac statement"
@@ -243,26 +229,65 @@ config BUSYBOX_HUSH_CASE
help
Enable case ... esac statement in hush. +400 bytes.
+config BUSYBOX_HUSH_FUNCTIONS
+ bool "Support funcname() { commands; } syntax"
+ default n
+ depends on BUSYBOX_HUSH
+ help
+ Enable support for shell functions in hush. +800 bytes.
+
+config BUSYBOX_HUSH_LOCAL
+ bool "Support local builtin"
+ default n
+ depends on BUSYBOX_HUSH_FUNCTIONS
+ help
+ Enable support for local variables in functions.
+
+config BUSYBOX_HUSH_EXPORT_N
+ bool "Support export '-n' option"
+ default n
+ depends on BUSYBOX_HUSH
+ help
+ Enable support for export '-n' option in hush. It is a bash extension.
+
config BUSYBOX_LASH
- bool "lash"
+ bool "lash (deprecated: aliased to hush)"
default n
select BUSYBOX_HUSH
help
lash is deprecated and will be removed, please migrate to hush.
config BUSYBOX_MSH
- bool "msh"
+ bool "msh (deprecated: please use hush)"
default n
+ select BUSYBOX_HUSH
help
- The minix shell (adds just 30k) is quite complete and handles things
- like for/do/done, case/esac and all the things you expect a Bourne
- shell to do. It is not always pedantically correct about Bourne
- shell grammar (try running the shell testscript "tests/sh.testcases"
- on it and compare vs bash) but for most things it works quite well.
- It uses only vfork, so it can be used on uClinux systems.
+ msh is deprecated and will be removed, please migrate to hush.
+ If there is a feature msh has but hush does not, please let us know.
-comment "Bourne Shell Options"
- depends on BUSYBOX_MSH || BUSYBOX_LASH || BUSYBOX_HUSH || BUSYBOX_ASH
+# The minix shell (adds just 30k) is quite complete and handles things
+# like for/do/done, case/esac and all the things you expect a Bourne
+# shell to do. It is not always pedantically correct about Bourne
+# shell grammar (try running the shell testscript "tests/sh.testcases"
+# on it and compare vs bash) but for most things it works quite well.
+# It uses only vfork, so it can be used on uClinux systems.
+
+
+config BUSYBOX_SH_MATH_SUPPORT
+ bool "POSIX math support"
+ default y
+ depends on BUSYBOX_ASH || BUSYBOX_HUSH
+ help
+ Enable math support in the shell via $((...)) syntax.
+
+config BUSYBOX_SH_MATH_SUPPORT_64
+ bool "Extend POSIX math support to 64 bit"
+ default n
+ depends on BUSYBOX_SH_MATH_SUPPORT
+ help
+ Enable 64-bit math support in the shell. This will make the shell
+ slightly larger, but will allow computation with very large numbers.
+ This is not in POSIX, so do not rely on this in portable code.
config BUSYBOX_FEATURE_SH_EXTRA_QUIET
bool "Hide message on interactive shell startup"
diff --git a/package/busybox/config/sysklogd/Config.in b/package/busybox/config/sysklogd/Config.in
index 282de7bee..0df67053c 100644
--- a/package/busybox/config/sysklogd/Config.in
+++ b/package/busybox/config/sysklogd/Config.in
@@ -30,7 +30,7 @@ config BUSYBOX_FEATURE_ROTATE_LOGFILE
config BUSYBOX_FEATURE_REMOTE_LOG
bool "Remote Log support"
- default n
+ default y
depends on BUSYBOX_SYSLOGD
help
When you enable this feature, the syslogd utility can
@@ -85,7 +85,7 @@ config BUSYBOX_LOGREAD
config BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING
bool "Double buffering"
- default y
+ default n
depends on BUSYBOX_LOGREAD
help
'logread' ouput to slow serial terminals can have
diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in
index 3f67b0b8e..d8aa934ff 100644
--- a/package/busybox/config/util-linux/Config.in
+++ b/package/busybox/config/util-linux/Config.in
@@ -5,9 +5,31 @@
menu "Linux System Utilities"
+config BUSYBOX_ACPID
+ bool "acpid"
+ default n
+ help
+ acpid listens to ACPI events coming either in textual form from
+ /proc/acpi/event (though it is marked deprecated it is still widely
+ used and _is_ a standard) or in binary form from specified evdevs
+ (just use /dev/input/event*).
+
+ It parses the event to retrieve ACTION and a possible PARAMETER.
+ It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
+ (if the resulting path is a directory) or directly as an executable.
+
+ N.B. acpid relies on run-parts so have the latter installed.
+
+config BUSYBOX_FEATURE_ACPID_COMPAT
+ bool "Accept and ignore redundant options"
+ default n
+ depends on BUSYBOX_ACPID
+ help
+ Accept and ignore compatibility options -g -m -s -S -v.
+
config BUSYBOX_BLKID
bool "blkid"
- default y
+ default n
select BUSYBOX_VOLUMEID
help
Lists labels and UUIDs of all filesystems.
@@ -95,7 +117,7 @@ config BUSYBOX_FDFORMAT
config BUSYBOX_FDISK
bool "fdisk"
- default y
+ default n
help
The fdisk utility is used to divide hard disks into one or more
logical disks, which are generally called partitions. This utility
@@ -211,6 +233,12 @@ config BUSYBOX_FEATURE_MINIX2
this. If you enabled 'mkfs_minix' then you almost certainly want to
be using the version 2 filesystem support.
+config BUSYBOX_MKFS_VFAT
+ bool "mkfs_vfat"
+ default n
+ help
+ Utility to create FAT32 filesystems.
+
config BUSYBOX_GETOPT
bool "getopt"
default n
@@ -222,9 +250,16 @@ config BUSYBOX_GETOPT
written by others, this utility may be for you. Most people will
wisely leave this disabled.
+config BUSYBOX_FEATURE_GETOPT_LONG
+ bool "Support option -l"
+ default y if LONG_OPTS
+ depends on BUSYBOX_GETOPT
+ help
+ Enable support for long options (option -l).
+
config BUSYBOX_HEXDUMP
bool "hexdump"
- default y
+ default n
help
The hexdump utility is used to display binary data in a readable
way that is comparable to the output from most hex editors.
@@ -258,7 +293,7 @@ config BUSYBOX_HWCLOCK
config BUSYBOX_FEATURE_HWCLOCK_LONG_OPTIONS
bool "Support long options (--hctosys,...)"
default n
- depends on BUSYBOX_HWCLOCK && BUSYBOX_GETOPT_LONG
+ depends on BUSYBOX_HWCLOCK && BUSYBOX_LONG_OPTS
help
By default, the hwclock utility only uses short options. If you
are overly fond of its long options, such as --hctosys, --utc, etc)
@@ -278,7 +313,7 @@ config BUSYBOX_FEATURE_HWCLOCK_ADJTIME_FHS
config BUSYBOX_IPCRM
bool "ipcrm"
- default y
+ default n
select BUSYBOX_FEATURE_SUID
help
The ipcrm utility allows the removal of System V interprocess
@@ -287,7 +322,7 @@ config BUSYBOX_IPCRM
config BUSYBOX_IPCS
bool "ipcs"
- default y
+ default n
select BUSYBOX_FEATURE_SUID
help
The ipcs utility is used to provide information on the currently
@@ -295,7 +330,7 @@ config BUSYBOX_IPCS
config BUSYBOX_LOSETUP
bool "losetup"
- default y
+ default n
help
losetup is used to associate or detach a loop device with a regular
file or block device, and to query the status of a loop device. This
@@ -371,19 +406,16 @@ config BUSYBOX_MKSWAP
Once you have created swap space using 'mkswap' you need to enable
the swap space using the 'swapon' utility.
-config BUSYBOX_FEATURE_MKSWAP_V0
- bool "Version 0 support"
+config BUSYBOX_FEATURE_MKSWAP_UUID
+ bool "UUID support"
default n
depends on BUSYBOX_MKSWAP
-# depends on BUSYBOX_MKSWAP && BUSYBOX_DEPRECATED
help
- Enable support for the old v0 style.
- If your kernel is older than 2.1.117, then v0 support is the
- only option.
+ Generate swap spaces with universally unique identifiers.
config BUSYBOX_MORE
bool "more"
- default y
+ default n
help
more is a simple utility which allows you to read text one screen
sized page at a time. If you want to read text that is larger than
@@ -450,7 +482,7 @@ config BUSYBOX_FEATURE_VOLUMEID_JFS
config BUSYBOX_FEATURE_VOLUMEID_XFS
bool "xfs filesystem"
- default y
+ default n
depends on BUSYBOX_VOLUMEID
help
TODO
@@ -651,7 +683,7 @@ config BUSYBOX_FEATURE_MOUNT_HELPERS
config BUSYBOX_FEATURE_MOUNT_LABEL
bool "Support specifiying devices by label or UUID"
- default y
+ default n
depends on BUSYBOX_MOUNT
select BUSYBOX_VOLUMEID
help
@@ -660,7 +692,7 @@ config BUSYBOX_FEATURE_MOUNT_LABEL
config BUSYBOX_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems"
- default n
+ default y
depends on BUSYBOX_MOUNT
select BUSYBOX_FEATURE_HAVE_RPC
select BUSYBOX_FEATURE_SYSLOG
@@ -669,7 +701,7 @@ config BUSYBOX_FEATURE_MOUNT_NFS
config BUSYBOX_FEATURE_MOUNT_CIFS
bool "Support mounting CIFS/SMB file systems"
- default n
+ default y
depends on BUSYBOX_MOUNT
help
Enable support for samba mounts.
@@ -705,7 +737,7 @@ config BUSYBOX_PIVOT_ROOT
config BUSYBOX_RDATE
bool "rdate"
- default y
+ default n
help
The rdate utility allows you to synchronize the date and time of your
system clock with the date and time of a remote networked system using
@@ -736,6 +768,13 @@ config BUSYBOX_SCRIPT
help
The script makes typescript of terminal session.
+config BUSYBOX_SCRIPTREPLAY
+ bool "scriptreplay"
+ default n
+ help
+ This program replays a typescript, using timing information
+ given by script -t.
+
config BUSYBOX_SETARCH
bool "setarch"
default n
@@ -803,7 +842,7 @@ comment "Common options for mount/umount"
config BUSYBOX_FEATURE_MOUNT_LOOP
bool "Support loopback mounts"
- default y
+ default n
depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT
help
Enabling this feature allows automatic mounting of files (containing
diff --git a/package/busybox/patches/001-ipkg.patch b/package/busybox/patches/001-ipkg.patch
index ca7059acc..d2acebb35 100644
--- a/package/busybox/patches/001-ipkg.patch
+++ b/package/busybox/patches/001-ipkg.patch
@@ -1,20 +1,9 @@
-diff -Nur busybox-1.13.4.orig/Makefile busybox-1.13.4/Makefile
---- busybox-1.13.4.orig/Makefile 2009-04-15 02:11:01.000000000 +0200
-+++ busybox-1.13.4/Makefile 2009-05-31 15:40:37.158023800 +0200
-@@ -444,6 +444,7 @@
-
- libs-y := \
- archival/ \
-+ archival/libipkg/ \
- archival/libunarchive/ \
- console-tools/ \
- coreutils/ \
-diff -Nur busybox-1.13.4.orig/archival/Config.in busybox-1.13.4/archival/Config.in
---- busybox-1.13.4.orig/archival/Config.in 2008-11-09 18:28:02.000000000 +0100
-+++ busybox-1.13.4/archival/Config.in 2009-05-31 15:40:36.993689729 +0200
-@@ -158,6 +158,14 @@
- gzip is used to compress files.
- It's probably the most widely used UNIX compression program.
+diff -Nur busybox-1.15.2.orig/archival/Config.in busybox-1.15.2/archival/Config.in
+--- busybox-1.15.2.orig/archival/Config.in 2009-10-08 02:59:09.000000000 +0200
++++ busybox-1.15.2/archival/Config.in 2009-11-26 11:10:12.799860030 +0100
+@@ -180,6 +180,14 @@
+ are actually slower than gzip at equivalent compression ratios
+ and take up 3.2K of code.
+config IPKG
+ bool "ipkg"
@@ -27,21 +16,10 @@ diff -Nur busybox-1.13.4.orig/archival/Config.in busybox-1.13.4/archival/Config.
config RPM2CPIO
bool "rpm2cpio"
default n
-diff -Nur busybox-1.13.4.orig/archival/Kbuild busybox-1.13.4/archival/Kbuild
---- busybox-1.13.4.orig/archival/Kbuild 2008-11-09 18:28:02.000000000 +0100
-+++ busybox-1.13.4/archival/Kbuild 2009-05-31 15:40:36.997989438 +0200
-@@ -16,6 +16,7 @@
- lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o
- lib-$(CONFIG_GUNZIP) += bbunzip.o
- lib-$(CONFIG_GZIP) += gzip.o bbunzip.o
-+lib-$(CONFIG_IPKG) += ipkg.o
- lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o
- lib-$(CONFIG_RPM) += rpm.o
- lib-$(CONFIG_TAR) += tar.o
-diff -Nur busybox-1.13.4.orig/archival/dpkg.c busybox-1.13.4/archival/dpkg.c
---- busybox-1.13.4.orig/archival/dpkg.c 2008-11-09 18:28:02.000000000 +0100
-+++ busybox-1.13.4/archival/dpkg.c 2009-05-31 15:40:36.993689729 +0200
-@@ -1485,16 +1485,7 @@
+diff -Nur busybox-1.15.2.orig/archival/dpkg.c busybox-1.15.2/archival/dpkg.c
+--- busybox-1.15.2.orig/archival/dpkg.c 2009-10-08 02:59:09.000000000 +0200
++++ busybox-1.15.2/archival/dpkg.c 2009-11-26 11:10:12.863858133 +0100
+@@ -1481,16 +1481,7 @@
return ar_handle->sub_archive->buffer;
}
@@ -59,9 +37,9 @@ diff -Nur busybox-1.13.4.orig/archival/dpkg.c busybox-1.13.4/archival/dpkg.c
static void unpack_package(deb_file_t *deb_file)
{
-diff -Nur busybox-1.13.4.orig/archival/ipkg.c busybox-1.13.4/archival/ipkg.c
---- busybox-1.13.4.orig/archival/ipkg.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/ipkg.c 2009-05-31 15:40:36.993689729 +0200
+diff -Nur busybox-1.15.2.orig/archival/ipkg.c busybox-1.15.2/archival/ipkg.c
+--- busybox-1.15.2.orig/archival/ipkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/ipkg.c 2009-11-26 11:10:12.867860320 +0100
@@ -0,0 +1,28 @@
+/* ipkg.c - the itsy package management system
+
@@ -91,73 +69,20 @@ diff -Nur busybox-1.13.4.orig/archival/ipkg.c busybox-1.13.4/archival/ipkg.c
+{
+ return ipkg_op(argc, argv);
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/Kbuild busybox-1.13.4/archival/libipkg/Kbuild
---- busybox-1.13.4.orig/archival/libipkg/Kbuild 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/Kbuild 2009-05-31 15:40:37.069994700 +0200
-@@ -0,0 +1,60 @@
-+# Makefile for busybox
-+#
-+# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
-+# Copyright (C) 2006 OpenWrt.org
-+#
-+# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
-+
-+LIBIPKG_CORE_OBJS:= \
-+ args.o \
-+ libipkg.o \
-+ user.o \
-+
-+LIBIPKG_CMD_OBJS:= \
-+ ipkg_cmd.o \
-+ ipkg_configure.o \
-+ ipkg_download.o \
-+ ipkg_install.o \
-+ ipkg_remove.o \
-+ ipkg_upgrade.o \
-+
-+LIBIPKG_DB_OBJS:= \
-+ hash_table.o \
-+ ipkg_conf.o \
-+ ipkg_utils.o \
-+ pkg.o \
-+ pkg_depends.o \
-+ pkg_extract.o \
-+ pkg_hash.o \
-+ pkg_parse.o \
-+ pkg_vec.o \
-+
-+LIBIPKG_LIST_OBJS:= \
-+ conffile.o \
-+ conffile_list.o \
-+ nv_pair.o \
-+ nv_pair_list.o \
-+ pkg_dest.o \
-+ pkg_dest_list.o \
-+ pkg_src.o \
-+ pkg_src_list.o \
-+ str_list.o \
-+ void_list.o \
-+
-+LIBIPKG_UTIL_OBJS:= \
-+ file_util.o \
-+ ipkg_message.o \
-+ str_util.o \
-+ xsystem.o \
-+
-+lib-y :=
-+lib-$(CONFIG_IPKG) += $(LIBIPKG_CORE_OBJS)
-+lib-$(CONFIG_IPKG) += $(LIBIPKG_CMD_OBJS)
-+lib-$(CONFIG_IPKG) += $(LIBIPKG_DB_OBJS)
-+lib-$(CONFIG_IPKG) += $(LIBIPKG_LIST_OBJS)
-+lib-$(CONFIG_IPKG) += $(LIBIPKG_UTIL_OBJS)
-+
-+ifeq ($(strip $(IPKG_ARCH)),)
-+IPKG_ARCH:=$(TARGET_ARCH)
-+endif
-+CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
-diff -Nur busybox-1.13.4.orig/archival/libipkg/args.c busybox-1.13.4/archival/libipkg/args.c
---- busybox-1.13.4.orig/archival/libipkg/args.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/args.c 2009-05-31 15:40:36.997989438 +0200
+diff -Nur busybox-1.15.2.orig/archival/Kbuild busybox-1.15.2/archival/Kbuild
+--- busybox-1.15.2.orig/archival/Kbuild 2009-09-26 15:14:56.000000000 +0200
++++ busybox-1.15.2/archival/Kbuild 2009-11-26 11:11:08.370253633 +0100
+@@ -16,6 +16,7 @@
+ lib-$(CONFIG_DPKG_DEB) += dpkg_deb.o
+ lib-$(CONFIG_GUNZIP) += bbunzip.o
+ lib-$(CONFIG_GZIP) += gzip.o bbunzip.o
++lib-$(CONFIG_IPKG) += ipkg.o
+ lib-$(CONFIG_LZOP) += lzop.o lzo1x_1.o lzo1x_1o.o lzo1x_d.o bbunzip.o
+ lib-$(CONFIG_LZOP_COMPR_HIGH) += lzo1x_9x.o
+ lib-$(CONFIG_RPM2CPIO) += rpm2cpio.o
+diff -Nur busybox-1.15.2.orig/archival/libipkg/args.c busybox-1.15.2/archival/libipkg/args.c
+--- busybox-1.15.2.orig/archival/libipkg/args.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/args.c 2009-11-26 11:10:13.027859475 +0100
@@ -0,0 +1,242 @@
+/* args.c - parse command-line args
+
@@ -401,9 +326,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/args.c busybox-1.13.4/archival/li
+{
+ bb_error_msg("version %s\n", IPKG_VERSION);
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/args.h busybox-1.13.4/archival/libipkg/args.h
---- busybox-1.13.4.orig/archival/libipkg/args.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/args.h 2009-05-31 15:40:36.997989438 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/args.h busybox-1.15.2/archival/libipkg/args.h
+--- busybox-1.15.2.orig/archival/libipkg/args.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/args.h 2009-11-26 11:10:13.111859002 +0100
@@ -0,0 +1,72 @@
+/* args.h - parse command-line args
+
@@ -477,9 +402,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/args.h busybox-1.13.4/archival/li
+void args_usage(const char *complaint);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile.c busybox-1.13.4/archival/libipkg/conffile.c
---- busybox-1.13.4.orig/archival/libipkg/conffile.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/conffile.c 2009-05-31 15:40:36.997989438 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/conffile.c busybox-1.15.2/archival/libipkg/conffile.c
+--- busybox-1.15.2.orig/archival/libipkg/conffile.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/conffile.c 2009-11-26 11:10:13.115859512 +0100
@@ -0,0 +1,65 @@
+/* conffile.c - the itsy package management system
+
@@ -546,9 +471,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile.c busybox-1.13.4/archiva
+
+ return ret;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile.h busybox-1.13.4/archival/libipkg/conffile.h
---- busybox-1.13.4.orig/archival/libipkg/conffile.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/conffile.h 2009-05-31 15:40:36.997989438 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/conffile.h busybox-1.15.2/archival/libipkg/conffile.h
+--- busybox-1.15.2.orig/archival/libipkg/conffile.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/conffile.h 2009-11-26 11:10:13.115859512 +0100
@@ -0,0 +1,30 @@
+/* conffile.h - the itsy package management system
+
@@ -580,9 +505,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile.h busybox-1.13.4/archiva
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile_list.c busybox-1.13.4/archival/libipkg/conffile_list.c
---- busybox-1.13.4.orig/archival/libipkg/conffile_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/conffile_list.c 2009-05-31 15:40:37.001989668 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/conffile_list.c busybox-1.15.2/archival/libipkg/conffile_list.c
+--- busybox-1.15.2.orig/archival/libipkg/conffile_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/conffile_list.c 2009-11-26 11:10:13.171857147 +0100
@@ -0,0 +1,47 @@
+/* conffile_list.c - the itsy package management system
+
@@ -631,9 +556,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile_list.c busybox-1.13.4/ar
+ return nv_pair_list_pop(list);
+}
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile_list.h busybox-1.13.4/archival/libipkg/conffile_list.h
---- busybox-1.13.4.orig/archival/libipkg/conffile_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/conffile_list.h 2009-05-31 15:40:37.005990736 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/conffile_list.h busybox-1.15.2/archival/libipkg/conffile_list.h
+--- busybox-1.15.2.orig/archival/libipkg/conffile_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/conffile_list.h 2009-11-26 11:10:13.171857147 +0100
@@ -0,0 +1,36 @@
+/* conffile_list.h - the itsy package management system
+
@@ -671,10 +596,10 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/conffile_list.h busybox-1.13.4/ar
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/file_util.c busybox-1.13.4/archival/libipkg/file_util.c
---- busybox-1.13.4.orig/archival/libipkg/file_util.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/file_util.c 2009-05-31 15:40:37.005990736 +0200
-@@ -0,0 +1,132 @@
+diff -Nur busybox-1.15.2.orig/archival/libipkg/file_util.c busybox-1.15.2/archival/libipkg/file_util.c
+--- busybox-1.15.2.orig/archival/libipkg/file_util.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/file_util.c 2009-11-27 18:30:35.846386159 +0100
+@@ -0,0 +1,186 @@
+/* file_util.c - convenience routines for common stat operations
+
+ Carl D. Worth
@@ -802,14 +727,68 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/file_util.c busybox-1.13.4/archiv
+ return bb_make_directory(path, mode, FILEUTILS_RECUR);
+}
+
++static unsigned char *hash_bin_to_hex(unsigned char *hash_value,
++ unsigned hash_length)
++{
++ /* xzalloc zero-terminates */
++ char *hex_value = xzalloc((hash_length * 2) + 1);
++ bin2hex(hex_value, (char*)hash_value, hash_length);
++ return (unsigned char *)hex_value;
++}
++
++static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
++{
++ int src_fd, hash_len, count;
++ union _ctx_ {
++ sha1_ctx_t sha1;
++ md5_ctx_t md5;
++ } context;
++ uint8_t *hash_value = NULL;
++ RESERVE_CONFIG_UBUFFER(in_buf, 4096);
++ void FAST_FUNC (*update)(const void*, size_t, void*);
++ void FAST_FUNC (*final)(void*, void*);
++
++ src_fd = open_or_warn_stdin(filename);
++ if (src_fd < 0) {
++ return NULL;
++ }
++
++ /* figure specific hash algorithims */
++ if (ENABLE_MD5SUM && hash_algo == HASH_MD5) {
++ md5_begin(&context.md5);
++ update = (void*)md5_hash;
++ final = (void*)md5_end;
++ hash_len = 16;
++ } else {
++ bb_error_msg_and_die("algorithm not supported");
++ }
++
++ while (0 < (count = safe_read(src_fd, in_buf, 4096))) {
++ update(in_buf, count, &context);
++ }
++
++ if (count == 0) {
++ final(in_buf, &context);
++ hash_value = hash_bin_to_hex(in_buf, hash_len);
++ }
++
++ RELEASE_CONFIG_BUFFER(in_buf);
++
++ if (src_fd != STDIN_FILENO) {
++ close(src_fd);
++ }
++
++ return hash_value;
++}
++
+uint8_t *file_md5sum_alloc(const char *file_name)
+{
+ return hash_file(file_name, HASH_MD5);
+}
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/file_util.h busybox-1.13.4/archival/libipkg/file_util.h
---- busybox-1.13.4.orig/archival/libipkg/file_util.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/file_util.h 2009-05-31 15:40:37.005990736 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/file_util.h busybox-1.15.2/archival/libipkg/file_util.h
+--- busybox-1.15.2.orig/archival/libipkg/file_util.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/file_util.h 2009-11-26 11:10:13.231859479 +0100
@@ -0,0 +1,29 @@
+/* file_util.h - convenience routines for common file operations
+
@@ -840,9 +819,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/file_util.h busybox-1.13.4/archiv
+uint8_t *file_md5sum_alloc(const char *file_name);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/hash_table.c busybox-1.13.4/archival/libipkg/hash_table.c
---- busybox-1.13.4.orig/archival/libipkg/hash_table.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/hash_table.c 2009-05-31 15:40:37.005990736 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/hash_table.c busybox-1.15.2/archival/libipkg/hash_table.c
+--- busybox-1.15.2.orig/archival/libipkg/hash_table.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/hash_table.c 2009-11-26 11:10:13.311857371 +0100
@@ -0,0 +1,155 @@
+/* hash.c - hash tables for ipkg
+
@@ -999,9 +978,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/hash_table.c busybox-1.13.4/archi
+ }
+}
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/hash_table.h busybox-1.13.4/archival/libipkg/hash_table.h
---- busybox-1.13.4.orig/archival/libipkg/hash_table.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/hash_table.h 2009-05-31 15:40:37.005990736 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/hash_table.h busybox-1.15.2/archival/libipkg/hash_table.h
+--- busybox-1.15.2.orig/archival/libipkg/hash_table.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/hash_table.h 2009-11-26 11:10:13.311857371 +0100
@@ -0,0 +1,44 @@
+/* hash.h - hash tables for ipkg
+
@@ -1047,79 +1026,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/hash_table.h busybox-1.13.4/archi
+void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
+
+#endif /* _HASH_TABLE_H_ */
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg.h busybox-1.13.4/archival/libipkg/ipkg.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg.h 2009-05-31 15:40:37.037992297 +0200
-@@ -0,0 +1,66 @@
-+/* ipkg.h - the itsy package management system
-+
-+ Carl D. Worth
-+
-+ Copyright (C) 2001 University of Southern California
-+
-+ 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, 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.
-+*/
-+
-+#ifndef IPKG_H
-+#define IPKG_H
-+
-+#include "libbb.h"
-+
-+#include "ipkg_includes.h"
-+#include "ipkg_conf.h"
-+#include "ipkg_message.h"
-+
-+#define IPKG_PKG_EXTENSION ".ipk"
-+#define DPKG_PKG_EXTENSION ".deb"
-+
-+#define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
-+#define IPKG_PKG_VERSION_SEP_CHAR '_'
-+
-+#define IPKG_STATE_DIR_PREFIX IPKGLIBDIR"/ipkg"
-+#define IPKG_LISTS_DIR_SUFFIX "lists"
-+#define IPKG_INFO_DIR_SUFFIX "info"
-+#define IPKG_STATUS_FILE_SUFFIX "status"
-+
-+#define IPKG_BACKUP_SUFFIX "-ipkg.backup"
-+
-+#define IPKG_LIST_DESCRIPTION_LENGTH 128
-+
-+#define IPKG_VERSION "1.00"
-+
-+
-+enum ipkg_error {
-+ IPKG_SUCCESS = 0,
-+ IPKG_PKG_DEPS_UNSATISFIED,
-+ IPKG_PKG_IS_ESSENTIAL,
-+ IPKG_PKG_HAS_DEPENDENTS,
-+ IPKG_PKG_HAS_NO_CANDIDATE
-+};
-+typedef enum ipkg_error ipkg_error_t;
-+
-+extern int ipkg_state_changed;
-+
-+
-+struct errlist {
-+ char * errmsg;
-+ struct errlist * next;
-+} ;
-+
-+extern struct errlist* error_list;
-+
-+extern ipkg_conf_t *global_conf;
-+
-+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_cmd.c busybox-1.13.4/archival/libipkg/ipkg_cmd.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_cmd.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_cmd.c 2009-05-31 15:40:37.013991196 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_cmd.c busybox-1.15.2/archival/libipkg/ipkg_cmd.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_cmd.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_cmd.c 2009-11-26 11:10:13.403858760 +0100
@@ -0,0 +1,1433 @@
+/* ipkg_cmd.c - the itsy package management system
+
@@ -2554,9 +2463,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_cmd.c busybox-1.13.4/archiva
+}
+
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_cmd.h busybox-1.13.4/archival/libipkg/ipkg_cmd.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_cmd.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_cmd.h 2009-05-31 15:40:37.021990539 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_cmd.h busybox-1.15.2/archival/libipkg/ipkg_cmd.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_cmd.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_cmd.h 2009-11-26 11:10:13.403858760 +0100
@@ -0,0 +1,46 @@
+/* ipkg_cmd.h - the itsy package management system
+
@@ -2604,9 +2513,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_cmd.h busybox-1.13.4/archiva
+int pkg_mark_provides(pkg_t *pkg);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_conf.c busybox-1.13.4/archival/libipkg/ipkg_conf.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_conf.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_conf.c 2009-05-31 15:40:37.021990539 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_conf.c busybox-1.15.2/archival/libipkg/ipkg_conf.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_conf.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_conf.c 2009-11-26 11:10:13.459858355 +0100
@@ -0,0 +1,711 @@
+/* ipkg_conf.c - the itsy package management system
+
@@ -3319,9 +3228,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_conf.c busybox-1.13.4/archiv
+ sprintf_alloc(&root_filename, "%s%s", (conf->offline_root ? conf->offline_root : ""), filename);
+ return root_filename;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_conf.h busybox-1.13.4/archival/libipkg/ipkg_conf.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_conf.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_conf.h 2009-05-31 15:40:37.025991328 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_conf.h busybox-1.15.2/archival/libipkg/ipkg_conf.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_conf.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_conf.h 2009-11-26 11:10:13.463859703 +0100
@@ -0,0 +1,107 @@
+/* ipkg_conf.h - the itsy package management system
+
@@ -3430,9 +3339,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_conf.h busybox-1.13.4/archiv
+char *root_filename_alloc(ipkg_conf_t *conf, char *filename);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_configure.c busybox-1.13.4/archival/libipkg/ipkg_configure.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_configure.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_configure.c 2009-05-31 15:40:37.025991328 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_configure.c busybox-1.15.2/archival/libipkg/ipkg_configure.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_configure.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_configure.c 2009-11-26 11:10:13.463859703 +0100
@@ -0,0 +1,40 @@
+/* ipkg_configure.c - the itsy package management system
+
@@ -3474,9 +3383,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_configure.c busybox-1.13.4/a
+ return 0;
+}
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_configure.h busybox-1.13.4/archival/libipkg/ipkg_configure.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_configure.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_configure.h 2009-05-31 15:40:37.025991328 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_configure.h busybox-1.15.2/archival/libipkg/ipkg_configure.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_configure.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_configure.h 2009-11-26 11:10:13.516657768 +0100
@@ -0,0 +1,25 @@
+/* ipkg_configure.h - the itsy package management system
+
@@ -3503,9 +3412,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_configure.h busybox-1.13.4/a
+int ipkg_configure(ipkg_conf_t *ipkg_conf, pkg_t *pkg);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_download.c busybox-1.13.4/archival/libipkg/ipkg_download.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_download.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_download.c 2009-05-31 15:42:41.497770134 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_download.c busybox-1.15.2/archival/libipkg/ipkg_download.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_download.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_download.c 2009-11-26 11:10:13.519859294 +0100
@@ -0,0 +1,195 @@
+/* ipkg_download.c - the itsy package management system
+
@@ -3702,9 +3611,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_download.c busybox-1.13.4/ar
+ }
+ return 0;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_download.h busybox-1.13.4/archival/libipkg/ipkg_download.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_download.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_download.h 2009-05-31 15:40:37.033992625 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_download.h busybox-1.15.2/archival/libipkg/ipkg_download.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_download.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_download.h 2009-11-26 11:10:13.519859294 +0100
@@ -0,0 +1,30 @@
+/* ipkg_download.h - the itsy package management system
+
@@ -3736,9 +3645,81 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_download.h busybox-1.13.4/ar
+int ipkg_prepare_url_for_install(ipkg_conf_t *conf, const char *url, char **namep);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_includes.h busybox-1.13.4/archival/libipkg/ipkg_includes.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_includes.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_includes.h 2009-05-31 15:40:37.041993644 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg.h busybox-1.15.2/archival/libipkg/ipkg.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg.h 2009-11-27 18:16:56.974265578 +0100
+@@ -0,0 +1,68 @@
++/* ipkg.h - the itsy package management system
++
++ Carl D. Worth
++
++ Copyright (C) 2001 University of Southern California
++
++ 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, 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.
++*/
++
++#ifndef IPKG_H
++#define IPKG_H
++
++#include "libbb.h"
++
++#include "ipkg_includes.h"
++#include "ipkg_conf.h"
++#include "ipkg_message.h"
++
++#define IPKG_PKG_EXTENSION ".ipk"
++#define DPKG_PKG_EXTENSION ".deb"
++
++#define IPKG_LEGAL_PKG_NAME_CHARS "abcdefghijklmnopqrstuvwxyz0123456789.+-"
++#define IPKG_PKG_VERSION_SEP_CHAR '_'
++
++#define IPKG_STATE_DIR_PREFIX IPKGLIBDIR"/ipkg"
++#define IPKG_LISTS_DIR_SUFFIX "lists"
++#define IPKG_INFO_DIR_SUFFIX "info"
++#define IPKG_STATUS_FILE_SUFFIX "status"
++
++#define IPKG_BACKUP_SUFFIX "-ipkg.backup"
++
++#define IPKG_LIST_DESCRIPTION_LENGTH 128
++
++#define IPKG_VERSION "1.00"
++
++
++enum ipkg_error {
++ IPKG_SUCCESS = 0,
++ IPKG_PKG_DEPS_UNSATISFIED,
++ IPKG_PKG_IS_ESSENTIAL,
++ IPKG_PKG_HAS_DEPENDENTS,
++ IPKG_PKG_HAS_NO_CANDIDATE
++};
++typedef enum ipkg_error ipkg_error_t;
++
++extern int ipkg_state_changed;
++
++
++struct errlist {
++ char * errmsg;
++ struct errlist * next;
++} ;
++
++extern struct errlist* error_list;
++
++extern ipkg_conf_t *global_conf;
++
++typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
++
++#endif
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_includes.h busybox-1.15.2/archival/libipkg/ipkg_includes.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_includes.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_includes.h 2009-11-26 11:10:13.635857588 +0100
@@ -0,0 +1,79 @@
+#ifndef IPKG_INCLUDES_H
+#define IPKG_INCLUDES_H
@@ -3819,9 +3800,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_includes.h busybox-1.13.4/ar
+#endif
+
+#endif /* IPKG_INCLUDES_H */
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_install.c busybox-1.13.4/archival/libipkg/ipkg_install.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_install.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_install.c 2009-05-31 15:40:37.045994712 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_install.c busybox-1.15.2/archival/libipkg/ipkg_install.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_install.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_install.c 2009-11-26 11:10:13.659857013 +0100
@@ -0,0 +1,1982 @@
+/* ipkg_install.c - the itsy package management system
+
@@ -5805,9 +5786,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_install.c busybox-1.13.4/arc
+}
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_install.h busybox-1.13.4/archival/libipkg/ipkg_install.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_install.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_install.h 2009-05-31 15:40:37.049992428 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_install.h busybox-1.15.2/archival/libipkg/ipkg_install.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_install.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_install.h 2009-11-26 11:10:13.699857638 +0100
@@ -0,0 +1,35 @@
+/* ipkg_install.h - the itsy package management system
+
@@ -5844,9 +5825,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_install.h busybox-1.13.4/arc
+int name_mark_dependencies_for_installation(ipkg_conf_t *conf, const char *pkg_name, pkg_vec_t *pkgs_needed);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_message.c busybox-1.13.4/archival/libipkg/ipkg_message.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_message.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_message.c 2009-05-31 15:40:37.053992938 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_message.c busybox-1.15.2/archival/libipkg/ipkg_message.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_message.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_message.c 2009-11-26 11:10:13.699857638 +0100
@@ -0,0 +1,61 @@
+/* ipkg_message.c - the itsy package management system
+
@@ -5909,9 +5890,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_message.c busybox-1.13.4/arc
+ }
+}
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_message.h busybox-1.13.4/archival/libipkg/ipkg_message.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_message.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_message.h 2009-05-31 15:40:37.057994007 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_message.h busybox-1.15.2/archival/libipkg/ipkg_message.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_message.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_message.h 2009-11-26 11:10:13.795857012 +0100
@@ -0,0 +1,32 @@
+/* ipkg_message.h - the itsy package management system
+
@@ -5945,9 +5926,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_message.h busybox-1.13.4/arc
+extern void ipkg_message(ipkg_conf_t *conf, message_level_t level, const char *fmt, ...);
+
+#endif /* _IPKG_MESSAGE_H_ */
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_remove.c busybox-1.13.4/archival/libipkg/ipkg_remove.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_remove.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_remove.c 2009-05-31 15:40:37.061994238 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_remove.c busybox-1.15.2/archival/libipkg/ipkg_remove.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_remove.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_remove.c 2009-11-26 11:10:13.795857012 +0100
@@ -0,0 +1,385 @@
+/* ipkg_remove.c - the itsy package management system
+
@@ -6334,9 +6315,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_remove.c busybox-1.13.4/arch
+
+ return 0;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_remove.h busybox-1.13.4/archival/libipkg/ipkg_remove.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_remove.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_remove.h 2009-05-31 15:40:37.061994238 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_remove.h busybox-1.15.2/archival/libipkg/ipkg_remove.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_remove.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_remove.h 2009-11-26 11:10:13.855859353 +0100
@@ -0,0 +1,33 @@
+/* ipkg_remove.h - the itsy package management system
+
@@ -6371,9 +6352,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_remove.h busybox-1.13.4/arch
+
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_upgrade.c busybox-1.13.4/archival/libipkg/ipkg_upgrade.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_upgrade.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_upgrade.c 2009-05-31 15:40:37.061994238 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_upgrade.c busybox-1.15.2/archival/libipkg/ipkg_upgrade.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_upgrade.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_upgrade.c 2009-11-26 11:10:13.863859535 +0100
@@ -0,0 +1,79 @@
+/* ipkg_upgrade.c - the itsy package management system
+
@@ -6454,9 +6435,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_upgrade.c busybox-1.13.4/arc
+ new->state_flag |= SF_USER;
+ return ipkg_install_pkg(conf, new,1);
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_upgrade.h busybox-1.13.4/archival/libipkg/ipkg_upgrade.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_upgrade.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_upgrade.h 2009-05-31 15:40:37.061994238 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_upgrade.h busybox-1.15.2/archival/libipkg/ipkg_upgrade.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_upgrade.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_upgrade.h 2009-11-26 11:10:13.863859535 +0100
@@ -0,0 +1,18 @@
+/* ipkg_upgrade.c - the itsy package management system
+
@@ -6476,9 +6457,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_upgrade.h busybox-1.13.4/arc
+#include "ipkg.h"
+
+int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_utils.c busybox-1.13.4/archival/libipkg/ipkg_utils.c
---- busybox-1.13.4.orig/archival/libipkg/ipkg_utils.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_utils.c 2009-05-31 15:40:37.065994189 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_utils.c busybox-1.15.2/archival/libipkg/ipkg_utils.c
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_utils.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_utils.c 2009-11-26 11:10:13.863859535 +0100
@@ -0,0 +1,185 @@
+/* ipkg_utils.c - the itsy package management system
+
@@ -6665,9 +6646,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_utils.c busybox-1.13.4/archi
+}
+
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_utils.h busybox-1.13.4/archival/libipkg/ipkg_utils.h
---- busybox-1.13.4.orig/archival/libipkg/ipkg_utils.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/ipkg_utils.h 2009-05-31 15:40:37.065994189 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/ipkg_utils.h busybox-1.15.2/archival/libipkg/ipkg_utils.h
+--- busybox-1.15.2.orig/archival/libipkg/ipkg_utils.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/ipkg_utils.h 2009-11-26 11:10:13.912271293 +0100
@@ -0,0 +1,29 @@
+/* ipkg_utils.h - the itsy package management system
+
@@ -6698,9 +6679,73 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/ipkg_utils.h busybox-1.13.4/archi
+int line_is_blank(const char *line);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/libipkg.c busybox-1.13.4/archival/libipkg/libipkg.c
---- busybox-1.13.4.orig/archival/libipkg/libipkg.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/libipkg.c 2009-05-31 15:40:37.069994700 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/Kbuild busybox-1.15.2/archival/libipkg/Kbuild
+--- busybox-1.15.2.orig/archival/libipkg/Kbuild 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/Kbuild 2009-11-26 11:10:13.027859475 +0100
+@@ -0,0 +1,60 @@
++# Makefile for busybox
++#
++# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
++# Copyright (C) 2006 OpenWrt.org
++#
++# Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
++
++LIBIPKG_CORE_OBJS:= \
++ args.o \
++ libipkg.o \
++ user.o \
++
++LIBIPKG_CMD_OBJS:= \
++ ipkg_cmd.o \
++ ipkg_configure.o \
++ ipkg_download.o \
++ ipkg_install.o \
++ ipkg_remove.o \
++ ipkg_upgrade.o \
++
++LIBIPKG_DB_OBJS:= \
++ hash_table.o \
++ ipkg_conf.o \
++ ipkg_utils.o \
++ pkg.o \
++ pkg_depends.o \
++ pkg_extract.o \
++ pkg_hash.o \
++ pkg_parse.o \
++ pkg_vec.o \
++
++LIBIPKG_LIST_OBJS:= \
++ conffile.o \
++ conffile_list.o \
++ nv_pair.o \
++ nv_pair_list.o \
++ pkg_dest.o \
++ pkg_dest_list.o \
++ pkg_src.o \
++ pkg_src_list.o \
++ str_list.o \
++ void_list.o \
++
++LIBIPKG_UTIL_OBJS:= \
++ file_util.o \
++ ipkg_message.o \
++ str_util.o \
++ xsystem.o \
++
++lib-y :=
++lib-$(CONFIG_IPKG) += $(LIBIPKG_CORE_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_CMD_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_DB_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_LIST_OBJS)
++lib-$(CONFIG_IPKG) += $(LIBIPKG_UTIL_OBJS)
++
++ifeq ($(strip $(IPKG_ARCH)),)
++IPKG_ARCH:=$(TARGET_ARCH)
++endif
++CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
+diff -Nur busybox-1.15.2.orig/archival/libipkg/libipkg.c busybox-1.15.2/archival/libipkg/libipkg.c
+--- busybox-1.15.2.orig/archival/libipkg/libipkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/libipkg.c 2009-11-26 11:10:13.915860298 +0100
@@ -0,0 +1,532 @@
+/* ipkglib.c - the itsy package management system
+
@@ -7234,9 +7279,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/libipkg.c busybox-1.13.4/archival
+}
+
+#endif /* IPKG_LIB */
-diff -Nur busybox-1.13.4.orig/archival/libipkg/libipkg.h busybox-1.13.4/archival/libipkg/libipkg.h
---- busybox-1.13.4.orig/archival/libipkg/libipkg.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/libipkg.h 2009-05-31 15:40:37.069994700 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/libipkg.h busybox-1.15.2/archival/libipkg/libipkg.h
+--- busybox-1.15.2.orig/archival/libipkg/libipkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/libipkg.h 2009-11-26 11:10:13.923858524 +0100
@@ -0,0 +1,87 @@
+/* ipkglib.h - the itsy package management system
+
@@ -7325,9 +7370,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/libipkg.h busybox-1.13.4/archival
+
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair.c busybox-1.13.4/archival/libipkg/nv_pair.c
---- busybox-1.13.4.orig/archival/libipkg/nv_pair.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/nv_pair.c 2009-05-31 15:40:37.073994372 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/nv_pair.c busybox-1.15.2/archival/libipkg/nv_pair.c
+--- busybox-1.15.2.orig/archival/libipkg/nv_pair.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/nv_pair.c 2009-11-26 11:10:13.987858580 +0100
@@ -0,0 +1,40 @@
+/* nv_pair.c - the itsy package management system
+
@@ -7369,9 +7414,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair.c busybox-1.13.4/archival
+}
+
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair.h busybox-1.13.4/archival/libipkg/nv_pair.h
---- busybox-1.13.4.orig/archival/libipkg/nv_pair.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/nv_pair.h 2009-05-31 15:40:37.073994372 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/nv_pair.h busybox-1.15.2/archival/libipkg/nv_pair.h
+--- busybox-1.15.2.orig/archival/libipkg/nv_pair.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/nv_pair.h 2009-11-26 11:10:13.987858580 +0100
@@ -0,0 +1,32 @@
+/* nv_pair.h - the itsy package management system
+
@@ -7405,9 +7450,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair.h busybox-1.13.4/archival
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair_list.c busybox-1.13.4/archival/libipkg/nv_pair_list.c
---- busybox-1.13.4.orig/archival/libipkg/nv_pair_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/nv_pair_list.c 2009-05-31 15:40:37.073994372 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/nv_pair_list.c busybox-1.15.2/archival/libipkg/nv_pair_list.c
+--- busybox-1.15.2.orig/archival/libipkg/nv_pair_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/nv_pair_list.c 2009-11-26 11:10:14.043859011 +0100
@@ -0,0 +1,98 @@
+/* nv_pair_list.c - the itsy package management system
+
@@ -7507,9 +7552,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair_list.c busybox-1.13.4/arc
+ }
+ return NULL;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair_list.h busybox-1.13.4/archival/libipkg/nv_pair_list.h
---- busybox-1.13.4.orig/archival/libipkg/nv_pair_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/nv_pair_list.h 2009-05-31 15:40:37.085996181 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/nv_pair_list.h busybox-1.15.2/archival/libipkg/nv_pair_list.h
+--- busybox-1.15.2.orig/archival/libipkg/nv_pair_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/nv_pair_list.h 2009-11-26 11:10:14.047859242 +0100
@@ -0,0 +1,60 @@
+/* nv_pair_list.h - the itsy package management system
+
@@ -7571,9 +7616,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/nv_pair_list.h busybox-1.13.4/arc
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg.c busybox-1.13.4/archival/libipkg/pkg.c
---- busybox-1.13.4.orig/archival/libipkg/pkg.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg.c 2009-05-31 15:40:37.089995574 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg.c busybox-1.15.2/archival/libipkg/pkg.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg.c 2009-11-26 11:10:14.055858306 +0100
@@ -0,0 +1,1757 @@
+/* pkg.c - the itsy package management system
+
@@ -9332,242 +9377,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg.c busybox-1.13.4/archival/lib
+ }
+ return 0;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg.h busybox-1.13.4/archival/libipkg/pkg.h
---- busybox-1.13.4.orig/archival/libipkg/pkg.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg.h 2009-05-31 15:40:37.109997565 +0200
-@@ -0,0 +1,229 @@
-+/* pkg.h - the itsy package management system
-+
-+ Carl D. Worth
-+
-+ Copyright (C) 2001 University of Southern California
-+
-+ 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, 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.
-+*/
-+
-+#ifndef PKG_H
-+#define PKG_H
-+
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <unistd.h>
-+
-+#include "pkg_vec.h"
-+#include "str_list.h"
-+#include "pkg_src.h"
-+#include "pkg_dest.h"
-+#include "ipkg_conf.h"
-+#include "conffile_list.h"
-+
-+struct ipkg_conf;
-+
-+/* I think "Size" is currently the shortest field name */
-+#define PKG_MINIMUM_FIELD_NAME_LEN 4
-+
-+enum pkg_state_want
-+{
-+ SW_UNKNOWN = 1,
-+ SW_INSTALL,
-+ SW_DEINSTALL,
-+ SW_PURGE,
-+ SW_LAST_STATE_WANT
-+};
-+typedef enum pkg_state_want pkg_state_want_t;
-+
-+enum pkg_state_flag
-+{
-+ SF_OK = 0,
-+ SF_REINSTREQ = 1,
-+ SF_HOLD = 2, /* do not upgrade version */
-+ SF_REPLACE = 4, /* replace this package */
-+ SF_NOPRUNE = 8, /* do not remove obsolete files */
-+ SF_PREFER = 16, /* prefer this version */
-+ SF_OBSOLETE = 32, /* old package in upgrade pair */
-+ SF_MARKED = 64, /* temporary mark */
-+ SF_FILELIST_CHANGED = 128, /* needs filelist written */
-+ SF_USER = 256,
-+ SF_LAST_STATE_FLAG
-+};
-+typedef enum pkg_state_flag pkg_state_flag_t;
-+#define SF_NONVOLATILE_FLAGS (SF_HOLD|SF_NOPRUNE|SF_PREFER|SF_OBSOLETE|SF_USER)
-+
-+enum pkg_state_status
-+{
-+ SS_NOT_INSTALLED = 1,
-+ SS_UNPACKED,
-+ SS_HALF_CONFIGURED,
-+ SS_INSTALLED,
-+ SS_HALF_INSTALLED,
-+ SS_CONFIG_FILES,
-+ SS_POST_INST_FAILED,
-+ SS_REMOVAL_FAILED,
-+ SS_LAST_STATE_STATUS
-+};
-+typedef enum pkg_state_status pkg_state_status_t;
-+
-+struct abstract_pkg{
-+ char * name;
-+ int dependencies_checked;
-+ pkg_vec_t * pkgs;
-+ pkg_state_status_t state_status;
-+ pkg_state_flag_t state_flag;
-+ struct abstract_pkg ** depended_upon_by; /* @@@@ this should be abstract_pkg_vec_t -Jamey */
-+ abstract_pkg_vec_t * provided_by;
-+ abstract_pkg_vec_t * replaced_by;
-+};
-+
-+#include "pkg_depends.h"
-+
-+/* XXX: CLEANUP: I'd like to clean up pkg_t in several ways:
-+
-+ The 3 version fields should go into a single version struct. (This
-+ is especially important since, currently, pkg->version can easily
-+ be mistaken for pkg_verson_str_alloc(pkg) although they are very
-+ distinct. This has been the source of multiple bugs.
-+
-+ The 3 state fields could possibly also go into their own struct.
-+
-+ All fields which deal with lists of packages, (Depends,
-+ Pre-Depends, Provides, Suggests, Recommends, Enhances), should each
-+ be handled by a single struct in pkg_t
-+
-+ All string fields for which there is a small set of possible
-+ values, (section, maintainer, architecture, maybe version?), that
-+ are reused among different packages -- for all such packages we
-+ should move from "char *"s to some atom datatype to share data
-+ storage and use less memory. We might even do reference counting,
-+ but probably not since most often we only create new pkg_t structs,
-+ we don't often free them. */
-+struct pkg
-+{
-+ char *name;
-+ unsigned long epoch;
-+ char *version;
-+ char *revision;
-+ char *familiar_revision;
-+ pkg_src_t *src;
-+ pkg_dest_t *dest;
-+ char *architecture;
-+ char *section;
-+ char *maintainer;
-+ char *description;
-+ pkg_state_want_t state_want;
-+ pkg_state_flag_t state_flag;
-+ pkg_state_status_t state_status;
-+ char **depends_str;
-+ int depends_count;
-+ char **pre_depends_str;
-+ int pre_depends_count;
-+ char **recommends_str;
-+ int recommends_count;
-+ char **suggests_str;
-+ int suggests_count;
-+ compound_depend_t * depends;
-+
-+ /* Abhaya: new conflicts */
-+ char **conflicts_str;
-+ compound_depend_t * conflicts;
-+ int conflicts_count;
-+
-+ char **replaces_str;
-+ int replaces_count;
-+ abstract_pkg_t ** replaces;
-+
-+ char **provides_str;
-+ int provides_count;
-+ abstract_pkg_t ** provides;
-+
-+ abstract_pkg_t *parent;
-+
-+ pkg_t *old_pkg; /* during upgrade, points from installee to previously installed */
-+
-+ char *filename;
-+ char *local_filename;
-+ char *url;
-+ char *tmp_unpack_dir;
-+ char *md5sum;
-+ char *size;
-+ char *installed_size;
-+ char *priority;
-+ char *source;
-+ conffile_list_t conffiles;
-+ time_t installed_time;
-+ /* As pointer for lazy evaluation */
-+ str_list_t *installed_files;
-+ /* XXX: CLEANUP: I'd like to perhaps come up with a better
-+ mechanism to avoid the problem here, (which is that the
-+ installed_files list was being freed from an inner loop while
-+ still being used within an outer loop. */
-+ int installed_files_ref_cnt;
-+ int essential;
-+ int arch_priority;
-+/* Adding this flag, to "force" ipkg to choose a "provided_by_hand" package, if there are multiple choice */
-+ int provided_by_hand;
-+};
-+
-+pkg_t *pkg_new(void);
-+int pkg_init(pkg_t *pkg);
-+void pkg_deinit(pkg_t *pkg);
-+int pkg_init_from_file(pkg_t *pkg, const char *filename);
-+abstract_pkg_t *abstract_pkg_new(void);
-+int abstract_pkg_init(abstract_pkg_t *ab_pkg);
-+
-+/*
-+ * merges fields from newpkg into oldpkg.
-+ * Forcibly sets oldpkg state_status, state_want and state_flags if set_status is nonzero
-+ */
-+int pkg_merge(pkg_t *oldpkg, pkg_t *newpkg, int set_status);
-+
-+char *pkg_version_str_alloc(pkg_t *pkg);
-+
-+int pkg_compare_versions(const pkg_t *pkg, const pkg_t *ref_pkg);
-+int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b);
-+int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b);
-+
-+char * pkg_formatted_info(pkg_t *pkg );
-+char * pkg_formatted_field(pkg_t *pkg, const char *field );
-+
-+void set_flags_from_control(ipkg_conf_t *conf, pkg_t *pkg);
-+
-+void pkg_print_info(pkg_t *pkg, FILE *file);
-+void pkg_print_status(pkg_t * pkg, FILE * file);
-+void pkg_print_field(pkg_t *pkg, FILE *file, const char *field);
-+str_list_t *pkg_get_installed_files(pkg_t *pkg);
-+int pkg_free_installed_files(pkg_t *pkg);
-+int pkg_remove_installed_files_list(ipkg_conf_t *conf, pkg_t *pkg);
-+conffile_t *pkg_get_conffile(pkg_t *pkg, const char *file_name);
-+int pkg_run_script(struct ipkg_conf *conf, pkg_t *pkg,
-+ const char *script, const char *args);
-+
-+/* enum mappings */
-+char *pkg_state_want_to_str(pkg_state_want_t sw);
-+pkg_state_want_t pkg_state_want_from_str(char *str);
-+char *pkg_state_flag_to_str(pkg_state_flag_t sf);
-+pkg_state_flag_t pkg_state_flag_from_str(char *str);
-+char *pkg_state_status_to_str(pkg_state_status_t ss);
-+pkg_state_status_t pkg_state_status_from_str(char *str);
-+
-+int pkg_version_satisfied(pkg_t *it, pkg_t *ref, const char *op);
-+
-+int pkg_arch_supported(ipkg_conf_t *conf, pkg_t *pkg);
-+int pkg_info_preinstall_check(ipkg_conf_t *conf);
-+int pkg_free_installed_files(pkg_t *pkg);
-+
-+int pkg_write_filelist(ipkg_conf_t *conf, pkg_t *pkg);
-+int pkg_write_changed_filelists(ipkg_conf_t *conf);
-+
-+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_depends.c busybox-1.13.4/archival/libipkg/pkg_depends.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_depends.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_depends.c 2009-05-31 15:40:37.093995246 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_depends.c busybox-1.15.2/archival/libipkg/pkg_depends.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_depends.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_depends.c 2009-11-26 11:10:14.115858127 +0100
@@ -0,0 +1,1032 @@
+/* pkg_depends.c - the itsy package management system
+
@@ -10601,9 +10413,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_depends.c busybox-1.13.4/arch
+
+ return 0;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_depends.h busybox-1.13.4/archival/libipkg/pkg_depends.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_depends.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_depends.h 2009-05-31 15:40:37.093995246 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_depends.h busybox-1.15.2/archival/libipkg/pkg_depends.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_depends.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_depends.h 2009-11-26 11:10:14.177333554 +0100
@@ -0,0 +1,105 @@
+/* pkg_depends.h - the itsy package management system
+
@@ -10710,9 +10522,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_depends.h busybox-1.13.4/arch
+int pkg_dependence_satisfied(depend_t *depend);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest.c busybox-1.13.4/archival/libipkg/pkg_dest.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_dest.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_dest.c 2009-05-31 15:40:37.093995246 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_dest.c busybox-1.15.2/archival/libipkg/pkg_dest.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_dest.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_dest.c 2009-11-26 11:10:14.177333554 +0100
@@ -0,0 +1,92 @@
+/* pkg_dest.c - the itsy package management system
+
@@ -10806,9 +10618,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest.c busybox-1.13.4/archiva
+
+ dest->root_dir = NULL;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest.h busybox-1.13.4/archival/libipkg/pkg_dest.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_dest.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_dest.h 2009-05-31 15:40:37.097996035 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_dest.h busybox-1.15.2/archival/libipkg/pkg_dest.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_dest.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_dest.h 2009-11-26 11:10:14.177333554 +0100
@@ -0,0 +1,38 @@
+/* pkg_dest.h - the itsy package management system
+
@@ -10848,9 +10660,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest.h busybox-1.13.4/archiva
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest_list.c busybox-1.13.4/archival/libipkg/pkg_dest_list.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_dest_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_dest_list.c 2009-05-31 15:40:37.097996035 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_dest_list.c busybox-1.15.2/archival/libipkg/pkg_dest_list.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_dest_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_dest_list.c 2009-11-26 11:10:14.251858126 +0100
@@ -0,0 +1,85 @@
+/* pkg_dest_list.c - the itsy package management system
+
@@ -10937,9 +10749,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest_list.c busybox-1.13.4/ar
+{
+ return (pkg_dest_list_elt_t *) void_list_pop((void_list_t *) list);
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest_list.h busybox-1.13.4/archival/libipkg/pkg_dest_list.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_dest_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_dest_list.h 2009-05-31 15:40:37.097996035 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_dest_list.h busybox-1.15.2/archival/libipkg/pkg_dest_list.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_dest_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_dest_list.h 2009-11-26 11:10:14.255858914 +0100
@@ -0,0 +1,50 @@
+/* pkg_dest_list.h - the itsy package management system
+
@@ -10991,9 +10803,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_dest_list.h busybox-1.13.4/ar
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_extract.c busybox-1.13.4/archival/libipkg/pkg_extract.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_extract.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_extract.c 2009-05-31 15:40:37.097996035 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_extract.c busybox-1.15.2/archival/libipkg/pkg_extract.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_extract.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_extract.c 2009-11-26 11:10:14.259859982 +0100
@@ -0,0 +1,225 @@
+/* pkg_extract.c - the itsy package management system
+
@@ -11220,9 +11032,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_extract.c busybox-1.13.4/arch
+
+ return 0;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_extract.h busybox-1.13.4/archival/libipkg/pkg_extract.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_extract.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_extract.h 2009-05-31 15:40:37.105997055 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_extract.h busybox-1.15.2/archival/libipkg/pkg_extract.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_extract.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_extract.h 2009-11-26 11:10:14.323857515 +0100
@@ -0,0 +1,32 @@
+/* pkg_extract.c - the itsy package management system
+
@@ -11256,9 +11068,242 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_extract.h busybox-1.13.4/arch
+int pkg_extract_data_file_names_to_stream(pkg_t *pkg, FILE *file);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_hash.c busybox-1.13.4/archival/libipkg/pkg_hash.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_hash.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_hash.c 2009-05-31 15:40:37.109997565 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg.h busybox-1.15.2/archival/libipkg/pkg.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg.h 2009-11-26 11:10:14.107861019 +0100
+@@ -0,0 +1,229 @@
++/* pkg.h - the itsy package management system
++
++ Carl D. Worth
++
++ Copyright (C) 2001 University of Southern California
++
++ 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, 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.
++*/
++
++#ifndef PKG_H
++#define PKG_H
++
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <unistd.h>
++
++#include "pkg_vec.h"
++#include "str_list.h"
++#include "pkg_src.h"
++#include "pkg_dest.h"
++#include "ipkg_conf.h"
++#include "conffile_list.h"
++
++struct ipkg_conf;
++
++/* I think "Size" is currently the shortest field name */
++#define PKG_MINIMUM_FIELD_NAME_LEN 4
++
++enum pkg_state_want
++{
++ SW_UNKNOWN = 1,
++ SW_INSTALL,
++ SW_DEINSTALL,
++ SW_PURGE,
++ SW_LAST_STATE_WANT
++};
++typedef enum pkg_state_want pkg_state_want_t;
++
++enum pkg_state_flag
++{
++ SF_OK = 0,
++ SF_REINSTREQ = 1,
++ SF_HOLD = 2, /* do not upgrade version */
++ SF_REPLACE = 4, /* replace this package */
++ SF_NOPRUNE = 8, /* do not remove obsolete files */
++ SF_PREFER = 16, /* prefer this version */
++ SF_OBSOLETE = 32, /* old package in upgrade pair */
++ SF_MARKED = 64, /* temporary mark */
++ SF_FILELIST_CHANGED = 128, /* needs filelist written */
++ SF_USER = 256,
++ SF_LAST_STATE_FLAG
++};
++typedef enum pkg_state_flag pkg_state_flag_t;
++#define SF_NONVOLATILE_FLAGS (SF_HOLD|SF_NOPRUNE|SF_PREFER|SF_OBSOLETE|SF_USER)
++
++enum pkg_state_status
++{
++ SS_NOT_INSTALLED = 1,
++ SS_UNPACKED,
++ SS_HALF_CONFIGURED,
++ SS_INSTALLED,
++ SS_HALF_INSTALLED,
++ SS_CONFIG_FILES,
++ SS_POST_INST_FAILED,
++ SS_REMOVAL_FAILED,
++ SS_LAST_STATE_STATUS
++};
++typedef enum pkg_state_status pkg_state_status_t;
++
++struct abstract_pkg{
++ char * name;
++ int dependencies_checked;
++ pkg_vec_t * pkgs;
++ pkg_state_status_t state_status;
++ pkg_state_flag_t state_flag;
++ struct abstract_pkg ** depended_upon_by; /* @@@@ this should be abstract_pkg_vec_t -Jamey */
++ abstract_pkg_vec_t * provided_by;
++ abstract_pkg_vec_t * replaced_by;
++};
++
++#include "pkg_depends.h"
++
++/* XXX: CLEANUP: I'd like to clean up pkg_t in several ways:
++
++ The 3 version fields should go into a single version struct. (This
++ is especially important since, currently, pkg->version can easily
++ be mistaken for pkg_verson_str_alloc(pkg) although they are very
++ distinct. This has been the source of multiple bugs.
++
++ The 3 state fields could possibly also go into their own struct.
++
++ All fields which deal with lists of packages, (Depends,
++ Pre-Depends, Provides, Suggests, Recommends, Enhances), should each
++ be handled by a single struct in pkg_t
++
++ All string fields for which there is a small set of possible
++ values, (section, maintainer, architecture, maybe version?), that
++ are reused among different packages -- for all such packages we
++ should move from "char *"s to some atom datatype to share data
++ storage and use less memory. We might even do reference counting,
++ but probably not since most often we only create new pkg_t structs,
++ we don't often free them. */
++struct pkg
++{
++ char *name;
++ unsigned long epoch;
++ char *version;
++ char *revision;
++ char *familiar_revision;
++ pkg_src_t *src;
++ pkg_dest_t *dest;
++ char *architecture;
++ char *section;
++ char *maintainer;
++ char *description;
++ pkg_state_want_t state_want;
++ pkg_state_flag_t state_flag;
++ pkg_state_status_t state_status;
++ char **depends_str;
++ int depends_count;
++ char **pre_depends_str;
++ int pre_depends_count;
++ char **recommends_str;
++ int recommends_count;
++ char **suggests_str;
++ int suggests_count;
++ compound_depend_t * depends;
++
++ /* Abhaya: new conflicts */
++ char **conflicts_str;
++ compound_depend_t * conflicts;
++ int conflicts_count;
++
++ char **replaces_str;
++ int replaces_count;
++ abstract_pkg_t ** replaces;
++
++ char **provides_str;
++ int provides_count;
++ abstract_pkg_t ** provides;
++
++ abstract_pkg_t *parent;
++
++ pkg_t *old_pkg; /* during upgrade, points from installee to previously installed */
++
++ char *filename;
++ char *local_filename;
++ char *url;
++ char *tmp_unpack_dir;
++ char *md5sum;
++ char *size;
++ char *installed_size;
++ char *priority;
++ char *source;
++ conffile_list_t conffiles;
++ time_t installed_time;
++ /* As pointer for lazy evaluation */
++ str_list_t *installed_files;
++ /* XXX: CLEANUP: I'd like to perhaps come up with a better
++ mechanism to avoid the problem here, (which is that the
++ installed_files list was being freed from an inner loop while
++ still being used within an outer loop. */
++ int installed_files_ref_cnt;
++ int essential;
++ int arch_priority;
++/* Adding this flag, to "force" ipkg to choose a "provided_by_hand" package, if there are multiple choice */
++ int provided_by_hand;
++};
++
++pkg_t *pkg_new(void);
++int pkg_init(pkg_t *pkg);
++void pkg_deinit(pkg_t *pkg);
++int pkg_init_from_file(pkg_t *pkg, const char *filename);
++abstract_pkg_t *abstract_pkg_new(void);
++int abstract_pkg_init(abstract_pkg_t *ab_pkg);
++
++/*
++ * merges fields from newpkg into oldpkg.
++ * Forcibly sets oldpkg state_status, state_want and state_flags if set_status is nonzero
++ */
++int pkg_merge(pkg_t *oldpkg, pkg_t *newpkg, int set_status);
++
++char *pkg_version_str_alloc(pkg_t *pkg);
++
++int pkg_compare_versions(const pkg_t *pkg, const pkg_t *ref_pkg);
++int pkg_name_version_and_architecture_compare(pkg_t *a, pkg_t *b);
++int abstract_pkg_name_compare(abstract_pkg_t *a, abstract_pkg_t *b);
++
++char * pkg_formatted_info(pkg_t *pkg );
++char * pkg_formatted_field(pkg_t *pkg, const char *field );
++
++void set_flags_from_control(ipkg_conf_t *conf, pkg_t *pkg);
++
++void pkg_print_info(pkg_t *pkg, FILE *file);
++void pkg_print_status(pkg_t * pkg, FILE * file);
++void pkg_print_field(pkg_t *pkg, FILE *file, const char *field);
++str_list_t *pkg_get_installed_files(pkg_t *pkg);
++int pkg_free_installed_files(pkg_t *pkg);
++int pkg_remove_installed_files_list(ipkg_conf_t *conf, pkg_t *pkg);
++conffile_t *pkg_get_conffile(pkg_t *pkg, const char *file_name);
++int pkg_run_script(struct ipkg_conf *conf, pkg_t *pkg,
++ const char *script, const char *args);
++
++/* enum mappings */
++char *pkg_state_want_to_str(pkg_state_want_t sw);
++pkg_state_want_t pkg_state_want_from_str(char *str);
++char *pkg_state_flag_to_str(pkg_state_flag_t sf);
++pkg_state_flag_t pkg_state_flag_from_str(char *str);
++char *pkg_state_status_to_str(pkg_state_status_t ss);
++pkg_state_status_t pkg_state_status_from_str(char *str);
++
++int pkg_version_satisfied(pkg_t *it, pkg_t *ref, const char *op);
++
++int pkg_arch_supported(ipkg_conf_t *conf, pkg_t *pkg);
++int pkg_info_preinstall_check(ipkg_conf_t *conf);
++int pkg_free_installed_files(pkg_t *pkg);
++
++int pkg_write_filelist(ipkg_conf_t *conf, pkg_t *pkg);
++int pkg_write_changed_filelists(ipkg_conf_t *conf);
++
++#endif
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_hash.c busybox-1.15.2/archival/libipkg/pkg_hash.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_hash.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_hash.c 2009-11-26 11:10:14.327858863 +0100
@@ -0,0 +1,623 @@
+/* ipkg_hash.c - the itsy package management system
+
@@ -11883,9 +11928,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_hash.c busybox-1.13.4/archiva
+}
+
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_hash.h busybox-1.13.4/archival/libipkg/pkg_hash.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_hash.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_hash.h 2009-05-31 15:40:37.113996958 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_hash.h busybox-1.15.2/archival/libipkg/pkg_hash.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_hash.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_hash.h 2009-11-26 11:10:14.331859652 +0100
@@ -0,0 +1,61 @@
+/* pkg_hash.h - the itsy package management system
+
@@ -11948,9 +11993,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_hash.h busybox-1.13.4/archiva
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_parse.c busybox-1.13.4/archival/libipkg/pkg_parse.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_parse.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_parse.c 2009-05-31 15:40:37.113996958 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_parse.c busybox-1.15.2/archival/libipkg/pkg_parse.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_parse.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_parse.c 2009-11-26 11:10:14.855857952 +0100
@@ -0,0 +1,368 @@
+/* pkg_parse.c - the itsy package management system
+
@@ -12320,9 +12365,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_parse.c busybox-1.13.4/archiv
+
+ return 0;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_parse.h busybox-1.13.4/archival/libipkg/pkg_parse.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_parse.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_parse.h 2009-05-31 15:40:37.113996958 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_parse.h busybox-1.15.2/archival/libipkg/pkg_parse.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_parse.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_parse.h 2009-11-26 11:10:14.855857952 +0100
@@ -0,0 +1,31 @@
+/* pkg_parse.h - the itsy package management system
+
@@ -12355,9 +12400,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_parse.h busybox-1.13.4/archiv
+int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src.c busybox-1.13.4/archival/libipkg/pkg_src.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_src.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_src.c 2009-05-31 15:40:37.113996958 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_src.c busybox-1.15.2/archival/libipkg/pkg_src.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_src.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_src.c 2009-11-26 11:10:14.859859580 +0100
@@ -0,0 +1,43 @@
+/* pkg_src.c - the itsy package management system
+
@@ -12402,9 +12447,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src.c busybox-1.13.4/archival
+}
+
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src.h busybox-1.13.4/archival/libipkg/pkg_src.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_src.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_src.h 2009-05-31 15:40:37.117996909 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_src.h busybox-1.15.2/archival/libipkg/pkg_src.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_src.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_src.h 2009-11-26 11:10:14.859859580 +0100
@@ -0,0 +1,34 @@
+/* pkg_src.h - the itsy package management system
+
@@ -12440,9 +12485,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src.h busybox-1.13.4/archival
+void pkg_src_deinit(pkg_src_t *src);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src_list.c busybox-1.13.4/archival/libipkg/pkg_src_list.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_src_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_src_list.c 2009-05-31 15:40:37.117996909 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_src_list.c busybox-1.15.2/archival/libipkg/pkg_src_list.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_src_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_src_list.c 2009-11-26 11:10:14.931856745 +0100
@@ -0,0 +1,75 @@
+/* pkg_src_list.c - the itsy package management system
+
@@ -12519,9 +12564,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src_list.c busybox-1.13.4/arc
+{
+ return (pkg_src_list_elt_t *) void_list_pop((void_list_t *) list);
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src_list.h busybox-1.13.4/archival/libipkg/pkg_src_list.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_src_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_src_list.h 2009-05-31 15:40:37.117996909 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_src_list.h busybox-1.15.2/archival/libipkg/pkg_src_list.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_src_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_src_list.h 2009-11-26 11:10:14.931856745 +0100
@@ -0,0 +1,57 @@
+/* pkg_src_list.h - the itsy package management system
+
@@ -12580,9 +12625,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_src_list.h busybox-1.13.4/arc
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_vec.c busybox-1.13.4/archival/libipkg/pkg_vec.c
---- busybox-1.13.4.orig/archival/libipkg/pkg_vec.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_vec.c 2009-05-31 15:40:37.117996909 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_vec.c busybox-1.15.2/archival/libipkg/pkg_vec.c
+--- busybox-1.15.2.orig/archival/libipkg/pkg_vec.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_vec.c 2009-11-26 11:10:14.935859211 +0100
@@ -0,0 +1,231 @@
+/* pkg_vec.c - the itsy package management system
+
@@ -12815,9 +12860,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_vec.c busybox-1.13.4/archival
+ qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
+}
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_vec.h busybox-1.13.4/archival/libipkg/pkg_vec.h
---- busybox-1.13.4.orig/archival/libipkg/pkg_vec.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/pkg_vec.h 2009-05-31 15:40:37.121997140 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/pkg_vec.h busybox-1.15.2/archival/libipkg/pkg_vec.h
+--- busybox-1.15.2.orig/archival/libipkg/pkg_vec.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/pkg_vec.h 2009-11-26 11:10:14.939859721 +0100
@@ -0,0 +1,62 @@
+/* pkg_vec.h - the itsy package management system
+
@@ -12881,9 +12926,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg_vec.h busybox-1.13.4/archival
+void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *));
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/sprintf_alloc.h busybox-1.13.4/archival/libipkg/sprintf_alloc.h
---- busybox-1.13.4.orig/archival/libipkg/sprintf_alloc.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/sprintf_alloc.h 2009-05-31 15:40:37.121997140 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/sprintf_alloc.h busybox-1.15.2/archival/libipkg/sprintf_alloc.h
+--- busybox-1.15.2.orig/archival/libipkg/sprintf_alloc.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/sprintf_alloc.h 2009-11-26 11:10:14.999857591 +0100
@@ -0,0 +1,25 @@
+/* sprintf_alloca.c -- like sprintf with memory allocation
+
@@ -12910,9 +12955,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/sprintf_alloc.h busybox-1.13.4/ar
+#define sprintf_alloc(str, fmt, args...) *str = xasprintf(fmt, ## args)
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/str_list.c busybox-1.13.4/archival/libipkg/str_list.c
---- busybox-1.13.4.orig/archival/libipkg/str_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/str_list.c 2009-05-31 15:40:37.121997140 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/str_list.c busybox-1.15.2/archival/libipkg/str_list.c
+--- busybox-1.15.2.orig/archival/libipkg/str_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/str_list.c 2009-11-26 11:10:14.999857591 +0100
@@ -0,0 +1,76 @@
+/* str_list.c - the itsy package management system
+
@@ -12990,9 +13035,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/str_list.c busybox-1.13.4/archiva
+ (void *)target_str,
+ (void_list_cmp_t)strcmp);
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/str_list.h busybox-1.13.4/archival/libipkg/str_list.h
---- busybox-1.13.4.orig/archival/libipkg/str_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/str_list.h 2009-05-31 15:40:37.121997140 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/str_list.h busybox-1.15.2/archival/libipkg/str_list.h
+--- busybox-1.15.2.orig/archival/libipkg/str_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/str_list.h 2009-11-26 11:10:15.071857267 +0100
@@ -0,0 +1,51 @@
+/* str_list.h - the itsy package management system
+
@@ -13045,9 +13090,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/str_list.h busybox-1.13.4/archiva
+char *str_list_remove_elt(str_list_t *list, const char *target_str);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/str_util.c busybox-1.13.4/archival/libipkg/str_util.c
---- busybox-1.13.4.orig/archival/libipkg/str_util.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/str_util.c 2009-05-31 15:40:37.125998767 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/str_util.c busybox-1.15.2/archival/libipkg/str_util.c
+--- busybox-1.15.2.orig/archival/libipkg/str_util.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/str_util.c 2009-11-26 11:10:15.075858615 +0100
@@ -0,0 +1,69 @@
+/* str_utils.c - the itsy package management system
+
@@ -13118,9 +13163,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/str_util.c busybox-1.13.4/archiva
+ return str ? strdup(str) : NULL;
+}
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/str_util.h busybox-1.13.4/archival/libipkg/str_util.h
---- busybox-1.13.4.orig/archival/libipkg/str_util.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/str_util.h 2009-05-31 15:40:37.125998767 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/str_util.h busybox-1.15.2/archival/libipkg/str_util.h
+--- busybox-1.15.2.orig/archival/libipkg/str_util.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/str_util.h 2009-11-26 11:10:15.075858615 +0100
@@ -0,0 +1,27 @@
+/* str_utils.h - the itsy package management system
+
@@ -13149,9 +13194,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/str_util.h busybox-1.13.4/archiva
+char *str_dup_safe(const char *str);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/user.c busybox-1.13.4/archival/libipkg/user.c
---- busybox-1.13.4.orig/archival/libipkg/user.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/user.c 2009-05-31 15:40:37.129998160 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/user.c busybox-1.15.2/archival/libipkg/user.c
+--- busybox-1.15.2.orig/archival/libipkg/user.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/user.c 2009-11-26 11:10:15.147857730 +0100
@@ -0,0 +1,61 @@
+/* user.c - the itsy package management system
+
@@ -13214,9 +13259,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/user.c busybox-1.13.4/archival/li
+
+ return response;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/user.h busybox-1.13.4/archival/libipkg/user.h
---- busybox-1.13.4.orig/archival/libipkg/user.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/user.h 2009-05-31 15:40:37.129998160 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/user.h busybox-1.15.2/archival/libipkg/user.h
+--- busybox-1.15.2.orig/archival/libipkg/user.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/user.h 2009-11-26 11:10:15.147857730 +0100
@@ -0,0 +1,23 @@
+/* user.c - the itsy package management system
+
@@ -13241,9 +13286,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/user.h busybox-1.13.4/archival/li
+
+char *get_user_response(const char *format, ...);
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/void_list.c busybox-1.13.4/archival/libipkg/void_list.c
---- busybox-1.13.4.orig/archival/libipkg/void_list.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/void_list.c 2009-05-31 15:40:37.129998160 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/void_list.c busybox-1.15.2/archival/libipkg/void_list.c
+--- busybox-1.15.2.orig/archival/libipkg/void_list.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/void_list.c 2009-11-26 11:10:15.151858798 +0100
@@ -0,0 +1,194 @@
+/* void_list.c - the itsy package management system
+
@@ -13439,9 +13484,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/void_list.c busybox-1.13.4/archiv
+ else
+ return NULL;
+}
-diff -Nur busybox-1.13.4.orig/archival/libipkg/void_list.h busybox-1.13.4/archival/libipkg/void_list.h
---- busybox-1.13.4.orig/archival/libipkg/void_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/void_list.h 2009-05-31 15:40:37.129998160 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/void_list.h busybox-1.15.2/archival/libipkg/void_list.h
+--- busybox-1.15.2.orig/archival/libipkg/void_list.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/void_list.h 2009-11-26 11:10:15.251858401 +0100
@@ -0,0 +1,59 @@
+/* void_list.h - the itsy package management system
+
@@ -13502,9 +13547,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/void_list.h busybox-1.13.4/archiv
+void *void_list_remove_elt(void_list_t *list, const void *target_data, void_list_cmp_t cmp);
+
+#endif
-diff -Nur busybox-1.13.4.orig/archival/libipkg/xsystem.c busybox-1.13.4/archival/libipkg/xsystem.c
---- busybox-1.13.4.orig/archival/libipkg/xsystem.c 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/xsystem.c 2009-05-31 15:40:37.133998111 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/xsystem.c busybox-1.15.2/archival/libipkg/xsystem.c
+--- busybox-1.15.2.orig/archival/libipkg/xsystem.c 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/xsystem.c 2009-11-26 11:10:15.251858401 +0100
@@ -0,0 +1,64 @@
+/* xsystem.c - system(3) with error messages
+
@@ -13570,9 +13615,9 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/xsystem.c busybox-1.13.4/archival
+ return -1;
+}
+
-diff -Nur busybox-1.13.4.orig/archival/libipkg/xsystem.h busybox-1.13.4/archival/libipkg/xsystem.h
---- busybox-1.13.4.orig/archival/libipkg/xsystem.h 1970-01-01 01:00:00.000000000 +0100
-+++ busybox-1.13.4/archival/libipkg/xsystem.h 2009-05-31 15:40:37.133998111 +0200
+diff -Nur busybox-1.15.2.orig/archival/libipkg/xsystem.h busybox-1.15.2/archival/libipkg/xsystem.h
+--- busybox-1.15.2.orig/archival/libipkg/xsystem.h 1970-01-01 01:00:00.000000000 +0100
++++ busybox-1.15.2/archival/libipkg/xsystem.h 2009-11-26 11:10:15.323857513 +0100
@@ -0,0 +1,34 @@
+/* xsystem.h - system(3) with error messages
+
@@ -13608,21 +13653,10 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/xsystem.h busybox-1.13.4/archival
+
+#endif
+
-diff -Nur busybox-1.13.4.orig/archival/libunarchive/Kbuild busybox-1.13.4/archival/libunarchive/Kbuild
---- busybox-1.13.4.orig/archival/libunarchive/Kbuild 2008-11-09 18:28:02.000000000 +0100
-+++ busybox-1.13.4/archival/libunarchive/Kbuild 2009-05-31 15:40:37.133998111 +0200
-@@ -39,6 +39,7 @@
- lib-$(CONFIG_DPKG) += $(DPKG_FILES)
- lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES)
- lib-$(CONFIG_GUNZIP) += decompress_unzip.o
-+lib-$(CONFIG_IPKG) += open_transformer.o get_header_tar.o get_header_tar_gz.o
- lib-$(CONFIG_RPM2CPIO) += decompress_unzip.o get_header_cpio.o
- lib-$(CONFIG_RPM) += open_transformer.o decompress_unzip.o get_header_cpio.o
- lib-$(CONFIG_TAR) += get_header_tar.o
-diff -Nur busybox-1.13.4.orig/archival/libunarchive/data_extract_all.c busybox-1.13.4/archival/libunarchive/data_extract_all.c
---- busybox-1.13.4.orig/archival/libunarchive/data_extract_all.c 2008-11-09 18:28:02.000000000 +0100
-+++ busybox-1.13.4/archival/libunarchive/data_extract_all.c 2009-05-31 15:40:37.133998111 +0200
-@@ -146,3 +146,16 @@
+diff -Nur busybox-1.15.2.orig/archival/libunarchive/data_extract_all.c busybox-1.15.2/archival/libunarchive/data_extract_all.c
+--- busybox-1.15.2.orig/archival/libunarchive/data_extract_all.c 2009-10-08 02:59:09.000000000 +0200
++++ busybox-1.15.2/archival/libunarchive/data_extract_all.c 2009-11-26 11:10:15.327858023 +0100
+@@ -147,3 +147,16 @@
}
}
}
@@ -13639,69 +13673,32 @@ diff -Nur busybox-1.13.4.orig/archival/libunarchive/data_extract_all.c busybox-1
+ data_extract_all(archive_handle);
+ }
+}
-diff -Nur busybox-1.13.4.orig/coreutils/md5_sha1_sum.c busybox-1.13.4/coreutils/md5_sha1_sum.c
---- busybox-1.13.4.orig/coreutils/md5_sha1_sum.c 2008-11-09 18:28:07.000000000 +0100
-+++ busybox-1.13.4/coreutils/md5_sha1_sum.c 2009-05-31 15:40:37.141999131 +0200
-@@ -8,14 +8,12 @@
-
- #include "libbb.h"
-
--typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
--
- #define FLAG_SILENT 1
- #define FLAG_CHECK 2
- #define FLAG_WARN 4
-
- /* This might be useful elsewhere */
--static unsigned char *hash_bin_to_hex(unsigned char *hash_value,
-+unsigned char *hash_bin_to_hex(unsigned char *hash_value,
- unsigned hash_length)
- {
- /* xzalloc zero-terminates */
-@@ -24,7 +22,7 @@
- return (unsigned char *)hex_value;
- }
-
--static uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
-+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo)
- {
- int src_fd, hash_len, count;
- union _ctx_ {
-diff -Nur busybox-1.13.4.orig/include/applets.h busybox-1.13.4/include/applets.h
---- busybox-1.13.4.orig/include/applets.h 2008-11-09 18:28:17.000000000 +0100
-+++ busybox-1.13.4/include/applets.h 2009-05-31 15:40:37.145999641 +0200
-@@ -203,6 +203,7 @@
- USE_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
- USE_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_ALWAYS))
-+USE_IPKG(APPLET(ipkg, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
- USE_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_NEVER))
- USE_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_NEVER))
-diff -Nur busybox-1.13.4.orig/include/libbb.h busybox-1.13.4/include/libbb.h
---- busybox-1.13.4.orig/include/libbb.h 2009-04-15 02:09:42.000000000 +0200
-+++ busybox-1.13.4/include/libbb.h 2009-05-31 15:40:37.149999313 +0200
-@@ -1309,6 +1309,7 @@
- extern const char bb_uuenc_tbl_std[];
- void bb_uuencode(char *store, const void *s, int length, const char *tbl) FAST_FUNC;
-
-+typedef enum { HASH_SHA1, HASH_MD5 } hash_algo_t;
- typedef struct sha1_ctx_t {
- uint32_t count[2];
- uint32_t hash[5];
-@@ -1317,6 +1318,8 @@
- void sha1_begin(sha1_ctx_t *ctx) FAST_FUNC;
- void sha1_hash(const void *data, size_t length, sha1_ctx_t *ctx) FAST_FUNC;
- void *sha1_end(void *resbuf, sha1_ctx_t *ctx) FAST_FUNC;
-+unsigned char *hash_bin_to_hex(unsigned char *hash_value, unsigned hash_length);
-+uint8_t *hash_file(const char *filename, hash_algo_t hash_algo);
-
- typedef struct md5_ctx_t {
- uint32_t A;
-diff -Nur busybox-1.13.4.orig/include/unarchive.h busybox-1.13.4/include/unarchive.h
---- busybox-1.13.4.orig/include/unarchive.h 2008-11-09 18:28:17.000000000 +0100
-+++ busybox-1.13.4/include/unarchive.h 2009-05-31 15:40:37.149999313 +0200
-@@ -94,6 +94,7 @@
+diff -Nur busybox-1.15.2.orig/archival/libunarchive/Kbuild busybox-1.15.2/archival/libunarchive/Kbuild
+--- busybox-1.15.2.orig/archival/libunarchive/Kbuild 2009-09-26 15:14:57.000000000 +0200
++++ busybox-1.15.2/archival/libunarchive/Kbuild 2009-11-26 11:10:15.323857513 +0100
+@@ -41,6 +41,7 @@
+ lib-$(CONFIG_DPKG) += $(DPKG_FILES)
+ lib-$(CONFIG_DPKG_DEB) += $(DPKG_FILES)
+ lib-$(CONFIG_GUNZIP) += decompress_unzip.o
++lib-$(CONFIG_IPKG) += open_transformer.o get_header_tar.o get_header_tar_gz.o
+ lib-$(CONFIG_RPM2CPIO) += decompress_unzip.o get_header_cpio.o
+ lib-$(CONFIG_RPM) += open_transformer.o decompress_unzip.o get_header_cpio.o
+ lib-$(CONFIG_TAR) += get_header_tar.o
+diff -Nur busybox-1.15.2.orig/include/applets.h busybox-1.15.2/include/applets.h
+--- busybox-1.15.2.orig/include/applets.h 2009-09-26 15:14:57.000000000 +0200
++++ busybox-1.15.2/include/applets.h 2009-11-26 11:32:09.719980839 +0100
+@@ -213,6 +213,7 @@
+ IF_IPCALC(APPLET(ipcalc, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_IPCRM(APPLET(ipcrm, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE))
+ IF_IPCS(APPLET(ipcs, _BB_DIR_USR_BIN, _BB_SUID_REQUIRE))
++IF_IPKG(APPLET(ipkg, _BB_DIR_USR_BIN, _BB_SUID_DROP))
+ IF_IPLINK(APPLET(iplink, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_IPROUTE(APPLET(iproute, _BB_DIR_BIN, _BB_SUID_DROP))
+ IF_IPRULE(APPLET(iprule, _BB_DIR_BIN, _BB_SUID_DROP))
+diff -Nur busybox-1.15.2.orig/include/unarchive.h busybox-1.15.2/include/unarchive.h
+--- busybox-1.15.2.orig/include/unarchive.h 2009-10-08 02:59:09.000000000 +0200
++++ busybox-1.15.2/include/unarchive.h 2009-11-26 11:10:15.547858684 +0100
+@@ -93,6 +93,7 @@
extern void data_skip(archive_handle_t *archive_handle) FAST_FUNC;
extern void data_extract_all(archive_handle_t *archive_handle) FAST_FUNC;
@@ -13709,10 +13706,10 @@ diff -Nur busybox-1.13.4.orig/include/unarchive.h busybox-1.13.4/include/unarchi
extern void data_extract_to_stdout(archive_handle_t *archive_handle) FAST_FUNC;
extern void data_extract_to_buffer(archive_handle_t *archive_handle) FAST_FUNC;
-diff -Nur busybox-1.13.4.orig/include/usage.h busybox-1.13.4/include/usage.h
---- busybox-1.13.4.orig/include/usage.h 2008-11-09 18:28:17.000000000 +0100
-+++ busybox-1.13.4/include/usage.h 2009-05-31 15:40:37.154000102 +0200
-@@ -1425,6 +1425,82 @@
+diff -Nur busybox-1.15.2.orig/include/usage.h busybox-1.15.2/include/usage.h
+--- busybox-1.15.2.orig/include/usage.h 2009-10-08 02:59:09.000000000 +0200
++++ busybox-1.15.2/include/usage.h 2009-11-26 11:10:15.551859473 +0100
+@@ -1557,6 +1557,82 @@
"$ ls -la /tmp/busybox*\n" \
"-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
@@ -13793,5 +13790,16 @@ diff -Nur busybox-1.13.4.orig/include/usage.h busybox-1.13.4/include/usage.h
+ "\teg: ipkg info 'libstd*' or ipkg search '*libop*' or ipkg remove 'libncur*'\n"
+
#define halt_trivial_usage \
- "[-d delay] [-n] [-f]" USE_FEATURE_WTMP(" [-w]")
+ "[-d delay] [-n] [-f]" IF_FEATURE_WTMP(" [-w]")
#define halt_full_usage "\n\n" \
+diff -Nur busybox-1.15.2.orig/Makefile busybox-1.15.2/Makefile
+--- busybox-1.15.2.orig/Makefile 2009-10-08 03:06:38.000000000 +0200
++++ busybox-1.15.2/Makefile 2009-11-26 11:10:12.791856498 +0100
+@@ -445,6 +445,7 @@
+
+ libs-y := \
+ archival/ \
++ archival/libipkg/ \
+ archival/libunarchive/ \
+ console-tools/ \
+ coreutils/ \
diff --git a/package/busybox/patches/002-find-empty.patch b/package/busybox/patches/002-find-empty.patch
deleted file mode 100644
index 4e0cc67fa..000000000
--- a/package/busybox/patches/002-find-empty.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-diff -Nur busybox-1.12.3/findutils/Config.in busybox-1.12.3-find/findutils/Config.in
---- busybox-1.12.3/findutils/Config.in 2008-09-28 20:04:28.000000000 +0200
-+++ busybox-1.12.3-find/findutils/Config.in 2009-01-06 22:24:46.086215240 +0100
-@@ -81,6 +81,14 @@
- help
- Support the 'find -inum' option for searching by inode number.
-
-+config FEATURE_FIND_EMPTY
-+ bool "Enable -empty option matching empty files and directories"
-+ default y
-+ depends on FIND
-+ help
-+ Support the 'find -empty' option for searching empty files
-+ and directories.
-+
- config FEATURE_FIND_EXEC
- bool "Enable -exec option allowing execution of commands"
- default y
-diff -Nur busybox-1.12.3/findutils/find.c busybox-1.12.3-find/findutils/find.c
---- busybox-1.12.3/findutils/find.c 2008-09-28 20:04:28.000000000 +0200
-+++ busybox-1.12.3-find/findutils/find.c 2009-01-06 23:33:53.201386585 +0100
-@@ -93,6 +93,7 @@
- USE_FEATURE_FIND_CONTEXT(ACTS(context, security_context_t context;))
- USE_FEATURE_FIND_PAREN( ACTS(paren, action ***subexpr;))
- USE_FEATURE_FIND_PRUNE( ACTS(prune))
-+USE_FEATURE_FIND_EMPTY( ACTS(empty))
- USE_FEATURE_FIND_DELETE( ACTS(delete))
- USE_FEATURE_FIND_EXEC( ACTS(exec, char **exec_argv; unsigned *subst_count; int exec_argc;))
- USE_FEATURE_FIND_GROUP( ACTS(group, gid_t gid;))
-@@ -318,6 +319,34 @@
- return exec_actions(ap->subexpr, fileName, statbuf);
- }
- #endif
-+#if ENABLE_FEATURE_FIND_EMPTY
-+ACTF(empty)
-+{
-+ DIR *d;
-+ struct dirent *dp;
-+ bool empty = TRUE;
-+
-+ if (S_ISDIR(statbuf->st_mode)) {
-+ d = opendir(fileName);
-+ if (d == NULL)
-+ bb_simple_perror_msg(fileName);
-+ for (dp = readdir(d); dp; dp = readdir(d)) {
-+ if (dp->d_name[0] != '.' ||
-+ (dp->d_name[1] != '\0' &&
-+ (dp->d_name[1] != '.' ||
-+ dp->d_name[2] != '\0'))) {
-+ empty = FALSE;
-+ break;
-+ }
-+ }
-+ closedir(d);
-+ return(empty);
-+ } else if (S_ISREG(statbuf->st_mode))
-+ return (statbuf->st_size == 0);
-+ else
-+ return FALSE;
-+}
-+#endif
- #if ENABLE_FEATURE_FIND_SIZE
- ACTF(size)
- {
-@@ -459,6 +488,7 @@
- USE_FEATURE_FIND_PRINT0( PARM_print0 ,)
- USE_FEATURE_FIND_DEPTH( PARM_depth ,)
- USE_FEATURE_FIND_PRUNE( PARM_prune ,)
-+ USE_FEATURE_FIND_EMPTY( PARM_empty ,)
- USE_FEATURE_FIND_DELETE( PARM_delete ,)
- USE_FEATURE_FIND_EXEC( PARM_exec ,)
- USE_FEATURE_FIND_PAREN( PARM_char_brace,)
-@@ -492,6 +522,7 @@
- USE_FEATURE_FIND_PRINT0( "-print0\0" )
- USE_FEATURE_FIND_DEPTH( "-depth\0" )
- USE_FEATURE_FIND_PRUNE( "-prune\0" )
-+ USE_FEATURE_FIND_EMPTY( "-empty\0" )
- USE_FEATURE_FIND_DELETE( "-delete\0" )
- USE_FEATURE_FIND_EXEC( "-exec\0" )
- USE_FEATURE_FIND_PAREN( "(\0" )
-@@ -610,6 +641,12 @@
- (void) ALLOC_ACTION(prune);
- }
- #endif
-+#if ENABLE_FEATURE_FIND_EMPTY
-+ else if (parm == PARM_empty) {
-+ USE_FEATURE_FIND_NOT( invert_flag = 0; )
-+ (void) ALLOC_ACTION(empty);
-+ }
-+#endif
- #if ENABLE_FEATURE_FIND_DELETE
- else if (parm == PARM_delete) {
- need_print = 0;
-diff -Nur busybox-1.12.3/include/usage.h busybox-1.12.3-find/include/usage.h
---- busybox-1.12.3/include/usage.h 2008-09-28 20:04:26.000000000 +0200
-+++ busybox-1.12.3-find/include/usage.h 2009-01-07 00:07:49.832669156 +0100
-@@ -1140,6 +1140,8 @@
- "\n -group NAME File belongs to group NAME (numeric group ID allowed)") \
- USE_FEATURE_FIND_DEPTH( \
- "\n -depth Process directory name after traversing it") \
-+ USE_FEATURE_FIND_EMPTY( \
-+ "\n -empty File or directory is empty") \
- USE_FEATURE_FIND_SIZE( \
- "\n -size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.))." \
- "\n +/-N: file size is bigger/smaller than N") \
diff --git a/package/busybox/patches/003-ip-config.patch b/package/busybox/patches/003-ip-config.patch
deleted file mode 100644
index 8c32dafe6..000000000
--- a/package/busybox/patches/003-ip-config.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Nur busybox-1.13.4.orig/networking/Config.in busybox-1.13.4/networking/Config.in
---- busybox-1.13.4.orig/networking/Config.in 2008-11-09 18:27:59.000000000 +0100
-+++ busybox-1.13.4/networking/Config.in 2009-08-12 23:12:27.132893048 +0200
-@@ -338,10 +338,10 @@
- bool "Use busybox ip applet"
- default y
- depends on FEATURE_IFUPDOWN_IP
-- select IP
-- select FEATURE_IP_ADDRESS
-- select FEATURE_IP_LINK
-- select FEATURE_IP_ROUTE
-+ #select IP
-+ #select FEATURE_IP_ADDRESS
-+ #select FEATURE_IP_LINK
-+ #select FEATURE_IP_ROUTE
- help
- Use the busybox iproute "ip" applet to implement "ifupdown".
-
diff --git a/package/busybox/patches/patch-Makefile b/package/busybox/patches/patch-Makefile
deleted file mode 100644
index 45b8f75a9..000000000
--- a/package/busybox/patches/patch-Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.13.4.orig/Makefile 2009-04-15 02:11:01.000000000 +0200
-+++ busybox-1.13.4/Makefile 2009-05-06 20:30:25.953125000 +0200
-@@ -277,7 +277,7 @@ HOSTCXXFLAGS :=
- # We need some generic definitions
- include $(srctree)/scripts/Kbuild.include
-
--HOSTCFLAGS += $(call hostcc-option,-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer,)
-+HOSTCFLAGS += $(call hostcc-option,-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DHOSTCOMPILE=1,)
- HOSTCXXFLAGS += -O2
-
- # For maximum performance (+ possibly random breakage, uncomment
diff --git a/package/busybox/patches/patch-Makefile_flags b/package/busybox/patches/patch-Makefile_flags
deleted file mode 100644
index 72eb6b709..000000000
--- a/package/busybox/patches/patch-Makefile_flags
+++ /dev/null
@@ -1,21 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.12.3.orig/Makefile.flags 2008-09-28 20:04:30.000000000 +0200
-+++ busybox-1.12.3/Makefile.flags 2008-12-25 20:27:43.092824157 +0100
-@@ -46,15 +46,12 @@ CFLAGS += $(call cc-option,-falign-funct
- # be fixed..
- #CFLAGS += $(call cc-option,-Wconversion,)
-
--ifneq ($(CONFIG_DEBUG),y)
--CFLAGS += $(call cc-option,-Os,)
--else
-+ifeq ($(CONFIG_DEBUG),y)
- CFLAGS += $(call cc-option,-g,)
-+else
- #CFLAGS += "-D_FORTIFY_SOURCE=2"
- ifeq ($(CONFIG_DEBUG_PESSIMIZE),y)
- CFLAGS += $(call cc-option,-O0,)
--else
--CFLAGS += $(call cc-option,-Os,)
- endif
- endif
-
diff --git a/package/busybox/patches/patch-include_libbb_h b/package/busybox/patches/patch-include_libbb_h
deleted file mode 100644
index 37c500bdc..000000000
--- a/package/busybox/patches/patch-include_libbb_h
+++ /dev/null
@@ -1,80 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.13.4.orig/include/libbb.h 2009-04-15 02:09:42.000000000 +0200
-+++ busybox-1.13.4/include/libbb.h 2009-05-09 02:06:09.000000000 +0200
-@@ -44,6 +44,7 @@
- #define PATH_MAX 256
- #endif
-
-+#if !(defined __APPLE__ || defined __FreeBSD__)
- #ifdef HAVE_MNTENT_H
- #include <mntent.h>
- #endif
-@@ -58,6 +59,7 @@
- #include <selinux/flask.h>
- #include <selinux/av_permissions.h>
- #endif
-+#endif
-
- #if ENABLE_LOCALE_SUPPORT
- #include <locale.h>
-@@ -71,9 +73,11 @@
-
- #include <pwd.h>
- #include <grp.h>
-+#ifndef HOSTCOMPILE
- #if ENABLE_FEATURE_SHADOWPASSWDS
- # include <shadow.h>
- #endif
-+#endif
-
- /* Some libc's forget to declare these, do it ourself */
-
-@@ -409,7 +413,9 @@ struct BUG_too_small {
- char BUG_family_t_too_small[(0
- | AF_UNSPEC
- | AF_INET
-+#ifndef HOSTCOMPILE
- | AF_INET6
-+#endif
- | AF_UNIX
- #ifdef AF_PACKET
- | AF_PACKET
-@@ -810,7 +816,9 @@ enum {
- # define bb_daemonize_or_rexec(flags, argv) bb_daemonize_or_rexec(flags)
- # define bb_daemonize(flags) bb_daemonize_or_rexec(flags, bogus)
- #else
-+#ifndef HOSTCOMPILE
- void re_exec(char **argv) NORETURN FAST_FUNC;
-+#endif
- void forkexit_or_rexec(char **argv) FAST_FUNC;
- extern bool re_execed;
- int BUG_fork_is_unavailable_on_nommu(void) FAST_FUNC;
-@@ -1003,10 +1011,12 @@ extern void run_applet_and_exit(const ch
- extern void run_applet_no_and_exit(int a, char **argv) NORETURN FAST_FUNC;
- #endif
-
-+#if !(defined __APPLE__ || defined __FreeBSD__)
- #ifdef HAVE_MNTENT_H
- extern int match_fstype(const struct mntent *mt, const char *fstypes) FAST_FUNC;
- extern struct mntent *find_mount_point(const char *name, const char *table) FAST_FUNC;
- #endif
-+#endif
- extern void erase_mtab(const char * name) FAST_FUNC;
- extern unsigned int tty_baud_to_value(speed_t speed) FAST_FUNC;
- extern speed_t tty_value_to_baud(unsigned int value) FAST_FUNC;
-@@ -1084,6 +1094,7 @@ extern void bb_do_delay(int seconds) FAS
- extern void change_identity(const struct passwd *pw) FAST_FUNC;
- extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args) NORETURN FAST_FUNC;
- extern void run_shell(const char *shell, int loginshell, const char *command, const char **additional_args) FAST_FUNC;
-+#if !(defined __APPLE__ || defined __FreeBSD__)
- #if ENABLE_SELINUX
- extern void renew_current_security_context(void) FAST_FUNC;
- extern void set_current_security_context(security_context_t sid) FAST_FUNC;
-@@ -1094,6 +1105,7 @@ extern void selinux_preserve_fcontext(in
- #else
- #define selinux_preserve_fcontext(fdesc) ((void)0)
- #endif
-+#endif
- extern void selinux_or_die(void) FAST_FUNC;
- extern int restricted_shell(const char *shell) FAST_FUNC;
-
diff --git a/package/busybox/patches/patch-include_platform_h b/package/busybox/patches/patch-include_platform_h
deleted file mode 100644
index b3c9ffd7f..000000000
--- a/package/busybox/patches/patch-include_platform_h
+++ /dev/null
@@ -1,30 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.13.4.orig/include/platform.h 2008-11-09 18:28:17.000000000 +0100
-+++ busybox-1.13.4/include/platform.h 2009-05-08 22:48:50.000000000 +0200
-@@ -116,7 +116,7 @@
- # include <sex.h>
- # define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN)
- # define __BYTE_ORDER BYTE_ORDER
--#elif !defined __APPLE__
-+#elif !(defined __APPLE__ || defined __FreeBSD__)
- # include <byteswap.h>
- # include <endian.h>
- #endif
-@@ -162,7 +162,7 @@
-
- /* ---- Networking ------------------------------------------ */
-
--#ifndef __APPLE__
-+#if !(defined __APPLE__ || defined __FreeBSD__)
- # include <arpa/inet.h>
- # ifndef __socklen_t_defined
- typedef int socklen_t;
-@@ -210,7 +210,7 @@ __extension__ typedef unsigned long long
- #define HAVE_FEATURES_H
- #include <stdint.h>
- #define HAVE_STDINT_H
--#elif !defined __APPLE__
-+#elif !(defined __APPLE__ || defined __FreeBSD__)
- /* Largest integral types. */
- #if __BIG_ENDIAN__
- typedef long intmax_t;
diff --git a/package/busybox/patches/patch-networking_traceroute_c b/package/busybox/patches/patch-networking_traceroute_c
deleted file mode 100644
index 081bf9232..000000000
--- a/package/busybox/patches/patch-networking_traceroute_c
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.13.4.orig/networking/traceroute.c 2008-11-09 18:27:59.000000000 +0100
-+++ busybox-1.13.4/networking/traceroute.c 2009-05-12 16:26:08.000000000 +0200
-@@ -273,7 +273,7 @@ typedef struct outdata {
- unsigned char seq; /* sequence number of this packet */
- unsigned char ttl; /* ttl packet left with */
- // UNUSED. Retaining to have the same packet size.
-- struct timeval tv_UNUSED PACKED; /* time packet left */
-+ struct timeval tv_UNUSED; /* time packet left */
- } outdata_t;
-
- struct IFADDRLIST {
diff --git a/package/busybox/patches/patch-networking_udhcp_dhcpd_c b/package/busybox/patches/patch-networking_udhcp_dhcpd_c
deleted file mode 100644
index 26b6590c3..000000000
--- a/package/busybox/patches/patch-networking_udhcp_dhcpd_c
+++ /dev/null
@@ -1,11 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.13.4.orig/networking/udhcp/dhcpd.c 2008-11-09 18:27:58.000000000 +0100
-+++ busybox-1.13.4/networking/udhcp/dhcpd.c 2009-05-12 16:32:40.000000000 +0200
-@@ -196,7 +196,6 @@ int udhcpd_main(int argc UNUSED_PARAM, c
- if (lease) {
- if (server_id) {
- /* SELECTING State */
-- DEBUG("server_id = %08x", ntohl(server_id_align));
- if (server_id_align == server_config.server && requested
- && requested_align == lease->yiaddr
- ) {
diff --git a/package/busybox/patches/patch-runit_runit_lib_h b/package/busybox/patches/patch-runit_runit_lib_h
deleted file mode 100644
index da6327854..000000000
--- a/package/busybox/patches/patch-runit_runit_lib_h
+++ /dev/null
@@ -1,16 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.13.4.orig/runit/runit_lib.h 2008-11-09 18:28:19.000000000 +0100
-+++ busybox-1.13.4/runit/runit_lib.h 2009-05-12 16:34:56.000000000 +0200
-@@ -88,9 +88,9 @@ extern unsigned pmatch(const char *, con
- * runsv / supervise / sv stuff
- */
- typedef struct svstatus_t {
-- uint64_t time_be64 PACKED;
-- uint32_t time_nsec_be32 PACKED;
-- uint32_t pid_le32 PACKED;
-+ uint64_t time_be64;
-+ uint32_t time_nsec_be32;
-+ uint32_t pid_le32;
- uint8_t paused;
- uint8_t want;
- uint8_t got_term;
diff --git a/package/busybox/patches/patch-util-linux_fdisk_osf_c b/package/busybox/patches/patch-util-linux_fdisk_osf_c
deleted file mode 100644
index 75c8a858a..000000000
--- a/package/busybox/patches/patch-util-linux_fdisk_osf_c
+++ /dev/null
@@ -1,12 +0,0 @@
-$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- busybox-1.13.4.orig/util-linux/fdisk_osf.c 2008-11-09 18:28:22.000000000 +0100
-+++ busybox-1.13.4/util-linux/fdisk_osf.c 2009-05-12 16:39:12.000000000 +0200
-@@ -45,7 +45,7 @@
-
- #if defined(i386) || defined(__sparc__) || defined(__arm__) \
- || defined(__m68k__) || defined(__mips__) || defined(__s390__) \
-- || defined(__sh__) || defined(__x86_64__)
-+ || defined(__sh__) || defined(__x86_64__) || defined(__cris__)
- #define BSD_LABELSECTOR 1
- #define BSD_LABELOFFSET 0
- #elif defined(__alpha__) || defined(__powerpc__) || defined(__ia64__) \