From 0c6fb98d013e4ffc664935a51adce94254d10f83 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 27 Nov 2009 19:33:20 +0100 Subject: update busybox and default config --- package/busybox/Makefile | 4 +- package/busybox/config/Config.in | 418 +++--- package/busybox/config/archival/Config.in | 58 +- package/busybox/config/console-tools/Config.in | 2 +- package/busybox/config/coreutils/Config.in | 92 +- package/busybox/config/debianutils/Config.in | 10 +- package/busybox/config/editors/Config.in | 9 +- package/busybox/config/findutils/Config.in | 83 +- package/busybox/config/init/Config.in | 50 +- package/busybox/config/libbb/Config.in | 27 +- package/busybox/config/loginutils/Config.in | 66 +- package/busybox/config/mailutils/Config.in | 16 - package/busybox/config/miscutils/Config.in | 153 +- package/busybox/config/modutils/Config.in | 42 +- package/busybox/config/networking/Config.in | 118 +- package/busybox/config/networking/udhcp/Config.in | 13 +- package/busybox/config/procps/Config.in | 21 +- package/busybox/config/selinux/Config.in | 4 +- package/busybox/config/shell/Config.in | 113 +- package/busybox/config/sysklogd/Config.in | 4 +- package/busybox/config/util-linux/Config.in | 79 +- package/busybox/patches/001-ipkg.patch | 1548 ++++++++++---------- package/busybox/patches/002-find-empty.patch | 105 -- package/busybox/patches/003-ip-config.patch | 18 - package/busybox/patches/patch-Makefile | 12 - package/busybox/patches/patch-Makefile_flags | 21 - package/busybox/patches/patch-include_libbb_h | 80 - package/busybox/patches/patch-include_platform_h | 30 - .../busybox/patches/patch-networking_traceroute_c | 12 - .../busybox/patches/patch-networking_udhcp_dhcpd_c | 11 - package/busybox/patches/patch-runit_runit_lib_h | 16 - .../busybox/patches/patch-util-linux_fdisk_osf_c | 12 - 32 files changed, 1622 insertions(+), 1625 deletions(-) delete mode 100644 package/busybox/patches/002-find-empty.patch delete mode 100644 package/busybox/patches/003-ip-config.patch delete mode 100644 package/busybox/patches/patch-Makefile delete mode 100644 package/busybox/patches/patch-Makefile_flags delete mode 100644 package/busybox/patches/patch-include_libbb_h delete mode 100644 package/busybox/patches/patch-include_platform_h delete mode 100644 package/busybox/patches/patch-networking_traceroute_c delete mode 100644 package/busybox/patches/patch-networking_udhcp_dhcpd_c delete mode 100644 package/busybox/patches/patch-runit_runit_lib_h delete mode 100644 package/busybox/patches/patch-util-linux_fdisk_osf_c (limited to 'package') 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 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: -# -# = [Ssx-][Ssx-][x-] (|).(|) -# -# 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: -# . - -#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 \ -# LDFLAGS=-L \ -# 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/ -> 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: + + = [Ssx-][Ssx-][x-] (|).(|) + + 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: + . + +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 \ + LDFLAGS=-L \ + 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/ -> 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 ') -# 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 ') + 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 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/[/] 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 -+# 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,17 +6679,81 @@ 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 -@@ -0,0 +1,532 @@ -+/* ipkglib.c - the itsy package management system +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 ++# Copyright (C) 2006 OpenWrt.org ++# ++# Licensed under the GPL v2 or later, see the file LICENSE in this tarball. + -+ Florina Boor ++LIBIPKG_CORE_OBJS:= \ ++ args.o \ ++ libipkg.o \ ++ user.o \ + -+ Copyright (C) 2003 kernel concepts ++LIBIPKG_CMD_OBJS:= \ ++ ipkg_cmd.o \ ++ ipkg_configure.o \ ++ ipkg_download.o \ ++ ipkg_install.o \ ++ ipkg_remove.o \ ++ ipkg_upgrade.o \ + -+ This program is free software; you can redistribute it and/or ++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 ++ ++ Florina Boor ++ ++ Copyright (C) 2003 kernel concepts ++ ++ 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. @@ -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,15 +9377,15 @@ 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 +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 + -+ Copyright (C) 2001 University of Southern California ++ Steven M. Ayer ++ ++ Copyright (C) 2002 Compaq Computer Corporation + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as @@ -9353,329 +9398,96 @@ diff -Nur busybox-1.13.4.orig/archival/libipkg/pkg.h busybox-1.13.4/archival/lib + General Public License for more details. +*/ + -+#ifndef PKG_H -+#define PKG_H -+ -+#include -+#include -+#include -+ -+#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 ++#include "ipkg.h" ++#include ++#include ++ ++#include "pkg.h" ++#include "ipkg_utils.h" ++#include "pkg_hash.h" ++#include "ipkg_message.h" ++#include "pkg_parse.h" ++#include "hash_table.h" + -+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; ++static int parseDepends(compound_depend_t *compound_depend, hash_table_t * hash, char * depend_str); ++static depend_t * depend_init(void); ++static void depend_deinit(depend_t *d); ++static char ** add_unresolved_dep(pkg_t * pkg, char ** the_lost, int ref_ndx); ++static char ** merge_unresolved(char ** oldstuff, char ** newstuff); ++static int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg); ++int is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg); + -+enum pkg_state_flag ++static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata) +{ -+ 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) ++ depend_t *depend = (depend_t *)cdata; ++ if ((pkg->state_status == SS_INSTALLED || pkg->state_status == SS_UNPACKED) && version_constraints_satisfied(depend, pkg)) ++ return 1; ++ else ++ return 0; ++} + -+enum pkg_state_status ++static int pkg_constraint_satisfied(pkg_t *pkg, void *cdata) +{ -+ 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: ++ depend_t *depend = (depend_t *)cdata; ++#if 0 ++ pkg_t * temp = pkg_new(); ++ int comparison; ++ parseVersion(temp, depend->version); ++ comparison = pkg_compare_versions(pkg, temp); ++ free(temp); + -+ 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. ++ fprintf(stderr, "%s: pkg=%s pkg->version=%s constraint=%p type=%d version=%s comparison=%d satisfied=%d\n", ++ __FUNCTION__, pkg->name, pkg->version, ++ depend, depend->constraint, depend->version, ++ comparison, version_constraints_satisfied(depend, pkg)); ++#endif ++ if (version_constraints_satisfied(depend, pkg)) ++ return 1; ++ else ++ return 0; ++} + -+ The 3 state fields could possibly also go into their own struct. ++/* returns ndependences or negative error value */ ++int pkg_hash_fetch_unsatisfied_dependencies(ipkg_conf_t *conf, pkg_t * pkg, ++ pkg_vec_t *unsatisfied, char *** unresolved) ++{ ++ pkg_t * satisfier_entry_pkg; ++ register int i, j, k, l; ++ int count, found; ++ char ** the_lost; ++ abstract_pkg_t * ab_pkg; + -+ 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 ++ /* ++ * this is a setup to check for redundant/cyclic dependency checks, ++ * which are marked at the abstract_pkg level ++ */ ++ if (!(ab_pkg = pkg->parent)) { ++ fprintf(stderr, "%s:%d: something terribly wrong with pkg %s\n", __FUNCTION__, __LINE__, pkg->name); ++ *unresolved = NULL; ++ return 0; ++ } ++ if (ab_pkg->dependencies_checked) { /* avoid duplicate or cyclic checks */ ++ *unresolved = NULL; ++ return 0; ++ } else { ++ ab_pkg->dependencies_checked = 1; /* mark it for subsequent visits */ ++ } ++ /**/ + -+ 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; ++ count = pkg->pre_depends_count + pkg->depends_count + pkg->recommends_count + pkg->suggests_count; ++ if (!count){ ++ *unresolved = NULL; ++ return 0; ++ } + -+ /* Abhaya: new conflicts */ -+ char **conflicts_str; -+ compound_depend_t * conflicts; -+ int conflicts_count; ++ the_lost = NULL; + -+ 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 -@@ -0,0 +1,1032 @@ -+/* pkg_depends.c - the itsy package management system -+ -+ Steven M. Ayer -+ -+ Copyright (C) 2002 Compaq Computer Corporation -+ -+ 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. -+*/ -+ -+#include "ipkg.h" -+#include -+#include -+ -+#include "pkg.h" -+#include "ipkg_utils.h" -+#include "pkg_hash.h" -+#include "ipkg_message.h" -+#include "pkg_parse.h" -+#include "hash_table.h" -+ -+static int parseDepends(compound_depend_t *compound_depend, hash_table_t * hash, char * depend_str); -+static depend_t * depend_init(void); -+static void depend_deinit(depend_t *d); -+static char ** add_unresolved_dep(pkg_t * pkg, char ** the_lost, int ref_ndx); -+static char ** merge_unresolved(char ** oldstuff, char ** newstuff); -+static int is_pkg_in_pkg_vec(pkg_vec_t * vec, pkg_t * pkg); -+int is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg); -+ -+static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata) -+{ -+ depend_t *depend = (depend_t *)cdata; -+ if ((pkg->state_status == SS_INSTALLED || pkg->state_status == SS_UNPACKED) && version_constraints_satisfied(depend, pkg)) -+ return 1; -+ else -+ return 0; -+} -+ -+static int pkg_constraint_satisfied(pkg_t *pkg, void *cdata) -+{ -+ depend_t *depend = (depend_t *)cdata; -+#if 0 -+ pkg_t * temp = pkg_new(); -+ int comparison; -+ parseVersion(temp, depend->version); -+ comparison = pkg_compare_versions(pkg, temp); -+ free(temp); -+ -+ fprintf(stderr, "%s: pkg=%s pkg->version=%s constraint=%p type=%d version=%s comparison=%d satisfied=%d\n", -+ __FUNCTION__, pkg->name, pkg->version, -+ depend, depend->constraint, depend->version, -+ comparison, version_constraints_satisfied(depend, pkg)); -+#endif -+ if (version_constraints_satisfied(depend, pkg)) -+ return 1; -+ else -+ return 0; -+} -+ -+/* returns ndependences or negative error value */ -+int pkg_hash_fetch_unsatisfied_dependencies(ipkg_conf_t *conf, pkg_t * pkg, -+ pkg_vec_t *unsatisfied, char *** unresolved) -+{ -+ pkg_t * satisfier_entry_pkg; -+ register int i, j, k, l; -+ int count, found; -+ char ** the_lost; -+ abstract_pkg_t * ab_pkg; -+ -+ /* -+ * this is a setup to check for redundant/cyclic dependency checks, -+ * which are marked at the abstract_pkg level -+ */ -+ if (!(ab_pkg = pkg->parent)) { -+ fprintf(stderr, "%s:%d: something terribly wrong with pkg %s\n", __FUNCTION__, __LINE__, pkg->name); -+ *unresolved = NULL; -+ return 0; -+ } -+ if (ab_pkg->dependencies_checked) { /* avoid duplicate or cyclic checks */ -+ *unresolved = NULL; -+ return 0; -+ } else { -+ ab_pkg->dependencies_checked = 1; /* mark it for subsequent visits */ -+ } -+ /**/ -+ -+ count = pkg->pre_depends_count + pkg->depends_count + pkg->recommends_count + pkg->suggests_count; -+ if (!count){ -+ *unresolved = NULL; -+ return 0; -+ } -+ -+ the_lost = NULL; -+ -+ /* foreach dependency */ -+ for (i = 0; i < count; i++) { -+ compound_depend_t * compound_depend = &pkg->depends[i]; -+ depend_t ** possible_satisfiers = compound_depend->possibilities;; -+ found = 0; -+ satisfier_entry_pkg = NULL; ++ /* foreach dependency */ ++ for (i = 0; i < count; i++) { ++ compound_depend_t * compound_depend = &pkg->depends[i]; ++ depend_t ** possible_satisfiers = compound_depend->possibilities;; ++ found = 0; ++ satisfier_entry_pkg = NULL; + + if (compound_depend->type == GREEDY_DEPEND) { + /* foreach possible satisfier */ @@ -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 ++#include ++#include ++ ++#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 - #endif -@@ -58,6 +59,7 @@ - #include - #include - #endif -+#endif - - #if ENABLE_LOCALE_SUPPORT - #include -@@ -71,9 +73,11 @@ - - #include - #include -+#ifndef HOSTCOMPILE - #if ENABLE_FEATURE_SHADOWPASSWDS - # include - #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 - # define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN) - # define __BYTE_ORDER BYTE_ORDER --#elif !defined __APPLE__ -+#elif !(defined __APPLE__ || defined __FreeBSD__) - # include - # include - #endif -@@ -162,7 +162,7 @@ - - /* ---- Networking ------------------------------------------ */ - --#ifndef __APPLE__ -+#if !(defined __APPLE__ || defined __FreeBSD__) - # include - # ifndef __socklen_t_defined - typedef int socklen_t; -@@ -210,7 +210,7 @@ __extension__ typedef unsigned long long - #define HAVE_FEATURES_H - #include - #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__) \ -- cgit v1.2.3