diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-04-10 23:32:37 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-04-10 23:32:37 +0000 |
commit | f1a7141cfcacf606ae321faa58c45617045460fe (patch) | |
tree | 6b2f3cabea3c78a1f13a1beb30074881f643707d | |
parent | 80d14beae9ebe64d3be1e6c2771f292977cf6d2c (diff) | |
download | busybox-w32-f1a7141cfcacf606ae321faa58c45617045460fe.tar.gz busybox-w32-f1a7141cfcacf606ae321faa58c45617045460fe.tar.bz2 busybox-w32-f1a7141cfcacf606ae321faa58c45617045460fe.zip |
random NOMMU fixes. compressed --help really does work for NOMMU! /me happy
-rw-r--r-- | TODO_config_nommu | 25 | ||||
-rw-r--r-- | applets/applets.c | 6 | ||||
-rw-r--r-- | console-tools/Config.in | 2 | ||||
-rw-r--r-- | console-tools/setconsole.c | 1 | ||||
-rw-r--r-- | libbb/vfork_daemon_rexec.c | 3 |
5 files changed, 28 insertions, 9 deletions
diff --git a/TODO_config_nommu b/TODO_config_nommu index e6f6d9314..bffe4f4f5 100644 --- a/TODO_config_nommu +++ b/TODO_config_nommu | |||
@@ -5,7 +5,7 @@ | |||
5 | # | 5 | # |
6 | # Automatically generated make config: don't edit | 6 | # Automatically generated make config: don't edit |
7 | # Busybox version: 1.6.0.svn | 7 | # Busybox version: 1.6.0.svn |
8 | # Mon Mar 26 18:36:12 2007 | 8 | # Wed Apr 11 01:29:04 2007 |
9 | # | 9 | # |
10 | CONFIG_HAVE_DOT_CONFIG=y | 10 | CONFIG_HAVE_DOT_CONFIG=y |
11 | 11 | ||
@@ -23,19 +23,20 @@ CONFIG_HAVE_DOT_CONFIG=y | |||
23 | # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set | 23 | # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set |
24 | CONFIG_SHOW_USAGE=y | 24 | CONFIG_SHOW_USAGE=y |
25 | CONFIG_FEATURE_VERBOSE_USAGE=y | 25 | CONFIG_FEATURE_VERBOSE_USAGE=y |
26 | # CONFIG_FEATURE_COMPRESS_USAGE is not set | 26 | CONFIG_FEATURE_COMPRESS_USAGE=y |
27 | CONFIG_FEATURE_INSTALLER=y | 27 | CONFIG_FEATURE_INSTALLER=y |
28 | # CONFIG_LOCALE_SUPPORT is not set | 28 | # CONFIG_LOCALE_SUPPORT is not set |
29 | CONFIG_GETOPT_LONG=y | 29 | CONFIG_GETOPT_LONG=y |
30 | CONFIG_FEATURE_DEVPTS=y | 30 | CONFIG_FEATURE_DEVPTS=y |
31 | # CONFIG_FEATURE_CLEAN_UP is not set | 31 | # CONFIG_FEATURE_CLEAN_UP is not set |
32 | CONFIG_FEATURE_PIDFILE=y | ||
32 | CONFIG_FEATURE_SUID=y | 33 | CONFIG_FEATURE_SUID=y |
33 | CONFIG_FEATURE_SYSLOG=y | 34 | CONFIG_FEATURE_SYSLOG=y |
34 | # CONFIG_FEATURE_SUID_CONFIG is not set | 35 | # CONFIG_FEATURE_SUID_CONFIG is not set |
35 | # CONFIG_FEATURE_SUID_CONFIG_QUIET is not set | 36 | # CONFIG_FEATURE_SUID_CONFIG_QUIET is not set |
36 | # CONFIG_FEATURE_HAVE_RPC is not set | 37 | # CONFIG_FEATURE_HAVE_RPC is not set |
37 | # CONFIG_SELINUX is not set | 38 | # CONFIG_SELINUX is not set |
38 | # CONFIG_FEATURE_PREFER_APPLETS is not set | 39 | CONFIG_FEATURE_PREFER_APPLETS=y |
39 | CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" | 40 | CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" |
40 | 41 | ||
41 | # | 42 | # |
@@ -53,7 +54,7 @@ CONFIG_LFS=y | |||
53 | # | 54 | # |
54 | # CONFIG_DEBUG is not set | 55 | # CONFIG_DEBUG is not set |
55 | CONFIG_WERROR=y | 56 | CONFIG_WERROR=y |
56 | # CONFIG_NO_DEBUG_LIB is not set | 57 | CONFIG_NO_DEBUG_LIB=y |
57 | # CONFIG_DMALLOC is not set | 58 | # CONFIG_DMALLOC is not set |
58 | # CONFIG_EFENCE is not set | 59 | # CONFIG_EFENCE is not set |
59 | CONFIG_INCLUDE_SUSv2=y | 60 | CONFIG_INCLUDE_SUSv2=y |
@@ -203,6 +204,7 @@ CONFIG_FEATURE_FANCY_SLEEP=y | |||
203 | CONFIG_SORT=y | 204 | CONFIG_SORT=y |
204 | CONFIG_FEATURE_SORT_BIG=y | 205 | CONFIG_FEATURE_SORT_BIG=y |
205 | CONFIG_SPLIT=y | 206 | CONFIG_SPLIT=y |
207 | CONFIG_FEATURE_SPLIT_FANCY=y | ||
206 | CONFIG_STAT=y | 208 | CONFIG_STAT=y |
207 | CONFIG_FEATURE_STAT_FORMAT=y | 209 | CONFIG_FEATURE_STAT_FORMAT=y |
208 | CONFIG_STTY=y | 210 | CONFIG_STTY=y |
@@ -279,6 +281,7 @@ CONFIG_READLINK=y | |||
279 | CONFIG_FEATURE_READLINK_FOLLOW=y | 281 | CONFIG_FEATURE_READLINK_FOLLOW=y |
280 | CONFIG_RUN_PARTS=y | 282 | CONFIG_RUN_PARTS=y |
281 | CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y | 283 | CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y |
284 | CONFIG_FEATURE_RUN_PARTS_FANCY=y | ||
282 | # CONFIG_START_STOP_DAEMON is not set | 285 | # CONFIG_START_STOP_DAEMON is not set |
283 | # CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set | 286 | # CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set |
284 | # CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set | 287 | # CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set |
@@ -319,7 +322,12 @@ CONFIG_FEATURE_FIND_NEWER=y | |||
319 | CONFIG_FEATURE_FIND_INUM=y | 322 | CONFIG_FEATURE_FIND_INUM=y |
320 | CONFIG_FEATURE_FIND_EXEC=y | 323 | CONFIG_FEATURE_FIND_EXEC=y |
321 | CONFIG_FEATURE_FIND_USER=y | 324 | CONFIG_FEATURE_FIND_USER=y |
325 | CONFIG_FEATURE_FIND_GROUP=y | ||
322 | CONFIG_FEATURE_FIND_NOT=y | 326 | CONFIG_FEATURE_FIND_NOT=y |
327 | CONFIG_FEATURE_FIND_DEPTH=y | ||
328 | CONFIG_FEATURE_FIND_PAREN=y | ||
329 | CONFIG_FEATURE_FIND_SIZE=y | ||
330 | CONFIG_FEATURE_FIND_PRUNE=y | ||
323 | CONFIG_GREP=y | 331 | CONFIG_GREP=y |
324 | CONFIG_FEATURE_GREP_EGREP_ALIAS=y | 332 | CONFIG_FEATURE_GREP_EGREP_ALIAS=y |
325 | CONFIG_FEATURE_GREP_FGREP_ALIAS=y | 333 | CONFIG_FEATURE_GREP_FGREP_ALIAS=y |
@@ -351,6 +359,7 @@ CONFIG_FEATURE_SHADOWPASSWDS=y | |||
351 | CONFIG_USE_BB_SHADOW=y | 359 | CONFIG_USE_BB_SHADOW=y |
352 | CONFIG_USE_BB_PWD_GRP=y | 360 | CONFIG_USE_BB_PWD_GRP=y |
353 | CONFIG_ADDGROUP=y | 361 | CONFIG_ADDGROUP=y |
362 | CONFIG_FEATURE_ADDUSER_TO_GROUP=y | ||
354 | CONFIG_DELGROUP=y | 363 | CONFIG_DELGROUP=y |
355 | CONFIG_ADDUSER=y | 364 | CONFIG_ADDUSER=y |
356 | CONFIG_DELUSER=y | 365 | CONFIG_DELUSER=y |
@@ -657,7 +666,7 @@ CONFIG_MSH=y | |||
657 | # Bourne Shell Options | 666 | # Bourne Shell Options |
658 | # | 667 | # |
659 | CONFIG_FEATURE_SH_EXTRA_QUIET=y | 668 | CONFIG_FEATURE_SH_EXTRA_QUIET=y |
660 | # CONFIG_FEATURE_SH_STANDALONE is not set | 669 | CONFIG_FEATURE_SH_STANDALONE=y |
661 | 670 | ||
662 | # | 671 | # |
663 | # System Logging Utilities | 672 | # System Logging Utilities |
@@ -694,3 +703,9 @@ CONFIG_SOFTLIMIT=y | |||
694 | # CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set | 703 | # CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set |
695 | # CONFIG_SELINUXENABLED is not set | 704 | # CONFIG_SELINUXENABLED is not set |
696 | # CONFIG_SETENFORCE is not set | 705 | # CONFIG_SETENFORCE is not set |
706 | |||
707 | # | ||
708 | # ipsvd utilities | ||
709 | # | ||
710 | # CONFIG_TCPSVD is not set | ||
711 | # CONFIG_UDPSVD is not set | ||
diff --git a/applets/applets.c b/applets/applets.c index 2f677372d..56e0d2ccc 100644 --- a/applets/applets.c +++ b/applets/applets.c | |||
@@ -612,14 +612,14 @@ int main(int argc, char **argv) | |||
612 | { | 612 | { |
613 | const char *s; | 613 | const char *s; |
614 | 614 | ||
615 | applet_name = argv[0]; | ||
616 | #ifdef BB_NOMMU | 615 | #ifdef BB_NOMMU |
617 | /* NOMMU re-exec trick sets high-order bit in first byte of name */ | 616 | /* NOMMU re-exec trick sets high-order bit in first byte of name */ |
618 | if (applet_name[0] & 0x80) { | 617 | if (argv[0][0] & 0x80) { |
619 | re_execed = 1; | 618 | re_execed = 1; |
620 | applet_name[0] &= 0x7f; | 619 | argv[0][0] &= 0x7f; |
621 | } | 620 | } |
622 | #endif | 621 | #endif |
622 | applet_name = argv[0]; | ||
623 | if (applet_name[0] == '-') | 623 | if (applet_name[0] == '-') |
624 | applet_name++; | 624 | applet_name++; |
625 | s = strrchr(applet_name, '/'); | 625 | s = strrchr(applet_name, '/'); |
diff --git a/console-tools/Config.in b/console-tools/Config.in index 4a5710de6..f82d4ce13 100644 --- a/console-tools/Config.in +++ b/console-tools/Config.in | |||
@@ -85,7 +85,7 @@ config SETCONSOLE | |||
85 | config FEATURE_SETCONSOLE_LONG_OPTIONS | 85 | config FEATURE_SETCONSOLE_LONG_OPTIONS |
86 | bool "Enable long options" | 86 | bool "Enable long options" |
87 | default n | 87 | default n |
88 | depends on SET_CONSOLE && GETOPT_LONG | 88 | depends on SETCONSOLE && GETOPT_LONG |
89 | help | 89 | help |
90 | Support long options for the setconsole applet. | 90 | Support long options for the setconsole applet. |
91 | 91 | ||
diff --git a/console-tools/setconsole.c b/console-tools/setconsole.c index 7ddef697c..31ee1fc63 100644 --- a/console-tools/setconsole.c +++ b/console-tools/setconsole.c | |||
@@ -7,6 +7,7 @@ | |||
7 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. | 7 | * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <getopt.h> | ||
10 | #include "busybox.h" | 11 | #include "busybox.h" |
11 | 12 | ||
12 | #if ENABLE_FEATURE_SETCONSOLE_LONG_OPTIONS | 13 | #if ENABLE_FEATURE_SETCONSOLE_LONG_OPTIONS |
diff --git a/libbb/vfork_daemon_rexec.c b/libbb/vfork_daemon_rexec.c index 214b645c5..64952225d 100644 --- a/libbb/vfork_daemon_rexec.c +++ b/libbb/vfork_daemon_rexec.c | |||
@@ -158,12 +158,15 @@ int spawn_and_wait(char **argv) | |||
158 | if (rc) | 158 | if (rc) |
159 | goto w; | 159 | goto w; |
160 | /* child */ | 160 | /* child */ |
161 | xfunc_error_retval = EXIT_FAILURE; | ||
161 | current_applet = a; | 162 | current_applet = a; |
162 | run_current_applet_and_exit(argc, argv); | 163 | run_current_applet_and_exit(argc, argv); |
163 | #endif | 164 | #endif |
164 | } | 165 | } |
165 | rc = spawn(argv); | 166 | rc = spawn(argv); |
167 | #ifndef BB_NOMMU | ||
166 | w: | 168 | w: |
169 | #endif | ||
167 | return wait4pid(rc); | 170 | return wait4pid(rc); |
168 | #else /* !FEATURE_PREFER_APPLETS */ | 171 | #else /* !FEATURE_PREFER_APPLETS */ |
169 | return wait4pid(spawn(argv)); | 172 | return wait4pid(spawn(argv)); |