Rob Landley [Mon, 5 Sep 2005 16:27:19 +0000 (16:27 -0000)]
Regarding 11330: when you fix a bug that the testsuite doesn't catch, add
a test case to the test suite.
"Vladimir N. Oleynik" [Mon, 5 Sep 2005 15:50:56 +0000 (15:50 -0000)]
"Vladimir N. Oleynik" [Mon, 5 Sep 2005 15:46:26 +0000 (15:46 -0000)]
"Vladimir N. Oleynik" [Mon, 5 Sep 2005 15:06:57 +0000 (15:06 -0000)]
- usage fresh bb_getopt_ulflags for ls -- very size reduce.
- small indent corrections
- remove unecessary malloc and free
"Vladimir N. Oleynik" [Mon, 5 Sep 2005 14:46:07 +0000 (14:46 -0000)]
1) bb_opt_complementaly -> bb_opt_complementally
2) better support long options
3) new flag '!' for bb_opt_complementally: produce bb_show_usage() if BB_GETOPT_ERROR internally
"Vladimir N. Oleynik" [Mon, 5 Sep 2005 13:25:11 +0000 (13:25 -0000)]
1) sync with dash_0.5.2-7
2) but expand PS# as config option
3) correct kill error message again
4) remove show "line number" for interactive run (patch pending for dash)
"Vladimir N. Oleynik" [Mon, 5 Sep 2005 11:25:27 +0000 (11:25 -0000)]
remove infinity loop ./busybox --help busybox
Rob Landley [Mon, 5 Sep 2005 11:04:30 +0000 (11:04 -0000)]
The previous commit left confdata writing out:
CONFIG_NUMERIC_CONSTANT=
And on reading it back in, it would complain that '' was an invalid value for
that field. I.E. "make allnoconfig && make" worked fine, but
"make allnoconfig && make menuconfig" barfed reading in the config file.
So now I have it write out "0" as the blank value. (It's initialized to the
default value when the menu becomes visible anyway; I checked.) That seems
to work.
Rob Landley [Mon, 5 Sep 2005 10:25:51 +0000 (10:25 -0000)]
Now that "make sizes" is in, the faq should mention it...
Rob Landley [Mon, 5 Sep 2005 06:16:53 +0000 (06:16 -0000)]
Fix the warnings, and fix the following two obvious segfaults:
./busybox getopt -n one -n two woot
./busybox getopt -o one -o two woot
This entire applet is still an enormous pile of garbage, which I can't clean
up because I really have no idea what it's for. (Both "man getopt" and trying
it out on the command line a bit fail to enlighten me. Reading the code, the
fact half of it seems to be special cases for bash vs tcsh does not fill me
with confidence.)
Rob Landley [Mon, 5 Sep 2005 05:36:15 +0000 (05:36 -0000)]
Actually returning ret might be good.
Rob Landley [Mon, 5 Sep 2005 04:13:33 +0000 (04:13 -0000)]
Fixes so "make allnoconfig" works again.
The configure system's save function edited out sub-menus that wouldn't be
displayed in the current configuration, meaning config.h wouldn't have #udef
entries for those symbols, meaning bb_config.h would have the relevant
ENABLE_ missing instead of defined to 0. This broke the build.
So I fixed it, and then reorganized the applets.c and busybox.c to take
away the warnings this revealed (code that would be optimized out was making
calls to functions that hadn't been prototyped. So I added an #else case
to those #ifdefs to #define the relevant functions to empty macros to
placate the warnings.
I also reorganized the applets.c code to make adding such an #else case less
of a pain (and make the need for prototyping go away by moving the functions
up before they were used, and generally wind up with fewer #ifdefs in
the code by putting all the logic in one place). This resulted in a huge
seeming patch, when most if it just moves code from one place to another
without touching it...
Upside: make allyesconfig and make allnoconfig should both work now.
Rob Landley [Sun, 4 Sep 2005 11:13:10 +0000 (11:13 -0000)]
Remove trailing crud from busybox.tests. (Sleep deprivation strikes again...)
Rob Landley [Sun, 4 Sep 2005 11:10:37 +0000 (11:10 -0000)]
General cleanup of command line parsing to allow "busybox" to work as a prefix.
(I.E. any argv[0] that starts with "busybox" winds up in busybox_main().)
Added testing/busybox.tests which tests the following permutations:
./busybox
./busybox-suffix
./busybox cat
./busybox-suffix cat
./busybox --help
./busybox-suffix --help
./busybox --help cat
./busybox-suffix --help cat
./busybox --help unknown
./busybox-suffix --help unknown
./unknown
Also repair the test suite so ./runtest calls the ".tests" scripts properly.
Note: you can now go "busybox busybox busbox ls -l" and it'll take it. The
new code is pretty generic. I can block that if anybody can come up with a
good reason to...
Mike Frysinger [Fri, 2 Sep 2005 23:06:30 +0000 (23:06 -0000)]
touchup some grammar, formatting, and remove some outdated notes
Eric Andersen [Fri, 2 Sep 2005 14:10:47 +0000 (14:10 -0000)]
update the verbage describing what is needed for developer access
Rob Landley [Fri, 2 Sep 2005 01:55:58 +0000 (01:55 -0000)]
This goes along with the new testsuite code...
Rob Landley [Fri, 2 Sep 2005 00:41:53 +0000 (00:41 -0000)]
Working on a new test harness. Moved the sort tests into it.
Rob Landley [Fri, 2 Sep 2005 00:10:06 +0000 (00:10 -0000)]
Missing break was screwing up 'y//' command. Bug #248.
Rob Landley [Thu, 1 Sep 2005 11:36:21 +0000 (11:36 -0000)]
Fix for bug 383: attempting to "tar c /" would error out because stripping
trailing / turns that into an empty string.
Rob Landley [Thu, 1 Sep 2005 10:23:57 +0000 (10:23 -0000)]
According to bug #63, crond is unhappy with crontab lines that don't end in a
newline, or lines that have trailing spaces.
Rob Landley [Thu, 1 Sep 2005 09:38:32 +0000 (09:38 -0000)]
Tracking system but #4: php needs the environment variable SCRIPT_FILENAME.
Rob Landley [Thu, 1 Sep 2005 03:11:19 +0000 (03:11 -0000)]
Bernhard Fischer trimmed down dos2unix a bit.
Rob Landley [Thu, 1 Sep 2005 03:02:23 +0000 (03:02 -0000)]
Patch -i support from Berhnard Fischer.
Rob Landley [Thu, 1 Sep 2005 02:57:45 +0000 (02:57 -0000)]
Bernhard Fischer suggested that get_terminal_width_height() should return
the result of the ioctl so callers can tell if we have a tty. (0 means
we have a tty, nonzero means the ioctl couldn't find size info and we
fake 80x24. Really we should fake 80x25, but oh well...)
Rob Landley [Thu, 1 Sep 2005 02:43:39 +0000 (02:43 -0000)]
Off by one error in max_leases sanity check. Bug 349, apparently.
Rob Landley [Thu, 1 Sep 2005 02:40:21 +0000 (02:40 -0000)]
Bernhard Fischer sent a patch to make "make sizes" work when building in
another output directory.
Rob Landley [Thu, 1 Sep 2005 00:02:56 +0000 (00:02 -0000)]
Busybox should only multiplex based on argv[1] when it's called as "busybox".
Otherwise if you build busybox without a given applet you get the wrong error
message when you call it via a symlink to that applet.
(You also get the wrong behavior; it tries to use argv[1] as the command
name just like busybox does for _any_ unknown, and although I doubt
"echo rm -rf *" is common usage there's no upside and enough downside to
make me nervous.)
This fixes it.
Rob Landley [Wed, 31 Aug 2005 22:03:15 +0000 (22:03 -0000)]
Anand Avati hit an integer overflow problem in our unzip code.
Rob Landley [Tue, 30 Aug 2005 20:26:17 +0000 (20:26 -0000)]
Don't comment warnings, _FIX_ warnings. (And putting in #warnings about
other warnings is just gross.)
On a side note, while I was there, I made the code slightly smaller.
Rob Landley [Tue, 30 Aug 2005 18:50:37 +0000 (18:50 -0000)]
Why have a separate CONFIG_INIT_SWAPON when we already have CONFIG_SWAPONOFF?
Rob Landley [Tue, 30 Aug 2005 18:17:05 +0000 (18:17 -0000)]
Bug system entry #1 says that when busybox doesn't have swapoff,
init shouldn't call swapoff.
Rob Landley [Tue, 30 Aug 2005 17:07:49 +0000 (17:07 -0000)]
Amir Shalem found some bugs in the new mount code; unknown options didn't get
added to the list, and my assumption that nfsmount() actually called
mount() was incorrect (and I coded it wrong anyway; I hate having to touch
codepaths I can't personally test).
Rob Landley [Tue, 30 Aug 2005 03:40:03 +0000 (03:40 -0000)]
Dirk Clemens pointed out how easy it is to support bzip2 compression, since we
shell out to an external program to handle gzip anyway...
Eric Andersen [Sun, 28 Aug 2005 12:47:39 +0000 (12:47 -0000)]
point to busybox.net
Rob Landley [Sun, 28 Aug 2005 08:24:21 +0000 (08:24 -0000)]
Dumb little hack, "make sizes". Try it.
Mike Frysinger [Sat, 27 Aug 2005 18:19:01 +0000 (18:19 -0000)]
make sure __NF_sysfs exists before trying to use it
Mike Frysinger [Sat, 27 Aug 2005 18:18:06 +0000 (18:18 -0000)]
some portability fixes by rmh in Bug 395
Rob Landley [Wed, 24 Aug 2005 00:41:52 +0000 (00:41 -0000)]
Bernhard Fischer submitted a couple of Makefile patches:
- Fix building out-of-tree
- remove duplicate rule in toplevel Makefile
- peruse make's builtin notion of `dirname $@'
Rob Landley [Tue, 23 Aug 2005 23:08:17 +0000 (23:08 -0000)]
Remove something we did, not that I'm doing something, and add something we
haven't done. Woo.
Rob Landley [Tue, 23 Aug 2005 20:03:17 +0000 (20:03 -0000)]
When compiling with FEATURE_MTAB_SUPPORT disabled, the call to erase_mtab()
can never be made because useMtab is initialized to 0, and all the other
assignments of that variable assign 0 to it. Any compiler that can perform
simple constant propogation on local variables will optimize away if statements
testing against that variable, thus the call to erase_mtab() will never be
made.
When compiling for arm using gcc 3.3.3 with FEATURE_MTAB_SUPPORT disabled,
the linker complains that it can't find erase_mtab(). The arm optimizer isn't
exactly the brightest member of the family, and apparently needs to be hit over
the head with a hammer to get its' attention...
Rob Landley [Mon, 22 Aug 2005 15:57:50 +0000 (15:57 -0000)]
Two FEATURE_CLEAN_UP patches from Shaun Jackman, closing filehandles.
Rob Landley [Sat, 20 Aug 2005 05:07:08 +0000 (05:07 -0000)]
Bernhard Fischer provided a mountpoint(1) applet. This is apparently something
sysvinit provides, and which is used by the debian init scripts.
Rob Landley [Wed, 17 Aug 2005 01:55:58 +0000 (01:55 -0000)]
Announce busybox 1.01.
Mike Frysinger [Wed, 17 Aug 2005 01:20:10 +0000 (01:20 -0000)]
Tito (among others) writes: previous patch was wrong, please stop screwing things up
Eric Andersen [Wed, 17 Aug 2005 00:03:23 +0000 (00:03 -0000)]
When doing 'make release' nuke the .svn directories, not the
CVS dirs (since they are no longer present)
Mike Frysinger [Tue, 16 Aug 2005 05:39:07 +0000 (05:39 -0000)]
the () around isspace actually matters
Mike Frysinger [Tue, 16 Aug 2005 05:32:42 +0000 (05:32 -0000)]
Bernhard Fischer says: use xmalloc() instead of malloc()
Mike Frysinger [Tue, 16 Aug 2005 05:27:51 +0000 (05:27 -0000)]
Bernhard Fischer says: fix comment typo
Mike Frysinger [Mon, 15 Aug 2005 22:13:21 +0000 (22:13 -0000)]
Bernhard Fischer writes: fix devfsd usage
Rob Landley [Sun, 14 Aug 2005 19:26:14 +0000 (19:26 -0000)]
If we goto singlemount, do _not_ try to continue through the loop we jumped
into. (That means "mount -t ext2 /dev/thingy thingy" would segfault if
it failed instead of giving us an error message.)
Rob Landley [Sun, 14 Aug 2005 19:16:51 +0000 (19:16 -0000)]
Patch from Stephane Billiart to improve ash error message.
Rob Landley [Sun, 14 Aug 2005 18:46:34 +0000 (18:46 -0000)]
Stephane Billiart noticed that the return code of the new mount was horked.
(Cleaned up the return code path to consistently use numbers so I don't keep
confusing EXIT_SUCCESS with TRUE and EXIT_FAILURE with FALSE...)
Rob Landley [Sat, 13 Aug 2005 00:35:00 +0000 (00:35 -0000)]
Very minor tweak to tail.
Mike Frysinger [Thu, 11 Aug 2005 21:59:52 +0000 (21:59 -0000)]
make sure distclean punts include/bbconfigopts.h
Rob Landley [Wed, 10 Aug 2005 20:35:54 +0000 (20:35 -0000)]
Major rewrite of mount, umount, losetup. Untangled lots of code, shrunk
things down a bit, fixed a number of funky corner cases, added support for
several new features (things like mount --move, mount --bind, lazy unounts,
automatic detection of loop mounts, and so on). Probably broke several
other things, but it's fixable. (Bang on it, tell me what doesn't work for
you...)
Note: you no longer need to say "-o loop". It does that for you when
necessary.
Still need to add "user mount" support, which involves making mount suid. Not
too hard to do under the new infrastructure, just haven't done it yet...
The previous code had the following notes, that belong in the version
control comments:
- * 3/21/1999 Charles P. Wright <cpwright@cpwright.com>
- * searches through fstab when -a is passed
- * will try mounting stuff with all fses when passed -t auto
- *
- * 1999-04-17 Dave Cinege...Rewrote -t auto. Fixed ro mtab.
- *
- * 1999-10-07 Erik Andersen <andersen@codepoet.org>.
- * Rewrite of a lot of code. Removed mtab usage (I plan on
- * putting it back as a compile-time option some time),
- * major adjustments to option parsing, and some serious
- * dieting all around.
- *
- * 1999-11-06 mtab support is back - andersee
- *
- * 2000-01-12 Ben Collins <bcollins@debian.org>, Borrowed utils-linux's
- * mount to add loop support.
- *
- * 2000-04-30 Dave Cinege <dcinege@psychosis.com>
- * Rewrote fstab while loop and lower mount section. Can now do
- * single mounts from fstab. Can override fstab options for single
- * mount. Common mount_one call for single mounts and 'all'. Fixed
- * mtab updating and stale entries. Removed 'remount' default.
- *
Paul Fox [Tue, 9 Aug 2005 19:38:05 +0000 (19:38 -0000)]
implemented a builtin echo command in ash. moved the guts of the
echo applet into libbb, and now call bb_echo() from both echo.c
and ash.c
Paul Fox [Thu, 4 Aug 2005 19:04:46 +0000 (19:04 -0000)]
commiting:
0000025: vi-editing mode for ash
Paul Fox [Thu, 4 Aug 2005 18:33:36 +0000 (18:33 -0000)]
applying jim bauer's patch to eliminate modprobe's dependency
on /bin/sh. bug #8.
0000008: modprobe applet is dependent on having a shell
Rob Landley [Tue, 2 Aug 2005 10:02:23 +0000 (10:02 -0000)]
In bb_config.h, replace AUTOCONF_INCLUDED guard with the more reasonable and
obvious (and less side-effect prone in strange build environments) BB_CONFIG_H.
Yeah, I know Erik ripped it out of our copy of menuconfig (which is a good
thing), but that doesn't fix people whose headers have it inherited from
linux-kernel headers or old versions of uclibc, and Erik's fix could easily
get forgotten and reverted the next time we update menuconfig anyway...
Eric Andersen [Tue, 2 Aug 2005 00:59:44 +0000 (00:59 -0000)]
Do not define 'AUTOCONF_INCLUDED'
Paul Fox [Mon, 1 Aug 2005 22:52:09 +0000 (22:52 -0000)]
commiting:
0000028 03-16-05 patch: new setsid applet
Mike Frysinger [Mon, 1 Aug 2005 20:49:32 +0000 (20:49 -0000)]
fix bbconfigopts.h depend
Mike Frysinger [Mon, 1 Aug 2005 20:48:00 +0000 (20:48 -0000)]
screw around with whitespace
Paul Fox [Mon, 1 Aug 2005 19:39:47 +0000 (19:39 -0000)]
commiting:
0000073: Add option to inetd applet to run in foreground
this option was already there for uclinux -- this just exposes
it in the normal case as well.
Paul Fox [Mon, 1 Aug 2005 19:33:30 +0000 (19:33 -0000)]
commiting patch from bug 71:
0000071: patch: implement "--color" option for ls coloring control
Paul Fox [Mon, 1 Aug 2005 18:12:30 +0000 (18:12 -0000)]
applying patch for bug 72:
0000072: Add applet to redirect console output via ioctl(..., TIOCCONS)
applet name changed to setconsole, since suse has a very similar
utility. better to treat differences as bugs than invent a new command.
Paul Fox [Mon, 1 Aug 2005 16:43:13 +0000 (16:43 -0000)]
applying patch from bug 24:
0000024 03-16-05 patch: allow init to set controlling tty
Paul Fox [Mon, 1 Aug 2005 16:04:40 +0000 (16:04 -0000)]
new config display applet, from bug 46. i've changed the name
of the applet from "config" to "bbconfig", and renamed the
source filenames and symbols to match appropriately.
Paul Fox [Mon, 1 Aug 2005 14:31:13 +0000 (14:31 -0000)]
allow suppression of default client-id. fixes bug 000037. allows
busybox to match kernel and u-boot behavior with respect to client-id.
Mike Frysinger [Sun, 31 Jul 2005 22:50:17 +0000 (22:50 -0000)]
patch by pkj in Bug 3 to not export all make variables
Mike Frysinger [Sun, 31 Jul 2005 22:49:12 +0000 (22:49 -0000)]
patch by apgo in Bug 345 to not use ether_hostton() with uClibc
Mike Frysinger [Sun, 31 Jul 2005 22:41:05 +0000 (22:41 -0000)]
patch by srowe in Bug 359 to fix fgrep aliasing
Mike Frysinger [Sun, 31 Jul 2005 22:22:20 +0000 (22:22 -0000)]
typecast to int
Mike Frysinger [Sun, 31 Jul 2005 22:20:02 +0000 (22:20 -0000)]
use socklen_t instead of size_t with socket related functions
Mike Frysinger [Sun, 31 Jul 2005 22:11:33 +0000 (22:11 -0000)]
move -s from LDFLAGS to STRIPCMD
Mike Frysinger [Sun, 31 Jul 2005 22:09:33 +0000 (22:09 -0000)]
use defines instead of const integers
Mike Frysinger [Sun, 31 Jul 2005 22:06:38 +0000 (22:06 -0000)]
shrink the flag setting by reversing the operation
Mike Frysinger [Sun, 31 Jul 2005 21:05:19 +0000 (21:05 -0000)]
eat leading whitespace with preprocessor
Mike Frysinger [Sun, 31 Jul 2005 20:51:58 +0000 (20:51 -0000)]
replace for loops with one function call
Rob Landley [Sun, 31 Jul 2005 04:27:19 +0000 (04:27 -0000)]
Ahem: add new faq entry to list at top of FAQ.html
Rob Landley [Sun, 31 Jul 2005 04:25:00 +0000 (04:25 -0000)]
Fix "nm --size-sort" on the busybox binary and document how to make it work.
Mike Frysinger [Sat, 30 Jul 2005 09:43:58 +0000 (09:43 -0000)]
only declare do_swap if we need it
Mike Frysinger [Sat, 30 Jul 2005 09:42:05 +0000 (09:42 -0000)]
touchup syntax
Mike Frysinger [Sat, 30 Jul 2005 09:29:10 +0000 (09:29 -0000)]
cleanup the error message so we dont use glibcism of %m and cast a pointer to an int (bad on 64bit arches)
Mike Frysinger [Sat, 30 Jul 2005 09:24:49 +0000 (09:24 -0000)]
cleanup syntax
Mike Frysinger [Sat, 30 Jul 2005 08:59:38 +0000 (08:59 -0000)]
tell people to ignore the dups/e0 warnings
Mike Frysinger [Sat, 30 Jul 2005 08:58:19 +0000 (08:58 -0000)]
punt unused variable
Mike Frysinger [Sat, 30 Jul 2005 08:57:35 +0000 (08:57 -0000)]
tell people to ignore the save_name warning
Mike Frysinger [Sat, 30 Jul 2005 08:54:43 +0000 (08:54 -0000)]
in order to make sure the INET6 prototypes are exported, we would have to include the libbb.h header file ... but then we have to worry about including too early/etc...
since simply defining the prototype in an internal header file doesnt hurt anyone, lets not worry about the header file crap and just always prototype the inet6 functions
Mike Frysinger [Sat, 30 Jul 2005 08:48:10 +0000 (08:48 -0000)]
apgo in Bug 322 writes: kill off CONFIG_FEATURE_MTAB_FILENAME
Mike Frysinger [Sat, 30 Jul 2005 07:30:26 +0000 (07:30 -0000)]
rename the accept/reject names since accept overrides the accept() socket function
Mike Frysinger [Sat, 30 Jul 2005 07:29:22 +0000 (07:29 -0000)]
apgo in Bug 351 says: punt parse_version_number since it is no longer used
Paul Fox [Fri, 29 Jul 2005 14:58:09 +0000 (14:58 -0000)]
commiting fix from:
0000353: [PATCH] start-stop-daemon -q is not quiet
Mike Frysinger [Thu, 28 Jul 2005 22:26:25 +0000 (22:26 -0000)]
further refine check_gcc usage so it is only called the bare min number of times
Mike Frysinger [Thu, 28 Jul 2005 22:14:35 +0000 (22:14 -0000)]
dont output anything when running in silent mode
Rob Landley [Thu, 28 Jul 2005 19:38:52 +0000 (19:38 -0000)]
From Rich Paul:
I've noticed that when I compile busybox on my laptop, it compiles more
slowly than one would expect, and although it's a (more-or-less)
multiprocessor system and I use -j5, make never seems to run more than
one job at a time.
I believe I have found the culprit: each time a file is compiled, gcc
runs about 5 times. This is because the $(check_gcc) macros and the
TARGET_ARCH macros are late binding.
The attached patch cuts the compilation time by 66%, from 1.5 minutes to
30 seconds. Your mileage may very. These statements have not been
evaluated by the FDA.
Rob Landley [Thu, 28 Jul 2005 19:36:33 +0000 (19:36 -0000)]
Erik pointed out that in the last try at the #ifdef cleanup
infrastructure, the compiler isn't smart enough to replace const static
int with the constant, and allocates space for each set of them,
bloating the executable something fierce. Oops.
So now, we #define ENABLE_XXX to 0 or 1 for each CONFIG_XXX (which
is still there so the 1000+ #ifdef/#ifndef tests don't have to be
replaced wholesale). Changed the test instance in networking/ifconfig.c
to use this.
Paul Fox [Wed, 27 Jul 2005 14:20:52 +0000 (14:20 -0000)]
move the ifdef to after libbb.h include, so it can do some good.
Rob Landley [Wed, 27 Jul 2005 06:55:36 +0000 (06:55 -0000)]
#ifdef reduction infrastructure, based on an argument between Shaun Jackman,
Rob Landley, and others.
Currently CONFIG options are defined or undefined, so we chop out code with
#ifdefs, ala:
#ifdef CONFIG_THING
stuff();
#endif
This creates a new header file, bb_config.h, which sets the CONFIG entry to 1
or 0, and lets us do:
if(CONFIG_THING) stuff();
And let the compiler do dead code elimination to get rid of it. (Note: #ifdef
will still work because for the 1 case it's a static const int, not a #define.)