From Wed, 21 Jun 2000 19:31:13 -0600
Date: Wed, 21 Jun 2000 19:31:13 -0600
From: Erik Andersen
Subject: [BusyBox] BusyBox 0.45 released!

Just a quick note that I have officially released BusyBox 0.45.  There is no
0.44 release. Somehow 0.44 got announced a few weeks ago -- prior to its
actually being released. To avoid any confusion I've just skipped over 0.44. 

The source is tagged in CVS, a nice new tarball is sitting on the ftp site, and
I will be making an announcement to freshmeat in a few minutes.

Many thanks to everyone for all your work.  Tomorrow we can start worrying
about what to do for the next release. :)


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Tue, 11 Jul 2000 13:15:29 -0600
Date: Tue, 11 Jul 2000 13:15:29 -0600
From: Erik Andersen
Subject: [BusyBox] 0.46 released

The release was cut nearly an hour ago and the mirror just got updated.  
Here is the announcement from the web page:

    11 July 2000 -- BusyBox 0.46 released 

    This release fixes several bugs (including a ugly bug in tar, and fixes for
    NFSv3 mount support). Added a dumpkmap to allow people to dump a binary keymaps
    for use with 'loadkmap', and a completely reworked 'grep' and 'sed' with should
    behave better. BusyBox shell can now also be used as a login shell. See the
    changelog for complete details. 

I decided to make this a full release, rather then a pre-release since it seems
pretty solid with the tests I've been running and if bugs show up, well,
"release early, release often"...

For this next release, the following items are tenatively on the agenda:

*) bug fixes as needed

*) Make lash (optionally) do some basic Bourne shell syntax (if-the-else-fi,
    do-while-done, case-esac, etc -- possibly swiped from the very small but 
    twisty minix shell).

*) split off the networking and such into a netkit-tiny

*) convert all apps to getopt based parsing

*) Create a libbusybox for common stuff.

*) busybox_main() will be adjusted to handle "--help" and "--version".

*) busybox_main() will now define a global variable that will define
    the name of the app that was called.  Apps that use their name 
    will be adapted to use that.

*) All usage/help strings will be moved to a common file (perhaps 
    helpstrings.c).  This will have the side effect of helping out 
    any future attempts at i18n.

I have been debating the merits of stand alone binaries for each app,
so perhaps this may be added in...

Share and enjoy,


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Wed, 13 Sep 2000 13:10:31 -0600
Date: Wed, 13 Sep 2000 13:10:31 -0600
From: Erik Andersen
Subject: [BusyBox] Getting BusyBox 0.47 out the door

First of all I need to do a bit of appologizing...  I had noble intentions of
getting 0.47 out the door several weeks ago.  Unfortunately, Real Work(tm) came
up.  I suppose that happens to most everyone on occasion.  I'm in Lineo's
Professional Services group, so when a contract gets signed where I am the one
that is supposed to do all the work (which is what happened), I may be a little
less helpful then usual for a couple of weeks.  Fortunately, open source is
working as it is supposed to and lots of folks from the busybox list have been
filling in when I get silent.  Thanks everyone for all of your help at
answering questions on the mailing list!  There was just no way I could have
kept up, so I'm really grateful for the assistance.  So anyway, I have been
scrambling for the last several weeks, and doing my best to keep up with the
emails and patches -- occasionally getting a free moment to fix something up

I'm surfacing from my Real Work for a bit and I think that getting 0.47 out the
door ASAP would be a really good thing.  It looks like Glenn has fixed dd and
ar (thanks Glenn!), which were the last real bugs holding up the release (as
far as I am concerned anyways).  Matt Kraai asked for a TODO list for the
release almost 2 weeks ago (sigh -- sorry about not responding sooner Matt, I
intended to get back to you, I really did.  But then I didn't...), so here is
what I think is still remaining:

    1) Get the Changelog into shape (I've done a lousy job this release at
	keeping it up to date with what we have done).
    2) Apply any safe and sane looking patches still in my inbox
    3) Wait a few hours for any last minute changes/problem reports.
    4) Cut the release.

Anyone have any last minute additions?  Anyone that has submitted patches
or changed something user noticable, please check the changelog and add
a comment if it isn't in there.

