SHA256
1
0
forked from pool/busybox
OBS User unknown 2007-11-19 09:18:53 +00:00 committed by Git OBS Bridge
parent b64f3b75e9
commit 3dde2b9d17
13 changed files with 349 additions and 36 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d1c7ee084266a168372755929cc59cd27a5ddc136a97608b855f0dba5f7ba8c2
size 1692099

3
busybox-1.8.1.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f06868e7a622c562d7b16594158d9c245ad8491fb0f27cde9fa8a1d924264ca4
size 1763559

View File

@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.6.1
# Sun Jul 15 08:40:07 2007
# Busybox version: 1.8.1
# Fri Nov 16 13:55:35 2007
#
CONFIG_HAVE_DOT_CONFIG=y
@ -27,23 +27,22 @@ CONFIG_FEATURE_DEVPTS=y
# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_PIDFILE=y
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SYSLOG=y
# CONFIG_FEATURE_SUID_CONFIG is not set
# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
CONFIG_FEATURE_HAVE_RPC=y
# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_FEATURE_SYSLOG=y
CONFIG_FEATURE_HAVE_RPC=y
#
# Build Options
#
# CONFIG_STATIC is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
CONFIG_BUILD_AT_ONCE=y
#
# Debugging Options
@ -61,7 +60,11 @@ CONFIG_INCLUDE_SUSv2=y
# CONFIG_INSTALL_NO_USR is not set
CONFIG_INSTALL_APPLET_SYMLINKS=y
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
# CONFIG_INSTALL_APPLET_DONT is not set
# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
CONFIG_PREFIX="/usr"
#
@ -69,7 +72,10 @@ CONFIG_PREFIX="/usr"
#
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=2
CONFIG_FEATURE_FAST_TOP=y
# CONFIG_FEATURE_ETC_NETWORKS is not set
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
CONFIG_FEATURE_EDITING_FANCY_KEYS=y
# CONFIG_FEATURE_EDITING_VI is not set
CONFIG_FEATURE_EDITING_HISTORY=666
@ -77,6 +83,8 @@ CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_FEATURE_TAB_COMPLETION=y
# CONFIG_FEATURE_USERNAME_COMPLETION is not set
# CONFIG_FEATURE_EDITING_FANCY_PROMPT is not set
CONFIG_MONOTONIC_SYSCALL=y
CONFIG_IOCTL_HEX2STR_ERROR=y
#
# Applets
@ -88,6 +96,7 @@ CONFIG_FEATURE_TAB_COMPLETION=y
CONFIG_AR=y
CONFIG_FEATURE_AR_LONG_FILENAMES=y
CONFIG_BUNZIP2=y
CONFIG_BZIP2=y
CONFIG_CPIO=y
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
@ -97,6 +106,7 @@ CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
CONFIG_GZIP=y
CONFIG_RPM2CPIO=y
CONFIG_RPM=y
CONFIG_FEATURE_RPM_BZ2=y
CONFIG_TAR=y
CONFIG_FEATURE_TAR_CREATE=y
CONFIG_FEATURE_TAR_BZIP2=y
@ -105,6 +115,7 @@ CONFIG_FEATURE_TAR_FROM=y
CONFIG_FEATURE_TAR_GZIP=y
CONFIG_FEATURE_TAR_COMPRESS=y
# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
CONFIG_FEATURE_TAR_LONG_OPTIONS=y
CONFIG_UNCOMPRESS=y
@ -132,7 +143,6 @@ CONFIG_CHMOD=y
CONFIG_CHOWN=y
CONFIG_CHROOT=y
CONFIG_CKSUM=y
CONFIG_CMP=y
CONFIG_COMM=y
CONFIG_CP=y
CONFIG_CUT=y
@ -142,10 +152,6 @@ CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
CONFIG_FEATURE_DD_IBS_OBS=y
CONFIG_DF=y
CONFIG_DIFF=y
CONFIG_FEATURE_DIFF_BINARY=y
CONFIG_FEATURE_DIFF_DIR=y
CONFIG_FEATURE_DIFF_MINIMAL=y
CONFIG_DIRNAME=y
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
@ -155,6 +161,8 @@ CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
CONFIG_FEATURE_ENV_LONG_OPTIONS=y
# CONFIG_EXPAND is not set
# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
CONFIG_FALSE=y
@ -190,6 +198,8 @@ CONFIG_OD=y
CONFIG_PRINTENV=y
CONFIG_PRINTF=y
CONFIG_PWD=y
CONFIG_READLINK=y
# CONFIG_FEATURE_READLINK_FOLLOW is not set
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
@ -219,11 +229,12 @@ CONFIG_FEATURE_TR_EQUIV=y
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
# CONFIG_UNEXPAND is not set
# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_UNIQ=y
CONFIG_USLEEP=y
CONFIG_UUDECODE=y
CONFIG_UUENCODE=y
CONFIG_WATCH=y
CONFIG_WC=y
CONFIG_FEATURE_WC_LARGE=y
CONFIG_WHO=y
@ -257,6 +268,7 @@ CONFIG_CHVT=y
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
CONFIG_DUMPKMAP=y
# CONFIG_KBD_MODE is not set
CONFIG_LOADFONT=y
CONFIG_LOADKMAP=y
CONFIG_OPENVT=y
@ -273,8 +285,6 @@ CONFIG_SETLOGCONS=y
#
CONFIG_MKTEMP=y
# CONFIG_PIPE_PROGRESS is not set
CONFIG_READLINK=y
# CONFIG_FEATURE_READLINK_FOLLOW is not set
CONFIG_RUN_PARTS=y
CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
CONFIG_FEATURE_RUN_PARTS_FANCY=y
@ -288,10 +298,16 @@ CONFIG_WHICH=y
#
CONFIG_AWK=y
CONFIG_FEATURE_AWK_MATH=y
CONFIG_CMP=y
CONFIG_DIFF=y
CONFIG_FEATURE_DIFF_BINARY=y
CONFIG_FEATURE_DIFF_DIR=y
CONFIG_FEATURE_DIFF_MINIMAL=y
CONFIG_ED=y
CONFIG_PATCH=y
CONFIG_SED=y
CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=1024
CONFIG_FEATURE_VI_COLON=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
@ -314,6 +330,7 @@ CONFIG_FEATURE_FIND_MMIN=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_MAXDEPTH=y
CONFIG_FEATURE_FIND_NEWER=y
CONFIG_FEATURE_FIND_INUM=y
CONFIG_FEATURE_FIND_EXEC=y
@ -326,6 +343,8 @@ CONFIG_FEATURE_FIND_SIZE=y
CONFIG_FEATURE_FIND_PRUNE=y
# CONFIG_FEATURE_FIND_DELETE is not set
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_REGEX=y
# CONFIG_FEATURE_FIND_CONTEXT is not set
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
@ -366,11 +385,14 @@ CONFIG_GETTY=y
CONFIG_FEATURE_UTMP=y
CONFIG_FEATURE_WTMP=y
CONFIG_LOGIN=y
# CONFIG_PAM is not set
# CONFIG_LOGIN_SCRIPTS is not set
# CONFIG_FEATURE_NOLOGIN is not set
CONFIG_FEATURE_SECURETTY=y
CONFIG_PASSWD=y
# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
CONFIG_CRYPTPW=y
# CONFIG_CHPASSWD is not set
CONFIG_SU=y
CONFIG_FEATURE_SU_SYSLOG=y
CONFIG_FEATURE_SU_CHECKS_SHELLS=y
@ -441,11 +463,13 @@ CONFIG_LOSETUP=y
CONFIG_MDEV=y
CONFIG_FEATURE_MDEV_CONF=y
CONFIG_FEATURE_MDEV_EXEC=y
CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
CONFIG_MKSWAP=y
# CONFIG_FEATURE_MKSWAP_V0 is not set
CONFIG_MORE=y
CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_MOUNT=y
CONFIG_FEATURE_MOUNT_HELPERS=y
CONFIG_FEATURE_MOUNT_NFS=y
CONFIG_FEATURE_MOUNT_CIFS=y
CONFIG_FEATURE_MOUNT_FLAGS=y
@ -500,9 +524,9 @@ CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
CONFIG_MAKEDEVS=y
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
CONFIG_FEATURE_MAKEDEVS_TABLE=y
# CONFIG_MICROCOM is not set
CONFIG_MOUNTPOINT=y
CONFIG_MT=y
# CONFIG_NMETER is not set
CONFIG_RAIDAUTORUN=y
# CONFIG_READAHEAD is not set
CONFIG_RUNLEVEL=y
@ -512,6 +536,7 @@ CONFIG_SETSID=y
CONFIG_TASKSET=y
CONFIG_FEATURE_TASKSET_FANCY=y
CONFIG_TIME=y
# CONFIG_TTYSIZE is not set
CONFIG_WATCHDOG=y
#
@ -529,6 +554,8 @@ CONFIG_FTPPUT=y
CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
CONFIG_HOSTNAME=y
# CONFIG_HTTPD is not set
# CONFIG_FEATURE_HTTPD_RANGES is not set
# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
# CONFIG_FEATURE_HTTPD_SETUID is not set
# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
@ -538,6 +565,8 @@ CONFIG_HOSTNAME=y
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
# CONFIG_FEATURE_HTTPD_PROXY is not set
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
CONFIG_FEATURE_IFCONFIG_SLIP=y
@ -545,6 +574,7 @@ CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
CONFIG_FEATURE_IFCONFIG_HW=y
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_IFUPDOWN=y
CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
CONFIG_FEATURE_IFUPDOWN_IP=y
CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
@ -566,6 +596,7 @@ CONFIG_FEATURE_IP_ROUTE=y
CONFIG_FEATURE_IP_TUNNEL=y
CONFIG_FEATURE_IP_RULE=y
CONFIG_FEATURE_IP_SHORT_FORMS=y
# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
CONFIG_IPADDR=y
CONFIG_IPLINK=y
CONFIG_IPROUTE=y
@ -583,8 +614,10 @@ CONFIG_FEATURE_NETSTAT_WIDE=y
CONFIG_NSLOOKUP=y
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_PSCAN=y
CONFIG_FEATURE_FANCY_PING=y
CONFIG_ROUTE=y
# CONFIG_SLATTACH is not set
CONFIG_TELNET=y
CONFIG_FEATURE_TELNET_TTYPE=y
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
@ -602,8 +635,8 @@ CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y
# CONFIG_APP_UDHCPD is not set
# CONFIG_APP_DHCPRELAY is not set
# CONFIG_APP_DUMPLEASES is not set
# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
CONFIG_APP_UDHCPC=y
# CONFIG_FEATURE_UDHCP_SYSLOG is not set
# CONFIG_FEATURE_UDHCP_DEBUG is not set
CONFIG_FEATURE_RFC3397=y
CONFIG_VCONFIG=y
@ -621,16 +654,23 @@ CONFIG_FUSER=y
CONFIG_KILL=y
CONFIG_KILLALL=y
CONFIG_KILLALL5=y
# CONFIG_NMETER is not set
# CONFIG_PGREP is not set
CONFIG_PIDOF=y
CONFIG_FEATURE_PIDOF_SINGLE=y
CONFIG_FEATURE_PIDOF_OMIT=y
# CONFIG_PKILL is not set
CONFIG_PS=y
CONFIG_FEATURE_PS_WIDE=y
CONFIG_RENICE=y
CONFIG_BB_SYSCTL=y
CONFIG_TOP=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
# CONFIG_FEATURE_TOP_DECIMALS is not set
CONFIG_FEATURE_TOPMEM=y
CONFIG_UPTIME=y
CONFIG_WATCH=y
#
# Shells
@ -707,10 +747,14 @@ CONFIG_SVLOGD=y
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RESTORECON is not set
# CONFIG_RUNCON is not set
# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SETENFORCE is not set
# CONFIG_SETFILES is not set
# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
# CONFIG_SETSEBOOL is not set
#
# ipsvd utilities

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Nov 16 15:02:36 CET 2007 - olh@suse.de
- update to 1.8.1
see http://www.busybox.net/ for full changelog
-------------------------------------------------------------------
Sun Jul 15 10:47:28 CEST 2007 - olh@suse.de

