SHA256
1
0
forked from pool/busybox
OBS User unknown 2008-01-17 21:10:25 +00:00 committed by Git OBS Bridge
parent 3dde2b9d17
commit f96dcff6ae
12 changed files with 140 additions and 312 deletions

View File

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

View File

@ -0,0 +1,13 @@
diff -urN busybox-1.8.2/networking/arping.c busybox-1.8.2-arping/networking/arping.c
--- busybox-1.8.2/networking/arping.c 2007-11-10 01:40:47.000000000 +0000
+++ busybox-1.8.2-arping/networking/arping.c 2007-12-18 10:31:55.000000000 +0000
@@ -207,7 +207,8 @@
}
if (last) {
- printf(" %u.%03ums\n", last / 1000, last % 1000);
+ unsigned diff = MONOTONIC_US() - last;
+ printf(" %u.%03ums\n", diff / 1000, diff % 1000);
} else {
printf(" UNSOLICITED?\n");
}

View File

@ -0,0 +1,12 @@
diff -urN busybox-1.8.2/applets/applets.c busybox-1.8.2-static/applets/applets.c
--- busybox-1.8.2/applets/applets.c 2007-11-10 01:40:53.000000000 +0000
+++ busybox-1.8.2-static/applets/applets.c 2007-12-09 03:46:04.000000000 +0000
@@ -17,7 +17,7 @@
#warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
#warning Note that glibc is unsuitable for static linking anyway.
#warning If you still want to do it, remove -Wl,--gc-sections
-#warning from top-level Makefile and remove this warning.
+#warning from file scripts/trylink and remove this warning.
#error Aborting compilation.
#endif

40
busybox-1.8.2-vi.patch Normal file
View File

@ -0,0 +1,40 @@
diff -urN busybox-1.8.2/editors/vi.c busybox-1.8.2-vi/editors/vi.c
--- busybox-1.8.2/editors/vi.c 2007-11-10 01:40:54.000000000 +0000
+++ busybox-1.8.2-vi/editors/vi.c 2007-12-10 16:26:01.000000000 +0000
@@ -184,6 +184,7 @@
#if ENABLE_FEATURE_VI_COLON
char *initial_cmds[3]; // currently 2 entries, NULL terminated
#endif
+ char readbuffer[MAX_LINELEN];
};
#define G (*ptr_to_globals)
#define text (G.text )
@@ -200,6 +201,10 @@
#define term_orig (G.term_orig )
#define term_vi (G.term_vi )
#define initial_cmds (G.initial_cmds )
+#define readbuffer (G.readbuffer )
+#define INIT_G() do { \
+ PTR_TO_GLOBALS = xzalloc(sizeof(G)); \
+} while (0)
static int init_text_buffer(char *); // init from file or create new
static void edit_file(char *); // edit one file
@@ -321,7 +326,7 @@
my_pid = getpid();
#endif
- PTR_TO_GLOBALS = xzalloc(sizeof(G));
+ INIT_G();
#if ENABLE_FEATURE_VI_CRASHME
srand((long) my_pid);
@@ -2142,8 +2147,6 @@
return safe_poll(pfd, 1, hund*10) > 0;
}
-#define readbuffer bb_common_bufsiz1
-
static int readed_for_parse;
//----- IO Routines --------------------------------------------

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

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

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Jan 17 14:30:48 CET 2008 - sassmann@suse.de
- update to 1.8.2
see http://www.busybox.net/ for full changelog
- added bugfixes
* busybox-1.8.2-arping.patch
* busybox-1.8.2-static
* busybox-1.8.2-vi.patch
-------------------------------------------------------------------
Fri Nov 16 15:02:36 CET 2007 - olh@suse.de

View File

@ -1,15 +0,0 @@
---
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

@ -1,100 +0,0 @@
---
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

@ -1,14 +0,0 @@
---
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

@ -1,28 +0,0 @@
---
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

@ -1,94 +0,0 @@
---
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