All in all, I think BusyBox is in fine shape these days.  I intend to go back
to work on lash soon, and I have a tiny 'ifconfig' and 'route' that with a
little bit of work could easily make it into the next release.


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Tue, 26 Sep 2000 01:05:20 -0600
Date: Tue, 26 Sep 2000 01:05:20 -0600
From: Erik Andersen
Subject: [BusyBox] Announcing BusyBox 0.47

I am very happy to announce the release of BusyBox 0.47.  The changelog is not
as complete as I would like it to be, but I am very, very happy with this
release.  I have used it with very good results on several systems so far.  My
only regret is that I wish I would have had the time to get this out the door a
month ago...

From the web page at 
    This release fixes lots of bugs (including an ugly bug in 0.46 syslogd that
    could fork-bomb your system).  Added several new apps: rdate, wget, getopt,
    dos2unix, unix2dos, reset, unrpm, renice, xargs, and expr.  syslogd now
    supports network logging.  There are the usual tar updates.  Most apps now
    use getopt for more correct option parsing.

Many thanks to those who have contributed to this release, in particular Matt
Kraai, Kent Robotti, Glenn McGrath, Dave Cinege, Chip Rosenthal, Gyepi Sam,
Pavel Roskin, Allen Soard, Sterling Huxley, and Mark Whitley, who have all done
some some fine work helping to get this out the door (no offense intended if I
somehow managed to forget someone!).  Many others have contributed patches, bug
reports, and suggestions that have all helped to make this the best BusyBox
release ever.  Thanks!

Share and enjoy,


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Wed, 13 Dec 2000 12:16:45 -0700
Date: Wed, 13 Dec 2000 12:16:45 -0700
From: Erik Andersen
Subject: [BusyBox] Announcing BusyBox 0.48

I am pleased to announce that BusyBox 0.48 has now been released and a tarball
is waiting for you on the ftp site.  This was primarily a bug squashing
release.  It had had quite a bit of testing and is looking very solid so far.
Many, many thanks to all of you that have reported bugs, submitted patches -- I
couldn't have done it without you...

See the announcement on the web site at for more
details.  Share and enjoy,

p.s. Wohoo!!!

Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Mon, 22 Jan 2001 14:40:39 -0700
Date: Mon, 22 Jan 2001 14:40:39 -0700
From: Erik Andersen
Subject: [BusyBox] Last call for patches

We are currently in the last hours before 0.49 is released.  No, it is not
going to have the promised upgrade to a full Bourne shell compatible shell --
it still just has lash.  But it does have a bunch of bugfixes and improvents.
A group of us (but mostly Larry Doolittle) have been working on a new shell,
but it isn't ready for prime time yet.

Anyways, if you have submitted patches for busybox, please make sure they are
included, or resubmit them now.  With or without your changes, 0.49 will be
released late tonight or early tomorrow.


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Sat, 27 Jan 2001 03:05:09 -0700
Date: Sat, 27 Jan 2001 03:05:09 -0700
From: Erik Andersen
Subject: [BusyBox] Busybox 0.49 released

Ok, enough procrastination -- Busybox 0.49 is now released.


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Thu, 1 Feb 2001 17:57:16 -0700
Date: Thu, 1 Feb 2001 17:57:16 -0700
From: Mark Whitley
Subject: [BusyBox] Synopsis / Consensus of recent threads

Fellow Busyboxers,

Last week I sent out a message with the subject 'Improving our Development
Process' wherein I offered some explanations and proposals regarding the
current and future state of busybox, tinylogin, etc. Coincidentally (or maybe
not-so), within the last week we also had the 0.49 release of busybox, which
was released after a flurry of last minute patches and well, it got out the
door with a few bugs. Many folks on this list jumped in to help make the
release happen, and offered suggestions on what we can do now and in the
future to improve busybox development.

