Has anyone actually read docs/contributing.txt recently?

Denys Vlasenko vda.linux at googlemail.com
Wed Jun 3 13:19:50 UTC 2009


On Tue, Jun 2, 2009 at 6:21 AM, Rob Landley <rob at landley.net> wrote:
> So I was looking at potentially swapping out the patch implementation in
> busybox with the one I wrote for toybox (the one I wrote can apply patches at
> offsets, which I need.  It can also delete files, and could even be taught to do
> "fuzz" if fuzz wasn't such a horrible idea), and I thought I'd check to see if
> there was any documentation on what this MAIN_EXTERNALLY_VISIBLE thing is
> (putting a  function prototype on the line before the function seems a touch
> odd).

This suppresses a warning about having no prototype.

MAIN_EXTERNALLY_VISIBLE is an optimization for libbusybox compile:

# grep -r "define.*EXTERNALLY_VISIBLE" .
./include/platform.h:# define EXTERNALLY_VISIBLE __attribute__((
visibility("default") ))
./include/platform.h:# define EXTERNALLY_VISIBLE
...
./include/libbb.h:#define MAIN_EXTERNALLY_VISIBLE EXTERNALLY_VISIBLE
./include/libbb.h:#define MAIN_EXTERNALLY_VISIBLE

> So I started reading the files in "docs", and contributing.txt has a list of
> "don't add these to busybox", which includes:
>
>> - Any daemons that are not essential to basic system operation. To date,
>> only syslogd and klogd meet this requirement. We do not need a web server,
>> an ftp daemon, a dhcp server, a mail transport agent or a dns resolver. If
>> you need one of those, you are welcome to ask the folks on the mailing list
>> for recommendations, but please don't bloat up Busybox with any of these.
>
> I am amused that busybox now has every single one of the daemons listed there.
> (In fact it's had httpd for almost a decade now, longer than I've been
> involved with the project.)

Removed.

> The file continues on to talk about:
>
>> - Converting applets to use getopt() for option processing.
>
> Er, no?

Yes, no. ;)

>> If you've got anonymous CVS access set up,
>
> No longer applies.  (There's also a whole section on committing changes to
> cvs...)

Thanks for comments. I updated the file.

> Looking at other files... Why is ccty.htm in there?  Or draft-coar-cgi-v11-03-
> clean.html?

ctty.htm might be useful for people not familiar with process groups,
sessions, "what controlling tty is", and such. A few things in that
area are unclear to me too. For example: if session loses ctty and
then takes it back, does foreground process group gets restored
to the one which was active when ctty was lost? Perhaps not.
Then, _which_ process group becomes foreground?...

draft-coar-cgi-v11-03-clean.html documents web server's CGI
interface.

> Also, rather than have a big argument about not using ifup/ifdown (I don't, I
> use ifconfig and have only the vaguest idea how ifup/ifdown are supposed to
> work), why not just write the shell script you say it should be?  (Busybox has
> a shell.  I lost an argument a month or two back about not hardwiring behavior
> into mdev that should be a wrapper shell script, seems odd to see this
> document here about "we did it in C, now don't use it"...)
>
> Is anyone particularly in charge of documentation, or is it just sort of
> accumulating?

Docs tend to become outdated, yes.
--
vda


More information about the busybox mailing list