Commit Graph

6361 Commits

Author SHA1 Message Date
Rob Landley
4470b74e29 The kernel can't handle umount /dev/hdc, we have to do it through mtab,
except that we still have to work when there is no mtab.

Oh, and while we're at it, take advantage of the fact that modern processors
avoid branches via conditional assignment where possible.  ("x = a ? b : c;"
turns into "x = c; if (a) x = b;" because that way there's no branch to
potentially mispredict and thus never a bubble in the pipeline.  The if(a)
turns into an assembly test followed by a conditional assignment (rather
than a conditional jump).)  So since the compiler is going to do that _anyway_,
we might as well take advantage of it to produce a slightly smaller binary.

So there.
2006-08-17 19:07:20 +00:00
Rob Landley
eb28ce4644 Timo Scheffler pointed out that OpenWRT isn't listed. 2006-08-17 04:45:24 +00:00
Rob Landley
fac4ebea3d Add link to BusyBox Weekly News. (Yeah, another timesink.) 2006-08-16 22:25:43 +00:00
Rob Landley
95718b3091 New entry about backporting fixes. 2006-08-16 22:13:56 +00:00
Rob Landley
b90a371a4c Update the tinyutils page to mention microperl, LUA, buildroot,
gentoo embedded...
2006-08-16 21:10:27 +00:00
Rob Landley
4640b05afd Bernhard Fischer pointed out some leftover debris needing cleanup. 2006-08-15 21:37:55 +00:00
Rob Landley
a299efb7b0 Make a warning go away when standalone shell is disabled. 2006-08-10 21:46:43 +00:00
Rob Landley
10b36f94bb Patch from Chris Steel to fix mdev deleting device nodes. 2006-08-10 01:09:37 +00:00
Rob Landley
b988462d3e Ok, features.h already defines _OPEN_SOURCE (and complains if it's already
defined), yet it's not doing it for scripts/individual for some reason.
(I hate fighting with header files.)
2006-08-10 01:08:41 +00:00
Rob Landley
519d7df930 Another whack at scripts/individual. Now builds 212 applets. 2006-08-09 20:56:23 +00:00
Rob Landley
e55a73c7a8 Update usage to talk about the new shared subtree stuff in mount. 2006-08-09 20:55:35 +00:00
Rob Landley
3ba7bd143e Vladimir Dronnikov convinced me to twiddle the semantics of the new shared
subtree stuff to look more like http://lwn.net/Articles/159077/ thinks
they should.
2006-08-09 19:51:13 +00:00
Rob Landley
721b46e0e6 Fix a typo (|| instead of |) and remove two comments about a problem fixed
in the previous patch.
2006-08-08 12:54:02 +00:00
Rob Landley
e3781b7312 Add shared subtree support, suggested by Vladimir Dronnikov. Also break out a
few new (unfinished) config options, which I intend to make hidden (but
enabled) when CONFIG_NITPICK is disabled.  Getting the .config infrastructure
to do that is non-obvious, it seems...
2006-08-08 01:39:49 +00:00
Rob Landley
47b16a6fe9 Using lstat() instead of stat() means that attempting to loopback mount
a symlink doesn't work.
2006-08-08 00:47:17 +00:00
Rob Landley
7250915d78 Make a warning go away on 64-bit systems. 2006-08-06 20:41:11 +00:00
Rob Landley
236c6755d2 Teach md5sum and sha1sum to work the way other applets do so I don't have to
teach scripts/individual new tricks.  And while I'm at it, teach
scripts/individual other new tricks.  Now builds 198 applets, some of which
I should teach it to hardlink together because they're really the same app...
2006-08-06 02:13:36 +00:00
Rob Landley
affb7a61a6 scripts/individual now builds 171 applets. Some of them may even work. :) 2006-08-05 00:41:39 +00:00
Rob Landley
59fe8b9089 There are a number of reasons for reinventing printf(). Writing status to
stdout is not one of them.
2006-08-04 22:02:55 +00:00
Rob Landley
f4e50b0bcd We haven't got a CONFIG_APT_GET. 2006-08-04 21:12:14 +00:00
Rob Landley
cb376eebf0 Digging up my old "make standalone" stuff from a year ago:
http://busybox.net/lists/busybox/2005-September/015766.html

I renamed it "individual" to not confuse it with the standalone shell.  (Which
it isn't compatible with for obvious reasons.)  Configure busybox (I did
make defconfig), then run scripts/individual and it'll build an individual
version of each applet in the "build" subdirectory.