View File

@ -16,7 +16,7 @@
+ return 16384;
+}
+
int dmesg_main(int argc, char **argv);
int dmesg_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int dmesg_main(int argc, char **argv)
{
@@ -25,7 +33,7 @@ int dmesg_main(int argc, char **argv)

View File

@ -0,0 +1,15 @@
---
networking/inetd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/networking/inetd.c
+++ b/networking/inetd.c
@@ -813,7 +813,7 @@ static servtab_t *getconfigent(void)
sep->se_bi = NULL;
#endif
argc = 0;
- for (; cp; arg = skip(&cp)) {
+ for (arg = skip(&cp); cp; arg = skip(&cp)) {
if (argc < MAXARGV)
sep->se_argv[argc++] = xxstrdup(arg);
}

View File

@ -0,0 +1,100 @@
---
shell/lash.c | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
--- a/shell/lash.c
+++ b/shell/lash.c
@@ -157,8 +157,8 @@ static int shell_context; /* Type promp
static char *cwd;
static char *local_pending_command;
static struct jobset job_list = { NULL, NULL };
-static int argc;
-static char **argv;
+static int global_argc;
+static char **global_argv;
static llist_t *close_me_list;
static int last_return_code;
static int last_bg_pid;
@@ -810,16 +810,16 @@ static int expand_arguments(char *comman
var = itoa(getpid());
break;
case '#':
- var = itoa(argc-1);
+ var = itoa(global_argc - 1);
break;
case '0':case '1':case '2':case '3':case '4':
case '5':case '6':case '7':case '8':case '9':
{
int ixx = *(dst+1)-48+1;
- if (ixx >= argc) {
+ if (ixx >= global_argc) {
var = '\0';
} else {
- var = argv[ixx];
+ var = global_argv[ixx];
}
}
break;
@@ -1492,12 +1492,13 @@ static inline void setup_job_control(voi
#endif
int lash_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int lash_main(int argc_l, char **argv_l)
+int lash_main(int argc, char **argv)
{
unsigned opt;
FILE *input = stdin;
- argc = argc_l;
- argv = argv_l;
+
+ global_argc = argc;
+ global_argv = argv;
#if ENABLE_FEATURE_EDITING
line_input_state = new_line_input_t(FOR_SHELL);
@@ -1510,7 +1511,7 @@ int lash_main(int argc_l, char **argv_l)
job_list.fg = NULL;
last_return_code = 1;
- if (argv[0] && argv[0][0] == '-') {
+ if (global_argv[0] && global_argv[0][0] == '-') {
FILE *prof_input;
prof_input = fopen("/etc/profile", "r");
if (prof_input) {
@@ -1522,13 +1523,13 @@ int lash_main(int argc_l, char **argv_l)
}
}
- opt = getopt32(argv_l, "+ic:", &local_pending_command);
+ opt = getopt32(argv, "+ic:", &local_pending_command);
#define LASH_OPT_i (1<<0)
#define LASH_OPT_c (1<<1)
if (opt & LASH_OPT_c) {
input = NULL;
optind++;
- argv += optind;
+ global_argv += optind;
}
/* A shell is interactive if the `-i' flag was given, or if all of
* the following conditions are met:
@@ -1537,7 +1538,7 @@ int lash_main(int argc_l, char **argv_l)
* standard input is a terminal
* standard output is a terminal
* Refer to Posix.2, the description of the `sh' utility. */
- if (argv[optind] == NULL && input == stdin
+ if (global_argv[optind] == NULL && input == stdin
&& isatty(STDIN_FILENO) && isatty(STDOUT_FILENO)
) {
opt |= LASH_OPT_i;
@@ -1550,9 +1551,9 @@ int lash_main(int argc_l, char **argv_l)
"Enter 'help' for a list of built-in commands.\n\n",
bb_banner);
}
- } else if (!local_pending_command && argv[optind]) {
+ } else if (!local_pending_command && global_argv[optind]) {
//printf( "optind=%d argv[optind]='%s'\n", optind, argv[optind]);
- input = xfopen(argv[optind], "r");
+ input = xfopen(global_argv[optind], "r");
/* be lazy, never mark this closed */
llist_add_to(&close_me_list, (void *)(long)fileno(input));
}

View File

@ -0,0 +1,14 @@
---
archival/libunarchive/decompress_unzip.c | 1 +
1 file changed, 1 insertion(+)
--- a/archival/libunarchive/decompress_unzip.c
+++ b/archival/libunarchive/decompress_unzip.c
@@ -1178,6 +1178,7 @@ unpack_gz_stream(int in, int out)
ALLOC_STATE;
bytebuffer_max = 0x8000;
bytebuffer = xmalloc(bytebuffer_max);
+ gunzip_src_fd = in;
again:
if (!check_header_gzip(PASS_STATE_ONLY)) {

View File

@ -0,0 +1,28 @@
---
coreutils/tr.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- a/coreutils/tr.c
+++ b/coreutils/tr.c
@@ -173,7 +173,8 @@ int tr_main(int argc, char **argv)
int idx = 1;
int i;
smalluint flags = 0;
- size_t read_chars = 0, in_index = 0, out_index = 0, c, coded, last = -1;
+ ssize_t read_chars = 0;
+ size_t in_index = 0, out_index = 0, c, coded, last = -1;
RESERVE_CONFIG_UBUFFER(output, BUFSIZ);
RESERVE_CONFIG_BUFFER(vector, ASCII+1);
RESERVE_CONFIG_BUFFER(invec, ASCII+1);
@@ -223,8 +224,9 @@ int tr_main(int argc, char **argv)
}
read_chars = read(STDIN_FILENO, tr_buf, BUFSIZ);
if (read_chars <= 0) {
- if (write(STDOUT_FILENO, (char *)output, out_index) != out_index)
- bb_perror_msg(bb_msg_write_error);
+ xwrite(STDOUT_FILENO, (char *)output, out_index);
+ if (read_chars < 0)
+ bb_perror_msg_and_die(bb_msg_read_error);
exit(EXIT_SUCCESS);
}
in_index = 0;

View File

@ -0,0 +1,94 @@
---
scripts/trylink | 25 ++++++++++++++++++-------
1 file changed, 18 insertions(+), 7 deletions(-)
--- a/scripts/trylink
+++ b/scripts/trylink
@@ -46,6 +46,14 @@ try() {
return $exitcode
}
+check_cc() {
+ if $CC $1 -shared -o /dev/null -xc /dev/null > /dev/null 2>&1; then
+ echo "$1";
+ else
+ echo "$2";
+ fi
+}
+
EXE="$1"
CC="$2"
LDFLAGS="$3"
@@ -53,6 +61,9 @@ O_FILES="$4"
A_FILES="$5"
LDLIBS="$6"
+# The -Wl,--sort-section option is not supported by older versions of ld
+SORT_SECTION=`check_cc "-Wl,--sort-section -Wl,alignment" ""`
+
# Sanitize lib list (dups, extra spaces etc)
LDLIBS=`echo "$LDLIBS" | xargs -n1 | sort | uniq | xargs`
@@ -64,7 +75,7 @@ test "x$l_list" != "x" && l_list="-Wl,--
try $CC $LDFLAGS \
-o $EXE \
-Wl,--sort-common \
- -Wl,--sort-section -Wl,alignment \
+ $SORT_SECTION \
-Wl,--gc-sections \
-Wl,--start-group $O_FILES $A_FILES -Wl,--end-group \
$l_list \
@@ -88,7 +99,7 @@ while test "$LDLIBS"; do
try $CC $LDFLAGS \
-o $EXE \
-Wl,--sort-common \
- -Wl,--sort-section -Wl,alignment \
+ $SORT_SECTION \
-Wl,--gc-sections \
-Wl,--start-group $O_FILES $A_FILES -Wl,--end-group \
$l_list
@@ -117,7 +128,7 @@ if ! test -f busybox_ldscript; then
try $CC $LDFLAGS \
-o $EXE \
-Wl,--sort-common \
- -Wl,--sort-section -Wl,alignment \
+ $SORT_SECTION \
-Wl,--gc-sections \
-Wl,--start-group $O_FILES $A_FILES -Wl,--end-group \
$l_list \
@@ -139,7 +150,7 @@ else
try $CC $LDFLAGS \
-o $EXE \
-Wl,--sort-common \
- -Wl,--sort-section -Wl,alignment \
+ $SORT_SECTION \
-Wl,--gc-sections \
-Wl,-T -Wl,busybox_ldscript \
-Wl,--start-group $O_FILES $A_FILES -Wl,--end-group \
@@ -174,7 +185,7 @@ if test "$CONFIG_BUILD_LIBBUSYBOX" = y;
-Wl,-soname="libbusybox.so.$BB_VER" \
-Wl,--undefined=lbb_main \
-Wl,--sort-common \
- -Wl,--sort-section -Wl,alignment \
+ $SORT_SECTION \
-Wl,--start-group $A_FILES -Wl,--end-group \
$l_list \
-Wl,--warn-common \
@@ -195,7 +206,7 @@ if test "$CONFIG_FEATURE_SHARED_BUSYBOX"
try $CC $LDFLAGS \
-o $EXE \
-Wl,--sort-common \
- -Wl,--sort-section -Wl,alignment \
+ $SORT_SECTION \
-Wl,--gc-sections \
-Wl,--start-group $O_FILES -Wl,--end-group \
-L"$sharedlib_dir" -lbusybox \
@@ -234,7 +245,7 @@ int main(int argc, char **argv)
try $CC $LDFLAGS "$sharedlib_dir/applet.c" \
-o $EXE \
-Wl,--sort-common \
- -Wl,--sort-section -Wl,alignment \
+ $SORT_SECTION \
-Wl,--gc-sections \
-L"$sharedlib_dir" -lbusybox \
-Wl,--warn-common \

View File

@ -5,11 +5,11 @@
--- a/applets/install.sh
+++ b/applets/install.sh
@@ -8,7 +8,7 @@ if [ -z "$prefix" ]; then
echo "usage: applets/install.sh DESTINATION [--symlinks/--hardlinks]"
echo "usage: applets/install.sh DESTINATION [--symlinks/--hardlinks/--scriptwrapper]"
exit 1;
fi
-h=`sort busybox.links | uniq`
+h=`sort /usr/share/busybox/busybox.links | uniq`
scriptwrapper="n"
cleanup="0"
noclobber="0"
case "$2" in

View File

@ -10,18 +10,18 @@ make[1]: *** [archival/libunarchive/get_header_tar.o] Error 1
--- a/archival/libunarchive/get_header_tar.c
+++ b/archival/libunarchive/get_header_tar.c
@@ -143,8 +143,8 @@ char get_header_tar(archive_handle_t *ar
@@ -162,8 +162,8 @@ char get_header_tar(archive_handle_t *ar
}
file_header->link_name = NULL;
file_header->link_target = NULL;
if (!linkname && parse_names && tar.linkname[0]) {
- /* we trash magic[0] here, it's ok */
- tar.linkname[sizeof(tar.linkname)] = '\0';
+ /* we trash magic[0] here to terminate tar.linkname, it's ok */
+ tar.magic[0] = '\0';
file_header->link_name = xstrdup(tar.linkname);
/* FIXME: what if we have non-link object with link_name? */
/* Will link_name be free()ed? */
@@ -158,11 +158,11 @@ char get_header_tar(archive_handle_t *ar
file_header->link_target = xstrdup(tar.linkname);
/* FIXME: what if we have non-link object with link_target? */
/* Will link_target be free()ed? */
@@ -177,11 +177,11 @@ char get_header_tar(archive_handle_t *ar
file_header->name = NULL;
if (!longname && parse_names) {

View File

@ -1,5 +1,5 @@
#
# spec file for package busybox (Version 1.6.1)
# spec file for package busybox (Version 1.8.1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@ -12,18 +12,23 @@
Name: busybox
BuildRequires: dietlibc
URL: http://www.busybox.net/
Version: 1.6.1
Url: http://www.busybox.net/
Version: 1.8.1
Release: 1
Summary: The Swiss Army Knife of Embedded Linux
License: GPL v2 or later
Group: System/Base
Autoreqprov: on
AutoReqProv: on
Source: http://busybox.net/downloads/%{name}-%{version}.tar.bz2
Source2: busybox.SuSE.config
Patch1: busybox.install.patch
Patch2: busybox.libunarchive-array.patch
Patch3: busybox.dmesg-size.patch
Patch1: busybox.fix.busybox-1.8.1-inetd.patch
Patch2: busybox.fix.busybox-1.8.1-lash.patch
Patch3: busybox.fix.busybox-1.8.1-tar_z.patch
Patch4: busybox.fix.busybox-1.8.1-tr.patch
Patch5: busybox.fix.busybox-1.8.1-trylink.patch
Patch100: busybox.install.patch
Patch101: busybox.libunarchive-array.patch
Patch102: busybox.dmesg-size.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@ -48,6 +53,11 @@ Authors:
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
%build
cp -avL %{S:2} .config
@ -78,8 +88,10 @@ install -m 644 docs/BusyBox.1 $RPM_BUILD_ROOT%_mandir/man1
/usr/bin/busybox.install
%dir /usr/share/busybox
%config /usr/share/busybox/busybox.links
%changelog
* Fri Nov 16 2007 - olh@suse.de
- update to 1.8.1
see http://www.busybox.net/ for full changelog
* Sun Jul 15 2007 - olh@suse.de
- update to 1.6.1
see http://www.busybox.net/ for full changelog