@ -1,7 +1,7 @@
#
# spec file for package busybox (Version 1.8.1)
# spec file for package busybox (Version 1.8.2)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@ -13,7 +13,7 @@
Name: busybox
BuildRequires: dietlibc
Url: http://www.busybox.net/
Version: 1.8.1
Version: 1.8.2
Release: 1
Summary: The Swiss Army Knife of Embedded Linux
License: GPL v2 or later
@ -21,11 +21,9 @@ Group: System/Base
AutoReqProv: on
Source: http://busybox.net/downloads/%{name}-%{version}.tar.bz2
Source2: busybox.SuSE.config
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
Patch1: busybox-1.8.2-arping.patch
Patch2: busybox-1.8.2-static.patch
Patch3: busybox-1.8.2-vi.patch
Patch100: busybox.install.patch
Patch101: busybox.libunarchive-array.patch
Patch102: busybox.dmesg-size.patch
@ -53,8 +51,6 @@ Authors:
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
@ -88,26 +84,34 @@ 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
* Thu Jan 17 2008 sassmann@suse.de
- update to 1.8.2
see http://www.busybox.net/ for full changelog
- added bugfixes
* busybox-1.8.2-arping.patch
* busybox-1.8.2-static
* busybox-1.8.2-vi.patch
* 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
* Sun Jul 15 2007 olh@suse.de
- update to 1.6.1
see http://www.busybox.net/ for full changelog
* Fri May 11 2007 - olh@suse.de
* Fri May 11 2007 olh@suse.de
- increase ash cmdline history size
user kernel ringbuffer size for dmesg
* Mon May 07 2007 - olh@suse.de
* Mon May 07 2007 olh@suse.de
- gcc42 rejects out of bounds array access
* Sat Apr 28 2007 - olh@suse.de
* Sat Apr 28 2007 olh@suse.de
- update to 1.4.2
reduces binary size after e2fsprogs removal
* Wed Dec 06 2006 - trenn@suse.de
* Wed Dec 06 2006 trenn@suse.de
- move to 1.2.2 and enable nearly everything.
Most important (awk,less,vi and much more)
binary on i386 now has 732k
* Wed Aug 09 2006 - ihno@suse.de
* Wed Aug 09 2006 ihno@suse.de
- update to busybox 1.2.1 final
Bugfix release. Bugs fixed:
lash: "var=value" works without export
@ -117,97 +121,97 @@ install -m 644 docs/BusyBox.1 $RPM_BUILD_ROOT%_mandir/man1
all setuid and getgid calls are check return values in case
somebody using per-process resource limits that prevent a user
from having too many processes
* Wed Jan 25 2006 - mls@suse.de
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Mon Jan 16 2006 - ihno@suse.de
* Mon Jan 16 2006 ihno@suse.de
- Update to busybox 1.1.0 final
* Wed Jan 11 2006 - ihno@suse.de
* Wed Jan 11 2006 ihno@suse.de
- update to busybox 1.1.0-pre1
* Wed Nov 16 2005 - dmueller@suse.de
* Wed Nov 16 2005 dmueller@suse.de
- build against dietlibc unconditionally
* Thu May 12 2005 - uli@suse.de
* Thu May 12 2005 uli@suse.de
- use dietlibc on ARM
- uclibc config file needs to be fixed
* Sat Apr 02 2005 - mmj@suse.de
* Sat Apr 02 2005 mmj@suse.de
- Correct function declaration
* Mon Jan 24 2005 - nashif@suse.de
* Mon Jan 24 2005 nashif@suse.de
- Update to 1.00 final
* Tue Aug 17 2004 - nashif@suse.de
* Tue Aug 17 2004 nashif@suse.de
- Update to 1.00-rc3
* Thu Aug 05 2004 - nashif@suse.de
* Thu Aug 05 2004 nashif@suse.de
- Update to 1.00-rc2
* Wed Jul 21 2004 - nashif@suse.de
* Wed Jul 21 2004 nashif@suse.de
- Update to 1.00-rc1
* Tue May 11 2004 - nashif@suse.de
* Tue May 11 2004 nashif@suse.de
- Bug #39461 - Fixes netlink vulnerability
* Tue Apr 27 2004 - mmj@suse.de
* Tue Apr 27 2004 mmj@suse.de
- Fix strict aliasing
* Mon Mar 01 2004 - nashif@suse.de
* Mon Mar 01 2004 nashif@suse.de
- Update to 1.0 pre 8
* Wed Feb 11 2004 - ro@suse.de
* Wed Feb 11 2004 ro@suse.de
- hack to build it on amd64
* Tue Feb 10 2004 - schwab@suse.de
* Tue Feb 10 2004 schwab@suse.de
- Fix building on ia64.
* Wed Feb 04 2004 - kukuk@suse.de
* Wed Feb 04 2004 kukuk@suse.de
- Remove wrong dietlibc requires
* Mon Feb 02 2004 - hare@suse.de
* Mon Feb 02 2004 hare@suse.de
- Fixed spec file to build on all archs.
* Fri Jan 30 2004 - hare@suse.de
* Fri Jan 30 2004 hare@suse.de
- Update to 1.00-pre5
- Patched dietlibc support to use a menuconfig option.
* Sat Jan 10 2004 - adrian@suse.de
* Sat Jan 10 2004 adrian@suse.de
- build as user
* Wed Dec 10 2003 - uli@suse.de
* Wed Dec 10 2003 uli@suse.de
- build with dietlibc where available
* Mon Jun 02 2003 - nashif@suse.de
* Mon Jun 02 2003 nashif@suse.de
- Set Autoreqprov: on
* Thu May 29 2003 - nashif@suse.de
* Thu May 29 2003 nashif@suse.de
- Updated with latest stable release incl. patches.
* Sat May 17 2003 - nashif@suse.de
* Sat May 17 2003 nashif@suse.de
- Removed CVS files
* Sat Nov 02 2002 - nashif@suse.de
* Sat Nov 02 2002 nashif@suse.de
- Update to version 0.60.5
- Unique patch names
* Mon Jun 10 2002 - nashif@suse.de
* Mon Jun 10 2002 nashif@suse.de
- Update to version 0.60.3
* Mon Nov 26 2001 - nashif@suse.de
* Mon Nov 26 2001 nashif@suse.de
- Update to version 0.60.2
- Major Changes:
* msh was reworked
* reworked hostname
* Various bugfixes
* Fri Aug 24 2001 - nashif@suse.de
* Fri Aug 24 2001 nashif@suse.de
- Update to version 0.60.1
- This is a relatively minor bug fixing release which fixes bugs
in the following applets, among others: msh, sed, route, syslogd,
ifconfig, lash
- Rewrite of tftp
* Sat Aug 04 2001 - nashif@suse.de
* Sat Aug 04 2001 nashif@suse.de
- Update to version 0.60.0
* Fri Jul 13 2001 - nashif@suse.de
* Fri Jul 13 2001 nashif@suse.de
- Update to version 0.52
* Wed Apr 11 2001 - nashif@suse.de
* Wed Apr 11 2001 nashif@suse.de
- Update to version 0.51
* Fri Feb 09 2001 - nashif@suse.de
* Fri Feb 09 2001 nashif@suse.de
- Fixed sync.c to compile
* Mon Feb 05 2001 - nashif@suse.de
* Mon Feb 05 2001 nashif@suse.de
- Update to version 0.49
* Wed Dec 20 2000 - uli@suse.de
* Wed Dec 20 2000 uli@suse.de
- disabled insmod for all archs except IA32, ARM and SH
* Tue Dec 19 2000 - nashif@suse.de
* Tue Dec 19 2000 nashif@suse.de
- Update to 0.48 (Fixes many bugs)
* Mon Nov 27 2000 - nashif@suse.de
* Mon Nov 27 2000 nashif@suse.de
- Fixed pathes in install script
* Tue Nov 07 2000 - nashif@suse.de
* Tue Nov 07 2000 nashif@suse.de
- Added EM_486 and OPEN_MAX fixes
* Wed Sep 27 2000 - nashif@suse.de
* Wed Sep 27 2000 nashif@suse.de
- Update to 0.47
- Fix nfsmount.c
* Wed Aug 30 2000 - nashif@suse.de
* Wed Aug 30 2000 nashif@suse.de
- Fix for axp
* Mon Aug 28 2000 - nashif@suse.de
* Mon Aug 28 2000 nashif@suse.de
- Update to version 0.46
* Thu Jul 06 2000 - nashif@suse.de
* Thu Jul 06 2000 nashif@suse.de
- Fix install script (Bug #3195)
* Tue May 23 2000 - nashif@suse.de
* Tue May 23 2000 nashif@suse.de
- Initial Release (Version 0.43)