Having had some time to digest everything that was said, here's a summary of
some of the high points discussed, along with some additional comments /
questions from me:

 - 0.50 Release - We will do a 0.50 release before we make any drastic
   reorganization changes to the code. This will essentially be a 0.49-bugfix
   release or "what 0.49 should have been". We haven't got a target date for
   the 0.50 release, but there are a couple of issues that probably should be
   dealt with before we consider dates, namely:

	- ls AUTOWIDTH issues, esp. problems reported by Larry when using ls over
	  a serial line.
	- Getting cmdedit.c whipped into shape, making sure we have Vladamir's
	  latest patches, et all.
	- Make sure nfsmount is working for everyone
	- Iron out any pwd_grp issues

	[Add more outstanding items here...]

 - To Split Or Not To Split - We will not be splitting up busybox into a
   netkit-tiny as was previously planned. After some discussion, most everyone
   agrees that making a whole new project would dilute efforts, duplicate
   code, and offer few advantages. The impetus to split up busybox was born
   from Erik's desire to lighten his load a little. Everyone has pitched in
   and helped in the form of patch submissions, patch reviews, and committers
   checking in changes to CVS. Thanks a lot, guys.

 - Source Tree Changes - Not only did people dislike the split-up idea, there
   was actually some pretty strong consensus in favor of merging tinylogin
   into busybox. Furthermore, a number of folks seemed to favor the idea of
   moving away from the "one big honkin' source directory" approach and
   partitioning up the applets into subdirectories based on catagory: i.e.
   shellutils, netutils, loginutils, etc. No hard-and-fast decisions have yet
   been made as to exactly how we will group the applets, what directory names
   will be, etc. (Further discussion required.)

   Please speak up for / against the idea of merging tinylogin into busybox.

   Another thing we could do to keep the source uncluttered is have an objs/
   directory where all the .o files get stored, so as to not clutter up the
   source dirs.

 - Configuration - If we're going to be changing the source tree, that
   necessitates some changes in the way we do configuration. These changes
   could be big or small, it all depends. Several people expressed a desire to
   still be able to compile everything into a single binary. Some others
   expressed an interest in providing some shortcuts for making domain
   specific binaries (i.e. one with all the networking apps). This topic was
   not discussed very heavily, and further discussion would probably be a good
   idea. Here's some ideas for possible configuration schemes that busybox
   could use:

	 - Keep using the existing preprocessor-based config system, it works just

	 - Keep using the existing preprocessor-based config system, but split up
	   the "Mere mortals should not touch" section into it's own file so that
	   Config.h is responsible solely for option setting, not for dependency
	   resolution. This would have the benefit of making it easier to write
	   helper scripts that can generate config files. (Larry's
	   script seems to do fine with the existing file, but I want to know if
	   anyone has any comments on this.)

	 - Switch to autoconf and use the './configure --enable-feature' approach
	   to turning on/off applets/features.

	 - Something akin to the linux kernel configurator ('make menuconfig' and

	 - Switch to something huge like CML2.

	 [Add more configuration ideas here...]

	 One other thing I want to put on the table (hinted at in the list above),
	 what do you folks think of configuration front-ends for busybox? By
	 front-ends I mean an ncurses-based front-end, a gtk front-end, etc. Like
	 the idea? Dislike the idea? Discuss. These kind of things could go into
	 the scripts/ directory (or a utils/ directory) so they would be
	 conveniently out of the way of anyone who doesn't want to use them.

 - libbusybox - Numerous people on the mailing list voiced support for turning
   utility.c into its own library. One of the more salient reason cited were
   easy re-use without the spiderweb of ifdefs that currently surround every
   function. The option to statically link should be preserved so as to avoid
   the need for a dynamic linker when required. A lib/ directory would be
   created that would hold the source file(s) and makefile for the library.

 - Documentation - Everyone agrees that we need to pick a "core" documentation
   format, have it be the one, single place where we make changes, and
   generate other documentation from it. Opinion is divided on what the "core"
   format should be. Here are some of the main contenders:

	- Pod - What we're currently using. Only real problem with this one is
	  that its doesn't offer a real rich array of markup features.

	- SGML/DocBook - Widely used, fairly well-known & standard, but some think
	  it might be a bit too heavy for our needs, and some folks have expressed
	  reservations about the (awkward) differences between sgmltools and
	  sgmltools-2.  A big pro going for this one is that you can generate
	  pretty much any other doc format from SGML (postscript, pdf, html, man
	  pages, etc.).  The current sgml docs are written for sgmltools-2, which
	  may be a mistake.

	- HTML/XML - Standard, well-known, and no conversion necessary to view it
	  in a browser. Generating other doc formats from [HT|X]ML sources is a
	  bit iffy though.

	- Doxygen - ( A tool that generates HTML/LaTeX docs
	  from *.c source files.  Still an unknown quantity; doesn't appear to
	  generate man pages.

	[Add more formats w pro/con lists here...]

 - Applet Adoption - The idea of having an "Official Applet Maintainers" list
   got a really chilly reception, which tells me that it probably wasn't a
   very good idea. However, as mentioned previously, lots of folks have dived
   in to help shape up busybox, which was really what we were looking for in
   the first place, therefore this is probably a moot point. Again, thanks to
   all those who have pitched in hard and heavy over the last week.

 - Bug Tracking System - A few items:

	- Thanks to those who are using the bug tracking system, esp for keeping
	  track of patches. Reminder to everyone: If you don't want your patch /
	  pet bug / pet feature request lost / ignored / forgotten, send it to the
	  bug tracker.

	- Thanks to Matt Kraii who helped us troubleshoot debbugs problems on I still need to test it a bit to verify that it's
	  working, but Matt deserves all kinds of kudos.

Looking foward to hearing comments / feedback / suggestions / Cthulhu Mythos
stories from everyone.

Mark Whitley

From Thu, 15 Feb 2001 18:26:57 -0700
Date: Thu, 15 Feb 2001 18:26:57 -0700
From: Erik Andersen
Subject: [BusyBox] Preparing for the BusyBox 0.50 release....

I would like to get BusyBox 0.50 released soon, hopefully by
Friday or Saturday. 

One item that is still lacking is to move over the permission dropping code
from netkit-tiny (and tinylogin) into busybox.  I've come up with a way to do
it that will not require bloating the BB_applet struct.  I hope to get written
tonight.   Other things I can think of that are still pending, are Vladimir's
cmdedit update, some Makefile improvements from Larry, getting ifconfig to
(optionally) report interface status, and then doing some regression testing
with a few libcs and compilers and such.

So, if anyone knows of patches that should go in, or bugs that should 
be fixed, now would be a good time to speak up.  :-)

p.s. I tend to get a _lot_ of email -- lots more then shows up on the mailing
list.  Since I have a full time job to do in addition to working on busybox,
sometimes patches get lost.  I'm sorry about that, but it happens.  If you sent
me a patch for a cool feature, and I havn't emailed you saying I don't like it,
then it is very possible your patch has just gotten lost.  So unless you got a
rejection note, assume I lost your patch and please resend it.

I'm looking forward to getting back to work on the shell and getting 
busybox structured a bit more cleanly.  Thanks all for your hard
work and patience,


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Thu, 8 Mar 2001 10:27:49 -0700
Date: Thu, 8 Mar 2001 10:27:49 -0700
From: Erik Andersen
Subject: [BusyBox] Let's release 0.50 today

I know I've said it before and then let things slip.  No more.  This is going
to be it.   No, really this time.  BusyBox will never be perfect so we are just
going to have to cut a release and move on.  And it will be a good release too.
Regardless, I would like to get the 0.50 release out the door by midnight
tonight (about 14 hours from now).  I've been so busy I've let this slip far
longer then I should have.

There are stil several patches waiting to be applied (most of Vladimir's
Last_patch3.gz, Manuel's ifconfig update, a few others) which will go in as
soon as possible.  Unfortunately, I've got some non-busybox work I HAVE to get
done today (work can be like that some times ;-), but I still think that with
everyone's help we can get this released tonight.  That will allow us to begin
working on some of the fun new things in the queue (like making a libbusybox).

I encourage everyone to test busybox _hard_ today.  Everyone, please at least
run tests/ to do some basic regression testing against whatever
version of libc you usually use.  Those that have some time, please look at the
bug tracking system, then pick an open bug and try to fix it.

Thank for your help and patience,


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

From Tue, 13 Mar 2001 18:24:23 -0700
Date: Tue, 13 Mar 2001 18:24:23 -0700
From: Erik Andersen
Subject: [BusyBox] busybox in final testing for release

Last call for testing...

Ok.  So the release didn't happen thursday (mostly because I broke lash and it
took me a while to fix up the damage).  But now I think everything is basically
in place for the release. I am now doing final regression testing in
preparation for making a release.  

BusyBox is now frozen -- No new features till after the 0.50 release.


Erik B. Andersen   email:
--This message was written using 73% post-consumer electrons--

Copyright 2000