include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
-PKG_VERSION:=1.7.2
+PKG_VERSION:=1.8.1
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.busybox.net/downloads \
http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=c91ec9756e2000073a9dd8fa9fc3f89e
+PKG_MD5SUM:=c54554851d989328654a3eeab915a04f
include $(INCLUDE_DIR)/package.mk
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)
+ (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)
+ (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
Robert 'sandman' Griebl has more information here:
<url: http://www.softforge.de/bb/suid.html >.
config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
bool "Build shared libbusybox"
default n
+ depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
+ help
+ Build a shared library libbusybox.so.N.N.N which contains all
+ busybox code.
+
+ This feature allows every applet to be built as a tiny
+ separate executable. Enabling it for "one big busybox binary"
+ approach serves no purpose and increases code size.
+ You should almost certainly say "no" to this.
+
+### config FEATURE_FULL_LIBBUSYBOX
+### bool "Feature-complete libbusybox"
+### default n if !FEATURE_SHARED_BUSYBOX
+### depends on BUILD_LIBBUSYBOX
+### help
+### Build a libbusybox with the complete feature-set, disregarding
+### the actually selected config.
+###
+### Normally, libbusybox will only contain the features which are
+### used by busybox itself. If you plan to write a separate
+### standalone application which uses libbusybox say 'Y'.
+###
+### Note: libbusybox is GPL, not LGPL, and exports no stable API that
+### might act as a copyright barrier. We can and will modify the
+### exported function set between releases (even minor version number
+### changes), and happily break out-of-tree features.
+###
+### Say 'N' if in doubt.
+
+config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
+ bool "Produce a binary for each applet, linked against libbusybox"
+ default n
+ depends on !BUSYBOX_CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
help
- Build a shared library libbusybox.so which contains all
- libraries used inside busybox.
-
- This is an experimental feature intended to support the upcoming
- "make standalone" mode. Enabling it against the one big busybox
- binary serves no purpose (and increases the size). You should
- almost certainly say "no" to this right now.
-
-config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX
- bool "Feature-complete libbusybox"
- default n if !BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
- depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
- help
- Build a libbusybox with the complete feature-set, disregarding
- the actually selected config.
+ 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.
- Normally, libbusybox will only contain the features which are
- used by busybox itself. If you plan to write a separate
- standalone application which uses libbusybox say 'Y'.
+ If your CPU architecture allows for sharing text/rodata,
+ having single binary is more optimal.
- Note: libbusybox is GPL, not LGPL, and exports no stable API that
- might act as a copyright barrier. We can and will modify the
- exported function set between releases (even minor version number
- changes), and happily break out-of-tree features.
+ Each applet will be a tiny program, dynamically linked
+ against libbusybox.so.N.N.N.
- Say 'N' if in doubt.
+ You need to have a working dynamic linker.
config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
- bool "Use shared libbusybox for busybox"
- default n if BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+ bool "Produce additional busybox binary linked against libbusybox"
+ default n
depends on !BUSYBOX_CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
help
- Use libbusybox.so also for busybox itself.
- You need to have a working dynamic linker to use this variant.
+ Build busybox, dynamically linked against libbusybox.so.N.N.N.
+
+ You need to have a working dynamic linker.
+
+### config BUILD_AT_ONCE
+### bool "Compile all sources at once"
+### default n
+### help
+### Normally each source-file is compiled with one invocation of
+### the compiler.
+### If you set this option, all sources are compiled at once.
+### This gives the compiler more opportunities to optimize which can
+### result in smaller and/or faster binaries.
+###
+### Setting this option will consume alot of memory, e.g. if you
+### enable all applets with all features, gcc uses more than 300MB
+### RAM during compilation of busybox.
+###
+### This option is most likely only beneficial for newer compilers
+### such as gcc-4.1 and above.
+###
+### Say 'N' unless you know what you are doing.
config BUSYBOX_CONFIG_LFS
bool
cp, mount, tar, and many others. If you want to access files larger
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
-config BUSYBOX_CONFIG_BUILD_AT_ONCE
- bool "Compile all sources at once"
- default n
- help
- Normally each source-file is compiled with one invocation of
- the compiler.
- If you set this option, all sources are compiled at once.
- This gives the compiler more opportunities to optimize which can
- result in smaller and/or faster binaries.
-
- Setting this option will consume alot of memory, e.g. if you
- enable all applets with all features, gcc uses more than 300MB
- RAM during compilation of busybox.
-
- This option is most likely only beneficial for newer compilers
- such as gcc-4.1 and above.
-
- Say 'N' unless you know what you are doing.
-
endmenu
menu 'Debugging Options'
Install applets as hard-links to the busybox binary. This might count
on a filesystem with few inodes.
+config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
+ bool "as script wrappers"
+ help
+ Install applets as script wrappers that call the busybox binary.
+
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
bool "not installed"
depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE || BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
endchoice
+choice
+ prompt "/bin/sh applet link"
+ default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
+ depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
+ help
+ Choose how you install /bin/sh applet link.
+
+config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
+ bool "as soft-link"
+ help
+ Install /bin/sh applet as soft-link to the busybox binary.
+
+config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
+ bool "as hard-link"
+ help
+ Install /bin/sh applet as hard-link to the busybox binary.
+
+config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
+ bool "as script wrapper"
+ help
+ Install /bin/sh applet as script wrapper that call the busybox binary.
+
+endchoice
+
config BUSYBOX_CONFIG_PREFIX
string "BusyBox installation prefix"
default "./_install"
conventional LZ77/LZ78-based compressors, and approaches the
performance of the PPM family of statistical compressors.
- The BusyBox bunzip2 applet is limited to de-compression only.
- On an x86 system, this applet adds about 11K.
-
Unless you have a specific application which requires bunzip2, you
should probably say N here.
+config BUSYBOX_CONFIG_BZIP2
+ bool "bzip2"
+ default n
+ help
+ bzip2 is a compression utility using the Burrows-Wheeler block
+ sorting text compression algorithm, and Huffman coding. Compression
+ is generally considerably better than that achieved by more
+ conventional LZ77/LZ78-based compressors, and approaches the
+ performance of the PPM family of statistical compressors.
+
+ Unless you have a specific application which requires bzip2, you
+ should probably say N here.
+
config BUSYBOX_CONFIG_CPIO
bool "cpio"
default n
This program dumps the kernel's keyboard translation table to
stdout, in binary format. You can then use loadkmap to load it.
+config BUSYBOX_CONFIG_KBD_MODE
+ bool "kbd_mode"
+ default n
+ help
+ This program reports and sets keyboard mode.
+
config BUSYBOX_CONFIG_LOADFONT
bool "loadfont"
default n
endchoice
+config BUSYBOX_CONFIG_MICROCOM
+ bool "microcom"
+ default n
+ help
+ The poor man's minicom utility for chatting with serial port devices.
+
config BUSYBOX_CONFIG_MOUNTPOINT
bool "mountpoint"
default n
help
Serve web pages via an HTTP server.
+config BUSYBOX_CONFIG_FEATURE_HTTPD_RANGES
+ bool "Support 'Ranges:' header"
+ default y
+ depends on BUSYBOX_CONFIG_HTTPD
+ help
+ Makes httpd emit "Accept-Ranges: bytes" header and understand
+ "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted
+ downloads, seeking in multimedia players etc.
+
config BUSYBOX_CONFIG_FEATURE_HTTPD_USE_SENDFILE
bool "Use sendfile system call"
default y
'/path/e404.html' file instead of the terse '404 NOT FOUND'
message.
+config BUSYBOX_CONFIG_FEATURE_HTTPD_PROXY
+ bool "Enable support for reverse proxy"
+ default n
+ depends on BUSYBOX_CONFIG_HTTPD
+ help
+ This option allows you to define URLs that will be forwarded
+ to another HTTP server. To setup add the following line to the
+ configuration file
+ P:/url/:http://hostname[:port]/new/path/
+ Then a request to /url/myfile will be forwarded to
+ http://hostname[:port]/new/path/myfile.
+
config BUSYBOX_CONFIG_IFCONFIG
bool "ifconfig"
default y
config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH
string "Absolute path to ifstate file"
- default "/var/run/ifstate"
+ default n
+ depends on BUSYBOX_CONFIG_IFUPDOWN
help
ifupdown keeps state information in a file called ifstate.
Typically it is located in /var/run/ifstate, however
If you need support for IPv6, turn this option on.
### UNUSED
-### config FEATURE_IFUPDOWN_IPX
-### bool "Enable support for IPX"
-### default n
-### depends on IFUPDOWN
-### help
-### If this option is selected you can use busybox to work with IPX
-### networks.
+###config FEATURE_IFUPDOWN_IPX
+### bool "Enable support for IPX"
+### default n
+### depends on IFUPDOWN
+### help
+### If this option is selected you can use busybox to work with IPX
+### networks.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
bool "Enable mapping support"
Say N unless you desparately need the short form of the ip
object commands.
+config BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS
+ bool "Support displaying rarely used link types"
+ default n
+ depends on BUSYBOX_CONFIG_IP
+ help
+ If you are not going to use links of type "frad", "econet",
+ "bif" etc, you probably don't need to enable this.
+ Ethernet, wireless, infrared, ppp/slip, ip tunnelling
+ link types are supported without this option selected.
+
config BUSYBOX_CONFIG_IPADDR
bool
default n
help
Prints selected system stats continuously, one line per update.
+config BUSYBOX_CONFIG_PGREP
+ bool "pgrep"
+ default y
+ help
+ Look for processes by name.
+
config BUSYBOX_CONFIG_PIDOF
bool "pidof"
default y
The special pid %PPID can be used to name the parent process
of the pidof, in other words the calling shell or shell script.
+config BUSYBOX_CONFIG_PKILL
+ bool "pkill"
+ default y
+ help
+ Send signals to processes by name.
+
config BUSYBOX_CONFIG_PS
bool "ps"
default y
help
Show 1/10th of a percent in CPU/mem statistics.
+config BUSYBOX_CONFIG_FEATURE_TOPMEM
+ bool "topmem"
+ default n
+ depends on BUSYBOX_CONFIG_TOP
+ help
+ Enable 's' in top (gives lots of memory info)
+
config BUSYBOX_CONFIG_UPTIME
bool "uptime"
default y
Support "-c" option (check the validity of the contexts against
the specified binary policy) for setfiles. Requires libsepol.
+config BUSYBOX_CONFIG_SETSEBOOL
+ bool "setsebool"
+ default n
+ depends on BUSYBOX_CONFIG_SELINUX
+ help
+ Enable support for change boolean.
+ semanage and -P option is not supported yet.
+
endmenu
NFS filesystems. Most people using BusyBox will also want to enable
the 'mount' utility.
+config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
+ bool "Support mount helpers"
+ default n
+ depends on BUSYBOX_CONFIG_MOUNT
+ help
+ Enable mounting of virtual file systems via external helpers.
+ E.g. mount obexfs#-b00.11.22.33.44.55 /mnt will in effect call
+ obexfs -b00.11.22.33.44.55 /mnt
+ The idea is to use such virtual filesystems in /etc/fstab
+
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems"
default y
-Index: busybox-1.7.2/include/applets.h
+Index: busybox-1.8.1/include/applets.h
===================================================================
---- busybox-1.7.2.orig/include/applets.h 2007-10-30 15:35:03.000000000 -0500
-+++ busybox-1.7.2/include/applets.h 2007-10-30 15:35:03.000000000 -0500
-@@ -209,6 +209,7 @@
+--- busybox-1.8.1.orig/include/applets.h 2007-11-10 16:54:28.318054115 +0100
++++ busybox-1.8.1/include/applets.h 2007-11-10 17:39:21.487529096 +0100
+@@ -218,6 +218,7 @@
USE_LOAD_POLICY(APPLET(load_policy, _BB_DIR_USR_SBIN, _BB_SUID_NEVER))
USE_LOADFONT(APPLET(loadfont, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_LOADKMAP(APPLET(loadkmap, _BB_DIR_SBIN, _BB_SUID_NEVER))
USE_LOGGER(APPLET(logger, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_LOGIN(APPLET(login, _BB_DIR_BIN, _BB_SUID_ALWAYS))
USE_LOGNAME(APPLET_NOFORK(logname, logname, _BB_DIR_USR_BIN, _BB_SUID_NEVER, logname))
-Index: busybox-1.7.2/miscutils/Config.in
+Index: busybox-1.8.1/miscutils/Config.in
===================================================================
---- busybox-1.7.2.orig/miscutils/Config.in 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/miscutils/Config.in 2007-10-30 15:35:03.000000000 -0500
+--- busybox-1.8.1.orig/miscutils/Config.in 2007-11-10 16:54:16.477379354 +0100
++++ busybox-1.8.1/miscutils/Config.in 2007-11-10 16:54:28.366056851 +0100
@@ -244,6 +244,12 @@
Enables the 'hdparm -d' option to get/set using_dma flag.
This is dangerous stuff, so you should probably say N.
config MAKEDEVS
bool "makedevs"
default n
-Index: busybox-1.7.2/miscutils/Kbuild
+Index: busybox-1.8.1/miscutils/Kbuild
===================================================================
---- busybox-1.7.2.orig/miscutils/Kbuild 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/miscutils/Kbuild 2007-10-30 15:35:03.000000000 -0500
+--- busybox-1.8.1.orig/miscutils/Kbuild 2007-11-10 16:54:16.481379580 +0100
++++ busybox-1.8.1/miscutils/Kbuild 2007-11-10 16:54:28.370057076 +0100
@@ -16,6 +16,7 @@
lib-$(CONFIG_HDPARM) += hdparm.o
lib-$(CONFIG_LAST) += last.o
lib-$(CONFIG_LESS) += less.o
+lib-$(CONFIG_LOCK) += lock.o
lib-$(CONFIG_MAKEDEVS) += makedevs.o
+ lib-$(CONFIG_MICROCOM) += microcom.o
lib-$(CONFIG_MOUNTPOINT) += mountpoint.o
- lib-$(CONFIG_MT) += mt.o
-Index: busybox-1.7.2/miscutils/lock.c
+Index: busybox-1.8.1/miscutils/lock.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/miscutils/lock.c 2007-10-30 15:35:03.000000000 -0500
-@@ -0,0 +1,135 @@
++++ busybox-1.8.1/miscutils/lock.c 2007-11-10 17:40:37.203843924 +0100
+@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
+ *
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
-+#include "busybox.h"
++#include "busybox.h"
+
+static int unlock = 0;
+static int shared = 0;
+{
+ FILE *f;
+ int i;
-+
++
+ if ((f = fopen(file, "r")) == NULL)
+ return 0;
-+
++
+ fscanf(f, "%d", &i);
+ if (i > 0)
+ kill(i, SIGTERM);
-+
++
+ fclose(f);
+
+ return 0;
+}
-+
++
+static int do_lock(void)
+{
+ int pid;
+
+ if (pid < 0)
+ return -1;
-+
++
+ if (pid == 0) {
+ signal(SIGKILL, exit_unlock);
+ signal(SIGTERM, exit_unlock);
+ return 0;
+}
+
-+#ifndef CONFIG_LOCK
-+int main(int argc, char **argv)
-+#else
++int lock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int lock_main(int argc, char **argv)
-+#endif
+{
+ char **args = &argv[1];
+ int c = argc - 1;
-Index: busybox-1.7.2/include/usage.h
+Index: busybox-1.8.1/include/usage.h
===================================================================
---- busybox-1.7.2.orig/include/usage.h 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/include/usage.h 2007-10-30 15:35:03.000000000 -0500
-@@ -1350,7 +1350,8 @@
+--- busybox-1.8.1.orig/include/usage.h 2007-11-10 16:54:16.433376848 +0100
++++ busybox-1.8.1/include/usage.h 2007-11-10 16:54:29.970148260 +0100
+@@ -1418,7 +1418,8 @@
USE_FEATURE_HTTPD_BASIC_AUTH(" [-r realm]") \
USE_FEATURE_HTTPD_AUTH_MD5(" [-m pass]") \
" [-h home]" \
#define httpd_full_usage \
"Listen for incoming HTTP requests" \
"\n\nOptions:" \
-@@ -1368,6 +1369,8 @@
+@@ -1436,6 +1437,8 @@
"\n -h HOME Home directory (default .)" \
"\n -e STRING HTML encode STRING" \
"\n -d STRING URL decode STRING" \
+ "\n -H HOST Redirect target host" \
#define hwclock_trivial_usage \
- "[-r|--show] [-s|--hctosys] [-w|--systohc]" \
-Index: busybox-1.7.2/networking/httpd.c
+ USE_GETOPT_LONG( \
+Index: busybox-1.8.1/networking/httpd.c
===================================================================
---- busybox-1.7.2.orig/networking/httpd.c 2007-10-30 15:35:03.000000000 -0500
-+++ busybox-1.7.2/networking/httpd.c 2007-10-30 15:35:03.000000000 -0500
-@@ -230,6 +230,8 @@
+--- busybox-1.8.1.orig/networking/httpd.c 2007-11-10 16:54:28.346055711 +0100
++++ busybox-1.8.1/networking/httpd.c 2007-11-10 16:54:56.639668071 +0100
+@@ -253,6 +253,8 @@
const char *found_mime_type;
const char *found_moved_temporarily;
Htaccess_IP *ip_a_d; /* config allow/deny lines */
USE_FEATURE_HTTPD_BASIC_AUTH(const char *g_realm;)
-@@ -264,6 +266,8 @@
+@@ -297,6 +299,8 @@
#define home_httpd (G.home_httpd )
#define found_mime_type (G.found_mime_type )
#define found_moved_temporarily (G.found_moved_temporarily)
+#define redirect_path (G.redirect_path )
+#define redirect_host (G.redirect_host )
- #define ContentLength (G.ContentLength )
#define last_mod (G.last_mod )
#define ip_a_d (G.ip_a_d )
-@@ -901,8 +905,11 @@
+ #define g_realm (G.g_realm )
+@@ -988,8 +992,11 @@
}
#endif
if (responseNum == HTTP_MOVED_TEMPORARILY) {
(g_query ? "?" : ""),
(g_query ? g_query : ""));
}
-@@ -1730,8 +1737,12 @@
+@@ -1907,8 +1914,12 @@
*++urlp = '\0'; /* so keep last character */
tptr = urlp; /* end ptr */
if (is_directory(urlcopy + 1, 1, &sb)) {
found_moved_temporarily = urlcopy;
}
-@@ -2004,7 +2015,9 @@
+@@ -2252,7 +2263,9 @@
#endif
enum {
d_opt_decode_url,
h_opt_home_httpd,
USE_FEATURE_HTTPD_ENCODE_URL_STR(e_opt_encode_url,)
-@@ -2053,12 +2066,13 @@
+@@ -2301,12 +2314,13 @@
/* We do not "absolutize" path given by -h (home) opt.
* If user gives relative path in -h, $SCRIPT_FILENAME can end up
* relative too. */
-Index: busybox-1.7.2/modutils/insmod.c
+Index: busybox-1.8.1/modutils/insmod.c
===================================================================
---- busybox-1.7.2.orig/modutils/insmod.c 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/modutils/insmod.c 2007-10-30 15:35:05.000000000 -0500
-@@ -61,19 +61,114 @@
+--- busybox-1.8.1.orig/modutils/insmod.c 2007-11-10 02:40:49.000000000 +0100
++++ busybox-1.8.1/modutils/insmod.c 2007-11-10 17:28:44.391223047 +0100
+@@ -61,21 +61,117 @@
#include "libbb.h"
#include <libgen.h>
#include <sys/utsname.h>
#define ENABLE_FEATURE_2_4_MODULES 1
#endif
--#if !ENABLE_FEATURE_2_4_MODULES
--#define insmod_ng_main insmod_main
-+#if ENABLE_FEATURE_2_4_MODULES
-+int insmod_main_24(int argc, char **argv);
- #endif
+-/*
+- * Big piece of 2.4-specific code
+- */
+ #if ENABLE_FEATURE_2_4_MODULES
-
++int insmod_main_24(int argc, char **argv);
++#endif
#if ENABLE_FEATURE_2_6_MODULES
--extern int insmod_ng_main( int argc, char **argv);
+-static int insmod_ng_main(int argc, char **argv);
+int insmod_main_26(int argc, char **argv);
- #endif
-+int insmod_main(int argc, char **argv);
++#endif
++int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+
+static char *g_filename = NULL;
+#define _PATH_MODULES "/lib/modules"
+ void *userdata, int depth)
+{
+ char *fullname = (char *) userdata;
++ char *tmp;
+
+ if (fullname[0] == '\0')
+ return FALSE;
-+ else {
-+ char *tmp, *tmp1 = xstrdup(filename);
-+ tmp = bb_get_last_path_component(tmp1);
-+ if (strcmp(tmp, fullname) == 0) {
-+ free(tmp1);
-+ /* Stop searching if we find a match */
-+ g_filename = xstrdup(filename);
-+ return FALSE;
-+ }
-+ free(tmp1);
++
++ tmp = bb_get_last_path_component_nostrip(filename);
++ if (strcmp(tmp, fullname) == 0) {
++ /* Stop searching if we find a match */
++ g_filename = xstrdup(filename);
++ return FALSE;
+ }
++
+ return TRUE;
+}
+
+ if (k_version <= 4)
+ suffix = ".o";
+ else
-+#endif
+ #endif
+ suffix = ".ko";
+
+ len = strlen(filename);
+ ret = 0;
+ else
+ free(g_filename);
-+
+
+done:
+ free(filename);
+
+ return ret;
+}
-
-
- #if ENABLE_FEATURE_2_4_MODULES
-@@ -677,7 +772,6 @@
++
++/*
++ * Big piece of 2.4-specific code
++ */
++#if ENABLE_FEATURE_2_4_MODULES
+ #if ENABLE_FEATURE_INSMOD_LOADINKMEM
+ #define LOADBITS 0
+ #else
+@@ -673,7 +769,6 @@
#endif
enum { STRVERSIONLEN = 64 };
/*======================================================================*/
-@@ -790,37 +884,6 @@
- static int n_ext_modules_used;
- extern int delete_module(const char *);
+@@ -789,27 +884,6 @@
+ static char *m_fullName;
+
--static char *m_filename;
--static char *m_fullName;
--
--
-/*======================================================================*/
-
-
- void *userdata, int depth)
-{
- char *fullname = (char *) userdata;
+- char *tmp;
-
- if (fullname[0] == '\0')
- return FALSE;
-- else {
-- char *tmp, *tmp1 = xstrdup(filename);
-- tmp = bb_get_last_path_component(tmp1);
-- if (strcmp(tmp, fullname) == 0) {
-- free(tmp1);
-- /* Stop searching if we find a match */
-- m_filename = xstrdup(filename);
-- return FALSE;
-- }
-- free(tmp1);
+-
+- tmp = bb_get_last_path_component_nostrip(filename);
+- if (strcmp(tmp, fullname) == 0) {
+- /* Stop searching if we find a match */
+- m_filename = xstrdup(filename);
+- return FALSE;
- }
- return TRUE;
-}
-
--
--/*======================================================================*/
--
- static struct obj_file *arch_new_file(void)
- {
- struct arch_file *f;
-@@ -3952,145 +4015,57 @@
+
+ /*======================================================================*/
+
+@@ -3897,145 +3971,57 @@
void print_load_map(struct obj_file *f);
#endif
--int insmod_main( int argc, char **argv);
--int insmod_main( int argc, char **argv)
+-int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+-int insmod_main(int argc, char **argv)
+int insmod_main_24( int argc, char **argv)
{
char *opt_o, *arg1;
ElfW(Addr) m_addr;
struct obj_file *f;
- struct stat st;
-- char *m_name = 0;
+- char *m_name = NULL;
- int exit_status = EXIT_FAILURE;
+ char *tmp = NULL, *m_name = NULL;
+ int ret = EINVAL;
int m_version, m_crcs;
#endif
-#if ENABLE_FEATURE_CLEAN_UP
-- FILE *fp = 0;
+ FILE *fp = NULL;
-#else
- FILE *fp;
-#endif
- int k_version = 0;
-+ FILE *fp = NULL;
+ int k_version;
struct utsname myuname;
- len -= 2;
- tmp[len] = '\0';
- }
--
+-
-#if ENABLE_FEATURE_2_6_MODULES
- if (k_version > 4)
- m_fullName = xasprintf("%s.ko", tmp);
- m_name = tmp;
- } else {
- free(tmp1);
-- tmp1 = 0; /* flag for free(m_name) before exit() */
+- tmp1 = NULL; /* flag for free(m_name) before exit() */
+ tmp = xstrdup(arg1);
+ m_name = basename(tmp);
}
-- /* Get a filedesc for the module. Check we we have a complete path */
+- /* Get a filedesc for the module. Check that we have a complete path */
- if (stat(arg1, &st) < 0 || !S_ISREG(st.st_mode)
- || (fp = fopen(arg1, "r")) == NULL
- ) {
- if (k_version) { /* uname succeedd */
- char *module_dir;
- char *tmdn;
-- char real_module_dir[FILENAME_MAX];
-
- tmdn = concat_path_file(_PATH_MODULES, myuname.release);
- /* Jump through hoops in case /lib/modules/`uname -r`
- * follow symlinks, but we do want to follow the
- * /lib/modules/`uname -r` dir, So resolve it ourselves
- * if it is a link... */
-- if (realpath(tmdn, real_module_dir) == NULL)
-- module_dir = tmdn;
-- else
-- module_dir = real_module_dir;
+- module_dir = xmalloc_readlink(tmdn);
+- if (!module_dir)
+- module_dir = xstrdup(tmdn);
- recursive_action(module_dir, ACTION_RECURSE,
-- check_module_name_match, 0, m_fullName, 0);
+- check_module_name_match, NULL, m_fullName, 0);
+- free(module_dir);
- free(tmdn);
- }
-
- /* Check if we have found anything yet */
-- if (m_filename == 0 || ((fp = fopen(m_filename, "r")) == NULL)) {
-- char module_dir[FILENAME_MAX];
+- if (!m_filename || ((fp = fopen(m_filename, "r")) == NULL)) {
+- int r;
+- char *module_dir;
-
- free(m_filename);
-- m_filename = 0;
-- if (realpath (_PATH_MODULES, module_dir) == NULL)
-- strcpy(module_dir, _PATH_MODULES);
+- m_filename = NULL;
+- module_dir = xmalloc_readlink(_PATH_MODULES);
+- if (!module_dir)
+- module_dir = xstrdup(_PATH_MODULES);
- /* No module found under /lib/modules/`uname -r`, this
- * time cast the net a bit wider. Search /lib/modules/ */
-- if (!recursive_action(module_dir, ACTION_RECURSE,
-- check_module_name_match, 0, m_fullName, 0)
+- r = recursive_action(module_dir, ACTION_RECURSE,
+- check_module_name_match, NULL, m_fullName, 0);
+- if (r)
+- bb_error_msg_and_die("%s: module not found", m_fullName);
+- free(module_dir);
+- if (m_filename == NULL
+- || ((fp = fopen(m_filename, "r")) == NULL)
- ) {
-- if (m_filename == 0
-- || ((fp = fopen(m_filename, "r")) == NULL)
-- ) {
-- bb_error_msg("%s: no module by that name found", m_fullName);
-- goto out;
-- }
-- } else
-- bb_error_msg_and_die("%s: no module by that name found", m_fullName);
+- bb_error_msg_and_die("%s: module not found", m_fullName);
+- }
- }
- } else
- m_filename = xstrdup(arg1);
-#endif
f = obj_load(fp, LOADBITS);
- if (f == NULL)
-@@ -4120,7 +4095,7 @@
+
+@@ -4062,7 +4048,7 @@
"\t%s was compiled for kernel version %s\n"
"\twhile this kernel is version %s",
flag_force_load ? "warning: " : "",
if (!flag_force_load)
goto out;
}
-@@ -4173,7 +4148,7 @@
+@@ -4104,7 +4090,7 @@
hide_special_symbols(f);
#if ENABLE_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
#endif /* FEATURE_INSMOD_KSYMOOPS_SYMBOLS */
new_create_module_ksymtab(f);
-@@ -4220,30 +4195,22 @@
+@@ -4147,18 +4133,19 @@
if (flag_print_load_map)
print_load_map(f);
- exit_status = EXIT_SUCCESS;
--
-+ ret = 0;
- out:
++ ret = EXIT_SUCCESS;
+
+ out:
#if ENABLE_FEATURE_CLEAN_UP
if (fp)
fclose(fp);
- return exit_status;
+ return ret;
}
--
--
- #endif
--
- #if ENABLE_FEATURE_2_6_MODULES
--
--#include <sys/mman.h>
--#include <asm/unistd.h>
--#include <sys/syscall.h>
--
- /* We use error numbers in a loose translation... */
- static const char *moderror(int err)
- {
-@@ -4261,19 +4228,32 @@
+ #endif /* ENABLE_FEATURE_2_4_MODULES */
+@@ -4190,23 +4177,32 @@
}
}
--int insmod_ng_main(int argc, char **argv);
--int insmod_ng_main(int argc, char **argv)
+-#if !ENABLE_FEATURE_2_4_MODULES
+-int insmod_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+-int insmod_main(int argc, char **argv)
+-#else
+-static int insmod_ng_main(int argc, char **argv)
+-#endif
+int insmod_main_26(int argc, char **argv)
{
- long ret;
/* Rest is options */
options = xzalloc(1);
optlen = 0;
-@@ -4283,36 +4263,47 @@
+@@ -4216,36 +4212,47 @@
optlen += sprintf(options + optlen, (strchr(*argv,' ') ? "\"%s\" " : "%s "), *argv);
}
-Index: busybox-1.7.2/archival/Config.in
+Index: busybox-1.8.1/archival/Config.in
===================================================================
---- busybox-1.7.2.orig/archival/Config.in 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/archival/Config.in 2007-10-30 15:35:05.000000000 -0500
-@@ -121,6 +121,15 @@
+--- busybox-1.8.1.orig/archival/Config.in 2007-11-10 17:39:21.063504932 +0100
++++ busybox-1.8.1/archival/Config.in 2007-11-10 17:40:53.320762376 +0100
+@@ -131,6 +131,15 @@
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
config RPM2CPIO
bool "rpm2cpio"
default n
-Index: busybox-1.7.2/archival/dpkg.c
+Index: busybox-1.8.1/archival/dpkg.c
===================================================================
---- busybox-1.7.2.orig/archival/dpkg.c 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/archival/dpkg.c 2007-10-30 15:35:05.000000000 -0500
+--- busybox-1.8.1.orig/archival/dpkg.c 2007-11-10 17:39:21.071505389 +0100
++++ busybox-1.8.1/archival/dpkg.c 2007-11-10 17:40:53.320762376 +0100
@@ -1455,6 +1455,10 @@
return ar_handle->sub_archive->buffer;
}
static void unpack_package(deb_file_t *deb_file)
{
const char *package_name = name_hashtable[package_hashtable[deb_file->package]->name];
-Index: busybox-1.7.2/archival/ipkg.c
+Index: busybox-1.8.1/archival/ipkg.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/ipkg.c 2007-10-30 15:35:05.000000000 -0500
-@@ -0,0 +1,26 @@
++++ busybox-1.8.1/archival/ipkg.c 2007-11-10 17:41:16.866104145 +0100
+@@ -0,0 +1,27 @@
+/* ipkg.c - the itsy package management system
+
+ Florina Boor
+ ipkg command line frontend using libipkg
+
+*/
-+
+#include "libipkg/libipkg.h"
++#include "busybox.h"
+
++int ipkg_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int ipkg_main(int argc, char **argv)
+{
+ return ipkg_op(argc, argv);
+}
-Index: busybox-1.7.2/archival/Kbuild
+Index: busybox-1.8.1/archival/Kbuild
===================================================================
---- busybox-1.7.2.orig/archival/Kbuild 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/archival/Kbuild 2007-10-30 15:35:05.000000000 -0500
-@@ -15,6 +15,7 @@
+--- busybox-1.8.1.orig/archival/Kbuild 2007-11-10 17:39:21.083506071 +0100
++++ busybox-1.8.1/archival/Kbuild 2007-11-10 17:40:53.332763058 +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_RPM2CPIO) += rpm2cpio.o
lib-$(CONFIG_RPM) += rpm.o
lib-$(CONFIG_TAR) += tar.o
-Index: busybox-1.7.2/archival/libipkg/args.c
+Index: busybox-1.8.1/archival/libipkg/args.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/args.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/args.c 2007-11-10 17:40:53.336763287 +0100
@@ -0,0 +1,242 @@
+/* args.c - parse command-line args
+
+{
+ bb_error_msg("version %s\n", IPKG_VERSION);
+}
-Index: busybox-1.7.2/archival/libipkg/args.h
+Index: busybox-1.8.1/archival/libipkg/args.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/args.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/args.h 2007-11-10 17:40:53.340763516 +0100
@@ -0,0 +1,72 @@
+/* args.h - parse command-line args
+
+void args_usage(char *complaint);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/conffile.c
+Index: busybox-1.8.1/archival/libipkg/conffile.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/conffile.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/conffile.c 2007-11-10 17:40:53.340763516 +0100
@@ -0,0 +1,64 @@
+/* conffile.c - the itsy package management system
+
+
+ return ret;
+}
-Index: busybox-1.7.2/archival/libipkg/conffile.h
+Index: busybox-1.8.1/archival/libipkg/conffile.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/conffile.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/conffile.h 2007-11-10 17:40:53.340763516 +0100
@@ -0,0 +1,30 @@
+/* conffile.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/conffile_list.c
+Index: busybox-1.8.1/archival/libipkg/conffile_list.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/conffile_list.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/conffile_list.c 2007-11-10 17:40:53.340763516 +0100
@@ -0,0 +1,47 @@
+/* conffile_list.c - the itsy package management system
+
+ return nv_pair_list_pop(list);
+}
+
-Index: busybox-1.7.2/archival/libipkg/conffile_list.h
+Index: busybox-1.8.1/archival/libipkg/conffile_list.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/conffile_list.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/conffile_list.h 2007-11-10 17:40:53.340763516 +0100
@@ -0,0 +1,36 @@
+/* conffile_list.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/file_util.c
+Index: busybox-1.8.1/archival/libipkg/file_util.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/file_util.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/file_util.c 2007-11-10 17:40:53.340763516 +0100
@@ -0,0 +1,132 @@
+/* file_util.c - convenience routines for common stat operations
+
+ return hash_file(file_name, HASH_MD5);
+}
+
-Index: busybox-1.7.2/archival/libipkg/file_util.h
+Index: busybox-1.8.1/archival/libipkg/file_util.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/file_util.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/file_util.h 2007-11-10 17:40:53.344763742 +0100
@@ -0,0 +1,29 @@
+/* file_util.h - convenience routines for common file operations
+
+char *file_md5sum_alloc(const char *file_name);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/hash_table.c
+Index: busybox-1.8.1/archival/libipkg/hash_table.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/hash_table.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/hash_table.c 2007-11-10 17:40:53.344763742 +0100
@@ -0,0 +1,155 @@
+/* hash.c - hash tables for ipkg
+
+ }
+}
+
-Index: busybox-1.7.2/archival/libipkg/hash_table.h
+Index: busybox-1.8.1/archival/libipkg/hash_table.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/hash_table.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/hash_table.h 2007-11-10 17:40:53.344763742 +0100
@@ -0,0 +1,44 @@
+/* hash.h - hash tables for ipkg
+
+void hash_table_foreach(hash_table_t *hash, void (*f)(const char *key, void *entry, void *data), void *data);
+
+#endif /* _HASH_TABLE_H_ */
-Index: busybox-1.7.2/archival/libipkg/ipkg_cmd.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_cmd.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_cmd.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_cmd.c 2007-11-10 17:40:53.344763742 +0100
@@ -0,0 +1,1431 @@
+/* ipkg_cmd.c - the itsy package management system
+
+}
+
+
-Index: busybox-1.7.2/archival/libipkg/ipkg_cmd.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_cmd.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_cmd.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_cmd.h 2007-11-10 17:40:53.348763971 +0100
@@ -0,0 +1,46 @@
+/* ipkg_cmd.h - the itsy package management system
+
+int pkg_mark_provides(pkg_t *pkg);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_conf.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_conf.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_conf.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_conf.c 2007-11-10 17:40:53.348763971 +0100
@@ -0,0 +1,711 @@
+/* ipkg_conf.c - the itsy package management system
+
+ sprintf_alloc(&root_filename, "%s%s", (conf->offline_root ? conf->offline_root : ""), filename);
+ return root_filename;
+}
-Index: busybox-1.7.2/archival/libipkg/ipkg_conf.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_conf.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_conf.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_conf.h 2007-11-10 17:40:53.348763971 +0100
@@ -0,0 +1,107 @@
+/* ipkg_conf.h - the itsy package management system
+
+char *root_filename_alloc(ipkg_conf_t *conf, char *filename);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_configure.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_configure.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_configure.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_configure.c 2007-11-10 17:40:53.348763971 +0100
@@ -0,0 +1,40 @@
+/* ipkg_configure.c - the itsy package management system
+
+ return 0;
+}
+
-Index: busybox-1.7.2/archival/libipkg/ipkg_configure.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_configure.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_configure.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_configure.h 2007-11-10 17:40:53.348763971 +0100
@@ -0,0 +1,25 @@
+/* ipkg_configure.h - the itsy package management system
+
+int ipkg_configure(ipkg_conf_t *ipkg_conf, pkg_t *pkg);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_download.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_download.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_download.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_download.c 2007-11-10 17:40:53.352764197 +0100
@@ -0,0 +1,195 @@
+/* ipkg_download.c - the itsy package management system
+
+ }
+ return 0;
+}
-Index: busybox-1.7.2/archival/libipkg/ipkg_download.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_download.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_download.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_download.h 2007-11-10 17:40:53.352764197 +0100
@@ -0,0 +1,30 @@
+/* ipkg_download.h - the itsy package management system
+
+int ipkg_prepare_url_for_install(ipkg_conf_t *conf, const char *url, char **namep);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg.h
+Index: busybox-1.8.1/archival/libipkg/ipkg.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg.h 2007-11-10 17:40:53.352764197 +0100
@@ -0,0 +1,74 @@
+/* ipkg.h - the itsy package management system
+
+extern ipkg_conf_t *global_conf;
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_includes.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_includes.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_includes.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_includes.h 2007-11-10 17:40:53.352764197 +0100
@@ -0,0 +1,79 @@
+#ifndef IPKG_INCLUDES_H
+#define IPKG_INCLUDES_H
+#endif
+
+#endif /* IPKG_INCLUDES_H */
-Index: busybox-1.7.2/archival/libipkg/ipkg_install.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_install.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_install.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_install.c 2007-11-10 17:40:53.356764426 +0100
@@ -0,0 +1,1942 @@
+/* ipkg_install.c - the itsy package management system
+
+}
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_install.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_install.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_install.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_install.h 2007-11-10 17:40:53.356764426 +0100
@@ -0,0 +1,35 @@
+/* ipkg_install.h - the itsy package management system
+
+int name_mark_dependencies_for_installation(ipkg_conf_t *conf, const char *pkg_name, pkg_vec_t *pkgs_needed);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_message.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_message.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_message.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_message.c 2007-11-10 17:40:53.356764426 +0100
@@ -0,0 +1,61 @@
+/* ipkg_message.c - the itsy package management system
+
+ }
+}
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_message.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_message.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_message.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_message.h 2007-11-10 17:40:53.356764426 +0100
@@ -0,0 +1,32 @@
+/* ipkg_message.h - the itsy package management system
+
+extern void ipkg_message(ipkg_conf_t *conf, message_level_t level, const char *fmt, ...);
+
+#endif /* _IPKG_MESSAGE_H_ */
-Index: busybox-1.7.2/archival/libipkg/ipkg_remove.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_remove.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_remove.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_remove.c 2007-11-10 17:40:53.360764656 +0100
@@ -0,0 +1,383 @@
+/* ipkg_remove.c - the itsy package management system
+
+
+ return 0;
+}
-Index: busybox-1.7.2/archival/libipkg/ipkg_remove.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_remove.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_remove.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_remove.h 2007-11-10 17:40:53.360764656 +0100
@@ -0,0 +1,33 @@
+/* ipkg_remove.h - the itsy package management system
+
+
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/ipkg_upgrade.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_upgrade.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_upgrade.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_upgrade.c 2007-11-10 17:40:53.360764656 +0100
@@ -0,0 +1,77 @@
+/* ipkg_upgrade.c - the itsy package management system
+
+ new->state_flag |= SF_USER;
+ return ipkg_install_pkg(conf, new,1);
+}
-Index: busybox-1.7.2/archival/libipkg/ipkg_upgrade.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_upgrade.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_upgrade.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_upgrade.h 2007-11-10 17:40:53.360764656 +0100
@@ -0,0 +1,18 @@
+/* ipkg_upgrade.c - the itsy package management system
+
+#include "ipkg.h"
+
+int ipkg_upgrade_pkg(ipkg_conf_t *conf, pkg_t *old);
-Index: busybox-1.7.2/archival/libipkg/ipkg_utils.c
+Index: busybox-1.8.1/archival/libipkg/ipkg_utils.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_utils.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_utils.c 2007-11-10 17:40:53.360764656 +0100
@@ -0,0 +1,181 @@
+/* ipkg_utils.c - the itsy package management system
+
+}
+
+
-Index: busybox-1.7.2/archival/libipkg/ipkg_utils.h
+Index: busybox-1.8.1/archival/libipkg/ipkg_utils.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/ipkg_utils.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/ipkg_utils.h 2007-11-10 17:40:53.360764656 +0100
@@ -0,0 +1,29 @@
+/* ipkg_utils.h - the itsy package management system
+
+int line_is_blank(const char *line);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/Kbuild
+Index: busybox-1.8.1/archival/libipkg/Kbuild
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/Kbuild 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/Kbuild 2007-11-10 17:40:53.364764882 +0100
@@ -0,0 +1,60 @@
+# Makefile for busybox
+#
+IPKG_ARCH:=$(TARGET_ARCH)
+endif
+CFLAGS += -DIPKG_LIB -DIPKGLIBDIR="\"/usr/lib\"" -DHOST_CPU_STR="\"$(IPKG_ARCH)\""
-Index: busybox-1.7.2/archival/libipkg/libipkg.c
+Index: busybox-1.8.1/archival/libipkg/libipkg.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/libipkg.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/libipkg.c 2007-11-10 17:40:53.364764882 +0100
@@ -0,0 +1,527 @@
+/* ipkglib.c - the itsy package management system
+
+}
+
+#endif /* IPKG_LIB */
-Index: busybox-1.7.2/archival/libipkg/libipkg.h
+Index: busybox-1.8.1/archival/libipkg/libipkg.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/libipkg.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/libipkg.h 2007-11-10 17:40:53.364764882 +0100
@@ -0,0 +1,88 @@
+/* ipkglib.h - the itsy package management system
+
+
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/nv_pair.c
+Index: busybox-1.8.1/archival/libipkg/nv_pair.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/nv_pair.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/nv_pair.c 2007-11-10 17:40:53.364764882 +0100
@@ -0,0 +1,40 @@
+/* nv_pair.c - the itsy package management system
+
+}
+
+
-Index: busybox-1.7.2/archival/libipkg/nv_pair.h
+Index: busybox-1.8.1/archival/libipkg/nv_pair.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/nv_pair.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/nv_pair.h 2007-11-10 17:40:53.372765337 +0100
@@ -0,0 +1,32 @@
+/* nv_pair.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/nv_pair_list.c
+Index: busybox-1.8.1/archival/libipkg/nv_pair_list.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/nv_pair_list.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/nv_pair_list.c 2007-11-10 17:40:53.372765337 +0100
@@ -0,0 +1,98 @@
+/* nv_pair_list.c - the itsy package management system
+
+ }
+ return NULL;
+}
-Index: busybox-1.7.2/archival/libipkg/nv_pair_list.h
+Index: busybox-1.8.1/archival/libipkg/nv_pair_list.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/nv_pair_list.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/nv_pair_list.h 2007-11-10 17:40:53.372765337 +0100
@@ -0,0 +1,60 @@
+/* nv_pair_list.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/pkg.c
+Index: busybox-1.8.1/archival/libipkg/pkg.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg.c 2007-11-10 17:40:53.376765566 +0100
@@ -0,0 +1,1747 @@
+/* pkg.c - the itsy package management system
+
+ }
+ return 0;
+}
-Index: busybox-1.7.2/archival/libipkg/pkg_depends.c
+Index: busybox-1.8.1/archival/libipkg/pkg_depends.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_depends.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_depends.c 2007-11-10 17:40:53.376765566 +0100
@@ -0,0 +1,1031 @@
+/* pkg_depends.c - the itsy package management system
+
+
+ return 0;
+}
-Index: busybox-1.7.2/archival/libipkg/pkg_depends.h
+Index: busybox-1.8.1/archival/libipkg/pkg_depends.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_depends.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_depends.h 2007-11-10 17:40:53.376765566 +0100
@@ -0,0 +1,105 @@
+/* pkg_depends.h - the itsy package management system
+
+int pkg_dependence_satisfied(ipkg_conf_t *conf, depend_t *depend);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/pkg_dest.c
+Index: busybox-1.8.1/archival/libipkg/pkg_dest.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_dest.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_dest.c 2007-11-10 17:40:53.376765566 +0100
@@ -0,0 +1,92 @@
+/* pkg_dest.c - the itsy package management system
+
+
+ dest->root_dir = NULL;
+}
-Index: busybox-1.7.2/archival/libipkg/pkg_dest.h
+Index: busybox-1.8.1/archival/libipkg/pkg_dest.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_dest.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_dest.h 2007-11-10 17:40:53.380765796 +0100
@@ -0,0 +1,38 @@
+/* pkg_dest.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/pkg_dest_list.c
+Index: busybox-1.8.1/archival/libipkg/pkg_dest_list.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_dest_list.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_dest_list.c 2007-11-10 17:40:53.380765796 +0100
@@ -0,0 +1,85 @@
+/* pkg_dest_list.c - the itsy package management system
+
+{
+ return (pkg_dest_list_elt_t *) void_list_pop((void_list_t *) list);
+}
-Index: busybox-1.7.2/archival/libipkg/pkg_dest_list.h
+Index: busybox-1.8.1/archival/libipkg/pkg_dest_list.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_dest_list.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_dest_list.h 2007-11-10 17:40:53.380765796 +0100
@@ -0,0 +1,50 @@
+/* pkg_dest_list.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/pkg_extract.c
+Index: busybox-1.8.1/archival/libipkg/pkg_extract.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_extract.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_extract.c 2007-11-10 17:40:53.380765796 +0100
@@ -0,0 +1,224 @@
+/* pkg_extract.c - the itsy package management system
+
+
+ return 0;
+}
-Index: busybox-1.7.2/archival/libipkg/pkg_extract.h
+Index: busybox-1.8.1/archival/libipkg/pkg_extract.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_extract.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_extract.h 2007-11-10 17:40:53.380765796 +0100
@@ -0,0 +1,32 @@
+/* pkg_extract.c - the itsy package management system
+
+int pkg_extract_data_file_names_to_stream(pkg_t *pkg, FILE *file);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/pkg.h
+Index: busybox-1.8.1/archival/libipkg/pkg.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg.h 2007-11-10 17:40:53.384766022 +0100
@@ -0,0 +1,229 @@
+/* pkg.h - the itsy package management system
+
+int pkg_write_changed_filelists(ipkg_conf_t *conf);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/pkg_hash.c
+Index: busybox-1.8.1/archival/libipkg/pkg_hash.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_hash.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_hash.c 2007-11-10 17:40:53.388766251 +0100
@@ -0,0 +1,616 @@
+/* ipkg_hash.c - the itsy package management system
+
+}
+
+
-Index: busybox-1.7.2/archival/libipkg/pkg_hash.h
+Index: busybox-1.8.1/archival/libipkg/pkg_hash.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_hash.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_hash.h 2007-11-10 17:40:53.388766251 +0100
@@ -0,0 +1,61 @@
+/* pkg_hash.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/pkg_parse.c
+Index: busybox-1.8.1/archival/libipkg/pkg_parse.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_parse.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_parse.c 2007-11-10 17:40:53.388766251 +0100
@@ -0,0 +1,366 @@
+/* pkg_parse.c - the itsy package management system
+
+
+ return 0;
+}
-Index: busybox-1.7.2/archival/libipkg/pkg_parse.h
+Index: busybox-1.8.1/archival/libipkg/pkg_parse.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_parse.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_parse.h 2007-11-10 17:40:53.392766477 +0100
@@ -0,0 +1,31 @@
+/* pkg_parse.h - the itsy package management system
+
+int pkg_valorize_other_field(pkg_t *pkg, char ***raw);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/pkg_src.c
+Index: busybox-1.8.1/archival/libipkg/pkg_src.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_src.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_src.c 2007-11-10 17:40:53.392766477 +0100
@@ -0,0 +1,43 @@
+/* pkg_src.c - the itsy package management system
+
+}
+
+
-Index: busybox-1.7.2/archival/libipkg/pkg_src.h
+Index: busybox-1.8.1/archival/libipkg/pkg_src.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_src.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_src.h 2007-11-10 17:40:53.392766477 +0100
@@ -0,0 +1,34 @@
+/* pkg_src.h - the itsy package management system
+
+void pkg_src_deinit(pkg_src_t *src);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/pkg_src_list.c
+Index: busybox-1.8.1/archival/libipkg/pkg_src_list.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_src_list.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_src_list.c 2007-11-10 17:40:53.392766477 +0100
@@ -0,0 +1,75 @@
+/* pkg_src_list.c - the itsy package management system
+
+{
+ return (pkg_src_list_elt_t *) void_list_pop((void_list_t *) list);
+}
-Index: busybox-1.7.2/archival/libipkg/pkg_src_list.h
+Index: busybox-1.8.1/archival/libipkg/pkg_src_list.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_src_list.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_src_list.h 2007-11-10 17:40:53.396766706 +0100
@@ -0,0 +1,57 @@
+/* pkg_src_list.h - the itsy package management system
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/pkg_vec.c
+Index: busybox-1.8.1/archival/libipkg/pkg_vec.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_vec.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_vec.c 2007-11-10 17:40:53.396766706 +0100
@@ -0,0 +1,230 @@
+/* pkg_vec.c - the itsy package management system
+
+ qsort(vec->pkgs, vec->len, sizeof(pkg_t *), (compare_fcn_t)compar);
+}
+
-Index: busybox-1.7.2/archival/libipkg/pkg_vec.h
+Index: busybox-1.8.1/archival/libipkg/pkg_vec.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/pkg_vec.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/pkg_vec.h 2007-11-10 17:40:53.396766706 +0100
@@ -0,0 +1,64 @@
+/* pkg_vec.h - the itsy package management system
+
+void abstract_pkg_vec_sort(pkg_vec_t *vec, int (*compar)(abstract_pkg_t *, abstract_pkg_t *));
+#endif
+
-Index: busybox-1.7.2/archival/libipkg/sprintf_alloc.h
+Index: busybox-1.8.1/archival/libipkg/sprintf_alloc.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/sprintf_alloc.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/sprintf_alloc.h 2007-11-10 17:40:53.396766706 +0100
@@ -0,0 +1,25 @@
+/* sprintf_alloca.c -- like sprintf with memory allocation
+
+#define sprintf_alloc(str, fmt, args...) *str = xasprintf(fmt, ## args)
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/str_list.c
+Index: busybox-1.8.1/archival/libipkg/str_list.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/str_list.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/str_list.c 2007-11-10 17:40:53.396766706 +0100
@@ -0,0 +1,76 @@
+/* str_list.c - the itsy package management system
+
+ (void *)target_str,
+ (void_list_cmp_t)strcmp);
+}
-Index: busybox-1.7.2/archival/libipkg/str_list.h
+Index: busybox-1.8.1/archival/libipkg/str_list.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/str_list.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/str_list.h 2007-11-10 17:40:53.400766935 +0100
@@ -0,0 +1,51 @@
+/* str_list.h - the itsy package management system
+
+char *str_list_remove_elt(str_list_t *list, const char *target_str);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/str_util.c
+Index: busybox-1.8.1/archival/libipkg/str_util.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/str_util.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/str_util.c 2007-11-10 17:40:53.400766935 +0100
@@ -0,0 +1,63 @@
+/* str_utils.c - the itsy package management system
+
+ return str ? strdup(str) : NULL;
+}
+
-Index: busybox-1.7.2/archival/libipkg/str_util.h
+Index: busybox-1.8.1/archival/libipkg/str_util.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/str_util.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/str_util.h 2007-11-10 17:40:53.400766935 +0100
@@ -0,0 +1,27 @@
+/* str_utils.h - the itsy package management system
+
+char *str_dup_safe(const char *str);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/user.c
+Index: busybox-1.8.1/archival/libipkg/user.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/user.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/user.c 2007-11-10 17:40:53.400766935 +0100
@@ -0,0 +1,58 @@
+/* user.c - the itsy package management system
+
+
+ return response;
+}
-Index: busybox-1.7.2/archival/libipkg/user.h
+Index: busybox-1.8.1/archival/libipkg/user.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/user.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/user.h 2007-11-10 17:40:53.400766935 +0100
@@ -0,0 +1,23 @@
+/* user.c - the itsy package management system
+
+
+char *get_user_response(const char *format, ...);
+
-Index: busybox-1.7.2/archival/libipkg/void_list.c
+Index: busybox-1.8.1/archival/libipkg/void_list.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/void_list.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/void_list.c 2007-11-10 17:40:53.404767161 +0100
@@ -0,0 +1,194 @@
+/* void_list.c - the itsy package management system
+
+ else
+ return NULL;
+}
-Index: busybox-1.7.2/archival/libipkg/void_list.h
+Index: busybox-1.8.1/archival/libipkg/void_list.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/void_list.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/void_list.h 2007-11-10 17:40:53.404767161 +0100
@@ -0,0 +1,59 @@
+/* void_list.h - the itsy package management system
+
+void *void_list_remove_elt(void_list_t *list, const void *target_data, void_list_cmp_t cmp);
+
+#endif
-Index: busybox-1.7.2/archival/libipkg/xsystem.c
+Index: busybox-1.8.1/archival/libipkg/xsystem.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/xsystem.c 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/xsystem.c 2007-11-10 17:40:53.404767161 +0100
@@ -0,0 +1,64 @@
+/* xsystem.c - system(3) with error messages
+
+ return -1;
+}
+
-Index: busybox-1.7.2/archival/libipkg/xsystem.h
+Index: busybox-1.8.1/archival/libipkg/xsystem.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/archival/libipkg/xsystem.h 2007-10-30 15:35:05.000000000 -0500
++++ busybox-1.8.1/archival/libipkg/xsystem.h 2007-11-10 17:40:53.404767161 +0100
@@ -0,0 +1,34 @@
+/* xsystem.h - system(3) with error messages
+
+
+#endif
+
-Index: busybox-1.7.2/archival/libunarchive/data_extract_all.c
+Index: busybox-1.8.1/archival/libunarchive/data_extract_all.c
===================================================================
---- busybox-1.7.2.orig/archival/libunarchive/data_extract_all.c 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/archival/libunarchive/data_extract_all.c 2007-10-30 15:35:05.000000000 -0500
+--- busybox-1.8.1.orig/archival/libunarchive/data_extract_all.c 2007-11-10 17:39:21.471528185 +0100
++++ busybox-1.8.1/archival/libunarchive/data_extract_all.c 2007-11-10 17:40:53.404767161 +0100
@@ -129,3 +129,17 @@
}
}
+ }
+}
+
-Index: busybox-1.7.2/archival/libunarchive/Kbuild
+Index: busybox-1.8.1/archival/libunarchive/Kbuild
===================================================================
---- busybox-1.7.2.orig/archival/libunarchive/Kbuild 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/archival/libunarchive/Kbuild 2007-10-30 15:35:05.000000000 -0500
-@@ -55,6 +55,7 @@
+--- busybox-1.8.1.orig/archival/libunarchive/Kbuild 2007-11-10 17:39:21.479528641 +0100
++++ busybox-1.8.1/archival/libunarchive/Kbuild 2007-11-10 17:40:53.408767391 +0100
+@@ -54,6 +54,7 @@
lib-$(CONFIG_FEATURE_DEB_TAR_LZMA) += decompress_unlzma.o get_header_tar_lzma.o
- lib-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
+ lib-$(CONFIG_GUNZIP) += decompress_unzip.o
lib-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += decompress_uncompress.o
+lib-$(CONFIG_IPKG) += $(GUNZIP_FILES) get_header_tar.o get_header_tar_gz.o
- lib-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
- lib-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
+ lib-$(CONFIG_RPM2CPIO) += decompress_unzip.o get_header_cpio.o
+ lib-$(CONFIG_RPM) += decompress_unzip.o get_header_cpio.o
lib-$(CONFIG_FEATURE_RPM_BZ2) += decompress_bunzip2.o
-Index: busybox-1.7.2/include/applets.h
+Index: busybox-1.8.1/include/applets.h
===================================================================
---- busybox-1.7.2.orig/include/applets.h 2007-10-30 15:35:03.000000000 -0500
-+++ busybox-1.7.2/include/applets.h 2007-10-30 15:35:05.000000000 -0500
-@@ -190,6 +190,7 @@
+--- busybox-1.8.1.orig/include/applets.h 2007-11-10 17:39:21.487529096 +0100
++++ busybox-1.8.1/include/applets.h 2007-11-10 17:40:53.408767391 +0100
+@@ -198,6 +198,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_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))
-Index: busybox-1.7.2/include/unarchive.h
+Index: busybox-1.8.1/include/unarchive.h
===================================================================
---- busybox-1.7.2.orig/include/unarchive.h 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/include/unarchive.h 2007-10-30 15:35:05.000000000 -0500
+--- busybox-1.8.1.orig/include/unarchive.h 2007-11-10 17:39:21.495529554 +0100
++++ busybox-1.8.1/include/unarchive.h 2007-11-10 17:40:53.408767391 +0100
@@ -74,6 +74,7 @@
extern void data_skip(archive_handle_t *archive_handle);
extern void data_extract_to_stdout(archive_handle_t *archive_handle);
extern void data_extract_to_buffer(archive_handle_t *archive_handle);
-Index: busybox-1.7.2/include/usage.h
+Index: busybox-1.8.1/include/usage.h
===================================================================
---- busybox-1.7.2.orig/include/usage.h 2007-10-30 15:35:03.000000000 -0500
-+++ busybox-1.7.2/include/usage.h 2007-10-30 15:35:05.000000000 -0500
-@@ -1226,6 +1226,82 @@
+--- busybox-1.8.1.orig/include/usage.h 2007-11-10 17:40:53.208755993 +0100
++++ busybox-1.8.1/include/usage.h 2007-11-10 17:40:53.412767617 +0100
+@@ -1294,6 +1294,82 @@
"$ ls -la /tmp/busybox*\n" \
"-rw-rw-r-- 1 andersen andersen 554058 Apr 14 17:49 /tmp/busybox.tar.gz\n"
#define halt_trivial_usage \
"[-d delay] [-n] [-f]"
#define halt_full_usage \
-Index: busybox-1.7.2/Makefile
+Index: busybox-1.8.1/Makefile
===================================================================
---- busybox-1.7.2.orig/Makefile 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/Makefile 2007-10-30 15:35:05.000000000 -0500
+--- busybox-1.8.1.orig/Makefile 2007-11-10 17:39:21.511530465 +0100
++++ busybox-1.8.1/Makefile 2007-11-10 17:40:53.412767617 +0100
@@ -428,6 +428,7 @@
libs-y := \
-Index: busybox-1.7.2/coreutils/md5_sha1_sum.c
+Index: busybox-1.8.1/coreutils/md5_sha1_sum.c
===================================================================
---- busybox-1.7.2.orig/coreutils/md5_sha1_sum.c 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/coreutils/md5_sha1_sum.c 2007-10-30 15:35:06.000000000 -0500
+--- busybox-1.8.1.orig/coreutils/md5_sha1_sum.c 2007-11-10 02:40:51.000000000 +0100
++++ busybox-1.8.1/coreutils/md5_sha1_sum.c 2007-11-10 17:05:59.957468399 +0100
@@ -8,75 +8,10 @@
#include "libbb.h"
- return hash_value;
-}
-
- int md5_sha1_sum_main(int argc, char **argv);
+ int md5_sha1_sum_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int md5_sha1_sum_main(int argc, char **argv)
{
-Index: busybox-1.7.2/include/libbb.h
+Index: busybox-1.8.1/include/libbb.h
===================================================================
---- busybox-1.7.2.orig/include/libbb.h 2007-10-30 15:35:04.000000000 -0500
-+++ busybox-1.7.2/include/libbb.h 2007-10-30 15:35:06.000000000 -0500
-@@ -947,6 +947,7 @@
+--- busybox-1.8.1.orig/include/libbb.h 2007-11-10 16:55:07.048261223 +0100
++++ busybox-1.8.1/include/libbb.h 2007-11-10 17:04:07.543062264 +0100
+@@ -1022,6 +1022,7 @@
extern const char bb_uuenc_tbl_std[];
void bb_uuencode(char *store, const void *s, int length, const char *tbl);
typedef struct sha1_ctx_t {
uint32_t count[2];
uint32_t hash[5];
-@@ -968,6 +969,8 @@
+@@ -1043,6 +1044,8 @@
void md5_begin(md5_ctx_t *ctx);
void md5_hash(const void *data, size_t length, md5_ctx_t *ctx);
void *md5_end(void *resbuf, md5_ctx_t *ctx);
uint32_t *crc32_filltable(uint32_t *tbl256, int endian);
-Index: busybox-1.7.2/libbb/Kbuild
+Index: busybox-1.8.1/libbb/Kbuild
===================================================================
---- busybox-1.7.2.orig/libbb/Kbuild 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/libbb/Kbuild 2007-10-30 15:35:06.000000000 -0500
-@@ -38,6 +38,7 @@
+--- busybox-1.8.1.orig/libbb/Kbuild 2007-11-10 02:40:52.000000000 +0100
++++ busybox-1.8.1/libbb/Kbuild 2007-11-10 17:04:07.547062497 +0100
+@@ -39,6 +39,7 @@
lib-y += get_last_path_component.o
lib-y += get_line_from_file.o
lib-y += getopt32.o
lib-y += herror_msg.o
lib-y += herror_msg_and_die.o
lib-y += human_readable.o
-Index: busybox-1.7.2/libbb/hash.c
+Index: busybox-1.8.1/libbb/hash.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/libbb/hash.c 2007-10-30 15:35:06.000000000 -0500
++++ busybox-1.8.1/libbb/hash.c 2007-11-10 17:04:07.551062729 +0100
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2003 Glenn L. McGrath
-Index: busybox-1.7.2/editors/awk.c
+Index: busybox-1.8.1/editors/awk.c
===================================================================
---- busybox-1.7.2.orig/editors/awk.c 2007-10-30 15:35:03.000000000 -0500
-+++ busybox-1.7.2/editors/awk.c 2007-10-30 15:35:06.000000000 -0500
+--- busybox-1.8.1.orig/editors/awk.c 2007-11-10 16:55:07.032260312 +0100
++++ busybox-1.8.1/editors/awk.c 2007-11-10 17:07:04.493146078 +0100
@@ -33,6 +33,11 @@
/* these flags are static, don't change them when value is changed */
#define VF_DONTTOUCH (VF_ARRAY | VF_SPECIAL | VF_WALK | VF_CHILD | VF_DIRTY)
g_progname = L.s;
nvfree(fnargs);
-@@ -2753,6 +2768,13 @@
+@@ -2753,6 +2768,12 @@
}
- int awk_main(int argc, char **argv);
+ int awk_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int awx_main(int argc, char **argv);
+
+#ifdef CONFIG_AWX
+static int is_awx = 0;
+#include "awx.c"
+#endif
-+
int awk_main(int argc, char **argv)
{
unsigned opt;
-@@ -2817,6 +2839,11 @@
+@@ -2817,6 +2838,11 @@
*s1 = '=';
}
}
opt_complementary = "v::f::";
opt = getopt32(argv, "F:v:f:W:", &opt_F, &opt_v, &opt_f, &opt_W);
argv += optind;
-Index: busybox-1.7.2/editors/awx.c
+Index: busybox-1.8.1/editors/awx.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/editors/awx.c 2007-10-30 15:35:06.000000000 -0500
++++ busybox-1.8.1/editors/awx.c 2007-11-10 17:06:19.258568308 +0100
@@ -0,0 +1,636 @@
+/*
+ * awk web extension
+ return awk_main(argc, argv);
+}
+
-Index: busybox-1.7.2/editors/awx_parser.h
+Index: busybox-1.8.1/editors/awx_parser.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/editors/awx_parser.h 2007-10-30 15:35:06.000000000 -0500
++++ busybox-1.8.1/editors/awx_parser.h 2007-11-10 17:06:19.266568760 +0100
@@ -0,0 +1,38 @@
+#ifndef __TEMPLATE_PARSER_H
+#define __TEMPLATE_PARSER_H
+void free_template(struct template_cb *cb, struct template_element *e);
+
+#endif
-Index: busybox-1.7.2/editors/awx_parser.l
+Index: busybox-1.8.1/editors/awx_parser.l
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/editors/awx_parser.l 2007-10-30 15:35:06.000000000 -0500
++++ busybox-1.8.1/editors/awx_parser.l 2007-11-10 17:06:19.270568989 +0100
@@ -0,0 +1,302 @@
+%{
+#include <stdio.h>
+ free(e);
+ return free_template(cb, next);
+}
-Index: busybox-1.7.2/editors/Config.in
+Index: busybox-1.8.1/editors/Config.in
===================================================================
---- busybox-1.7.2.orig/editors/Config.in 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/editors/Config.in 2007-10-30 15:35:06.000000000 -0500
+--- busybox-1.8.1.orig/editors/Config.in 2007-11-10 02:40:54.000000000 +0100
++++ busybox-1.8.1/editors/Config.in 2007-11-10 17:06:19.274569218 +0100
@@ -12,6 +12,13 @@
Awk is used as a pattern scanning and processing language. This is
the BusyBox implementation of that programming language.
config FEATURE_AWK_MATH
bool "Enable math functions (requires libm)"
default y
-Index: busybox-1.7.2/editors/Kbuild
+Index: busybox-1.8.1/editors/Kbuild
===================================================================
---- busybox-1.7.2.orig/editors/Kbuild 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/editors/Kbuild 2007-10-30 15:35:06.000000000 -0500
+--- busybox-1.8.1.orig/editors/Kbuild 2007-11-10 02:40:54.000000000 +0100
++++ busybox-1.8.1/editors/Kbuild 2007-11-10 17:06:19.278569448 +0100
@@ -12,3 +12,12 @@
lib-$(CONFIG_PATCH) += patch.o
lib-$(CONFIG_SED) += sed.o
+editors/awx_parser.o: editors/awx_parser.c FORCE
+ $(call cmd,force_checksrc)
+ $(call if_changed_rule,cc_o_c)
-Index: busybox-1.7.2/include/applets.h
+Index: busybox-1.8.1/include/applets.h
===================================================================
---- busybox-1.7.2.orig/include/applets.h 2007-10-30 15:35:05.000000000 -0500
-+++ busybox-1.7.2/include/applets.h 2007-10-30 15:35:06.000000000 -0500
-@@ -76,6 +76,7 @@
+--- busybox-1.8.1.orig/include/applets.h 2007-11-10 17:03:38.957433264 +0100
++++ busybox-1.8.1/include/applets.h 2007-11-10 17:06:19.282569674 +0100
+@@ -83,6 +83,7 @@
USE_ARPING(APPLET(arping, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
USE_ASH(APPLET_NOUSAGE(ash, ash, _BB_DIR_BIN, _BB_SUID_NEVER))
USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk))
USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename))
USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER))
//USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER))
-Index: busybox-1.7.2/include/cgi.h
+Index: busybox-1.8.1/include/cgi.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/include/cgi.h 2007-10-30 15:35:06.000000000 -0500
++++ busybox-1.8.1/include/cgi.h 2007-11-10 17:06:19.282569674 +0100
@@ -0,0 +1,8 @@
+#ifndef CGI_H
+#define CGI_H
+int cgi_init(var_handler);
+
+#endif
-Index: busybox-1.7.2/libbb/cgi.c
+Index: busybox-1.8.1/libbb/cgi.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ busybox-1.7.2/libbb/cgi.c 2007-10-30 15:35:06.000000000 -0500
++++ busybox-1.8.1/libbb/cgi.c 2007-11-10 17:06:19.282569674 +0100
@@ -0,0 +1,457 @@
+/* --------------------------------------------------------------------------
+ * functions for processing cgi form data
+
+ return retval;
+}
-Index: busybox-1.7.2/libbb/Kbuild
+Index: busybox-1.8.1/libbb/Kbuild
===================================================================
---- busybox-1.7.2.orig/libbb/Kbuild 2007-10-30 15:35:06.000000000 -0500
-+++ busybox-1.7.2/libbb/Kbuild 2007-10-30 15:35:06.000000000 -0500
-@@ -99,6 +99,7 @@
+--- busybox-1.8.1.orig/libbb/Kbuild 2007-11-10 17:04:07.547062497 +0100
++++ busybox-1.8.1/libbb/Kbuild 2007-11-10 17:06:19.282569674 +0100
+@@ -101,6 +101,7 @@
lib-y += xreadlink.o
# conditionally compiled objects:
+++ /dev/null
-Index: busybox-1.7.2/coreutils/tail.c
-===================================================================
---- busybox-1.7.2.orig/coreutils/tail.c 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/coreutils/tail.c 2007-10-30 15:35:06.000000000 -0500
-@@ -47,13 +47,16 @@
- static ssize_t tail_read(int fd, char *buf, size_t count)
- {
- ssize_t r;
-- off_t current, end;
-+ off_t current;
- struct stat sbuf;
-
-- end = current = lseek(fd, 0, SEEK_CUR);
-- if (!fstat(fd, &sbuf))
-- end = sbuf.st_size;
-- lseek(fd, end < current ? 0 : current, SEEK_SET);
-+ /* (A good comment is missing here) */
-+ current = lseek(fd, 0, SEEK_CUR);
-+ /* /proc files report zero st_size, don't lseek them. */
-+ if (fstat(fd, &sbuf) == 0 && sbuf.st_size)
-+ if (sbuf.st_size < current)
-+ lseek(fd, 0, SEEK_SET);
-+
- r = safe_read(fd, buf, count);
- if (r < 0) {
- bb_perror_msg(bb_msg_read_error);
-@@ -67,8 +70,12 @@
-
- static unsigned eat_num(const char *p)
- {
-- if (*p == '-') p++;
-- else if (*p == '+') { p++; G.status = EXIT_FAILURE; }
-+ if (*p == '-')
-+ p++;
-+ else if (*p == '+') {
-+ p++;
-+ G.status = EXIT_FAILURE;
-+ }
- return xatou_sfx(p, tail_suffixes);
- }
-
+++ /dev/null
-Index: busybox-1.7.2/sysklogd/logger.c
-===================================================================
---- busybox-1.7.2.orig/sysklogd/logger.c 2007-10-30 15:34:59.000000000 -0500
-+++ busybox-1.7.2/sysklogd/logger.c 2007-10-30 15:35:07.000000000 -0500
-@@ -107,7 +107,7 @@
- argv += optind;
- if (!argc) {
- #define strbuf bb_common_bufsiz1
-- while (fgets(strbuf, BUFSIZ, stdin)) {
-+ while (fgets(strbuf, COMMON_BUFSIZE, stdin)) {
- if (strbuf[0]
- && NOT_LONE_CHAR(strbuf, '\n')
- ) {
-@@ -117,11 +117,11 @@
- }
- } else {
- char *message = NULL;
-- int len = 1; /* for NUL */
-+ int len = 0;
- int pos = 0;
- do {
- len += strlen(*argv) + 1;
-- message = xrealloc(message, len);
-+ message = xrealloc(message, len + 1);
- sprintf(message + pos, " %s", *argv),
- pos = len;
- } while (*++argv);