Currently it builds 146 and fails to build 104 applets out of "make defconfig".
I haven't taught it about multi-file applets yet (like tar), or the ones where
two applets get built from the same source (for example, zcat is a trivial
variant of gunzip so there is no zcat.c).  But here's a start.
2006-08-04 21:05:33 +00:00
Rob Landley
e6a3fef08c Add busybox_old to distclean. 2006-08-04 20:39:56 +00:00
Rob Landley
23b61be0df Add comments to all the functions in this file documenting what they're for. 2006-08-04 20:20:03 +00:00
Rob Landley
74bb70cf54 Ok, that's not a typo, that's just me not thinking. 2006-08-04 20:19:01 +00:00
Rob Landley
3629d95a24 Typo. 2006-08-04 20:15:18 +00:00
Rob Landley
27d07c9ce2 Now that we have xopen3(), it's just plain unclean to have xopen() with
O_CREAT.  Two users are still doing it (and thus getting permissions 777),
I'm not sure what permissions they should be using but here they are
changed to xopen3().  This costs us a dozen or so bytes, but removing the
777 from xopen() should get some of that back.
2006-08-04 19:16:31 +00:00
Rob Landley
daf58ef61a Use xopen3() instead of an after-the-fact chown. 2006-08-04 17:26:58 +00:00
Rob Landley
2c55fcac08 Thinko spotted by Vladimir Dronnikov. 2006-08-04 05:24:58 +00:00
Rob Landley
6ced427a6d Try to make a "type-punned pointer" warning go away for somebody on the
buildroot list.
2006-08-03 20:39:59 +00:00
Rob Landley
403777ffae Patch from tito to improve options parsing. 2006-08-03 20:22:37 +00:00
Rob Landley
081e38483e Remove xcalloc() and convert its callers to xzalloc(). About half of them
were using "1" as one of the arguments anyway, and as for the rest a multiply
and a push isn't noticeably bigger than pushing two arguments on the stack.
2006-08-03 20:07:35 +00:00
Rob Landley
86b4d64aa3 These should have been part of 15767 too. 2006-08-03 17:58:17 +00:00
Rob Landley
7478804b78 Fix umount so loop device disassociation hopefully doesn't screw up errno on
a failed mount.  And while I'm at it, legacy mdev removal was only being done
in the _failure_ case?  That can't be right.  Plus minor header cleanups
and an option parsing tweak.
2006-08-03 17:54:45 +00:00
Rob Landley
280a264fb8 Attempt to fixup httpd.c to match svn 15767. 2006-08-03 17:49:15 +00:00
Rob Landley
d921b2ecc0 Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only
had one user), clean up lots of #includes...  General cleanup pass.  What I've
been doing for the last couple days.

And it conflicts!  I've removed httpd.c from this checkin due to somebody else
touching that file.  It builds for me.  I have to catch a bus.  (Now you know
why I'm looking forward to Mercurial.)
2006-08-03 15:41:12 +00:00
"Robert P. J. Day"
6dce0b6fa7 Remove apparent typo in "bool" line. 2006-08-03 11:28:36 +00:00
"Robert P. J. Day"
581d4f36b3 Move declaration to be compatible with older gcc's. 2006-08-03 10:50:39 +00:00
Rob Landley
cae61e7ca4 Make a gcc 4.1 warning go away. 2006-08-01 00:30:26 +00:00
Rob Landley
2aced7ea04 Announce 1.2.1 2006-07-31 23:56:26 +00:00
Rob Landley
533320c659 1) ifeq is make syntax, #ifeq is a make comment.
2) The check_cc macros should probably all have the same number of arguments.
3) Move the -Werror into the gcc 4.0 on i386 test, because gcc 4.1 is broken
and produces warnings for things that provably aren't incorrect.

In other news it would be nice if our check_ld macro actually did something,
and why does or makefile do all the check_cc calls, then call itself as if
it's building out of tree, then do all the check_cc calls again?
2006-07-31 22:56:17 +00:00
Rob Landley
565bc33332 Remove code that can't be reached. 2006-07-31 22:50:12 +00:00
Rob Landley
c052576821 Tito said that strings is a complete rewrite. 2006-07-31 16:37:57 +00:00
Rob Landley
91dc086d63 Switch off CONFIG_NITPICK in defconfig. (Kind of the point of CONFIG_NITPICK.) 2006-07-30 18:56:29 +00:00
Rob Landley
446129adae Add back in non-ifdef version of FEATURE_PRETTY_PRINT, and get the attribution
right this time.
2006-07-27 16:40:55 +00:00
Rob Landley
52c7d7ebf3 And now, with a for loop, so it can handle the nested USE() case. 2006-07-27 15:12:21 +00:00
Rob Landley
fc367f9824 There's no excuse for adding new #ifdefs to the code like that. None at all. 2006-07-27 15:02:58 +00:00
Rob Landley
277eb6bb44 I touched perl. I feel dirty.
Make autodocifier suck less.  It still doesn't handle nested USE( USE() ) case
(the inner USE() winds up in the output), but making it recursive involves
getting perl to accept a "for" loop and it's telling me that "break" is an
unrecognized bareword and I hate perl.  This is at least an improvement.
2006-07-27 14:59:36 +00:00
Mike Frysinger
eac0c06938 allow people to display dmesg output without syslog levels 2006-07-27 11:18:36 +00:00
Mike Frysinger
0b7dfb5ae7 eat gremlins 2006-07-27 03:42:30 +00:00
Mike Frysinger
a7881119cc de-cuddle if( to if ( 2006-07-27 03:00:49 +00:00