diff options
-rw-r--r-- | Changelog | 38 | ||||
-rw-r--r-- | Config.h (renamed from busybox.def.h) | 0 | ||||
-rw-r--r-- | Config.h.Hurd (renamed from busybox.def.h.Hurd) | 2 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | TODO | 354 | ||||
-rwxr-xr-x | applets/busybox.mkll | 2 | ||||
-rwxr-xr-x | applets/busybox.sh | 2 | ||||
-rwxr-xr-x | busybox.mkll | 2 | ||||
-rwxr-xr-x | busybox.sh | 2 | ||||
-rw-r--r-- | busybox.spec | 2 | ||||
-rw-r--r-- | examples/busybox.spec | 2 | ||||
-rw-r--r-- | internal.h | 2 |
13 files changed, 37 insertions, 379 deletions
@@ -1,33 +1,39 @@ 0.47 - * Tons of bugfixes. * A bug in syslogd was fixed that allowed it to potentially fork-bomb your system. + * Renamed busybox.defs.h to the more sensible "Config.h" + * Improved portability between different libcs. + * Many apps ported to use getopt() + * Common handling of '--help' + * All usage messages centralized. + * Added a bunch of new commands: + * 'rdate' contributed by Sterling Huxley <sterling@europa.com> + * 'wget' contributed by Chip Rosenthal <chip@unicom.com>, + <crosenth@covad.com> and Covad Communications + * 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org> + * dos2unix, unix2dos, reset, and unrpm.c (and lots of help + debugging) thanks to robotti@metconnect.com. + * 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com> + * 'xargs' (written by me) + * 'expr' contributed by Edward Betts <edward@debian.org>, based + on GNY expr + * lsmod now uses the query_module syscall, rather then /proc (me) + * syslogd can now log messages to remote hosts -- patch thanks + to Gyepi Sam <gyepi@praxis-sw.com> * chroot can now call the builtin shell - Pavel Roskin <proski@gnu.org> - * added 'renice' command, thanks to Dave Cinege <dcinege@psychosis.com> * 'make install' now creates relative symlinks, and added a new 'make install-hardlinks' target to (tada) install hardlinks. - * syslogd can now log messages to remote hosts -- patch thanks - to Gyepi Sam <gyepi@praxis-sw.com> * Rewrite of 'tail' to make it simpler, smaller, and more robust. It now weighs only 2.25k (3k when full featured). The code is cleaner too, thanks to Allen Soard <esp-software@mail.hypermart.net> * Add optional ls file sorting, thanks to a patch from Sterling Huxley <sterling@europa.com> - * Added 'rdate' command from Sterling Huxley <sterling@europa.com> - * Added 'wget' command, contributed by Chip Rosenthal <chip@unicom.com>, - <crosenth@covad.com> and Covad Communications - * Added 'getopt' from "Alfred M. Szmidt" <ams@trillian.itslinux.org> - * Added dos2unix, unix2dos, and unrpm.c thanks to robotti@metconnect.com. - * Added xargs (written by me) - * lsmod now uses the query_module syscall, rather then /proc (me) * Fixed chmod option parsing so things like 'chmod -r /tmp/file' - wouldn't work (since it thought -r was an option). Doh! + now work (previously it thought -r was an option). Doh! * Fixed tar handling of stdin and stdout - * Many apps ported to use getopt() - * All usage messages centralized. - * Common handling of '--help' - * Improved portability between different libcs. + * Preliminary support for GNU HURD. + * Tons of other bugfixes. -Erik Andersen diff --git a/busybox.def.h b/Config.h index a376deead..a376deead 100644 --- a/busybox.def.h +++ b/Config.h diff --git a/busybox.def.h.Hurd b/Config.h.Hurd index cfd687376..60a5c6e21 100644 --- a/busybox.def.h.Hurd +++ b/Config.h.Hurd @@ -1,7 +1,7 @@ /* vi: set sw=4 ts=4: */ // NOTE: This file only defines features usefull under the Hurd, -// To compile for the Hurd raname this to busybox.def.h prior to make +// To compile for the Hurd raname this to Config.h prior to make // This file defines the feature set to be compiled into busybox. // When you turn things off here, they won't be compiled in at all. @@ -19,7 +19,7 @@ # PROG := busybox -VERSION := 0.47pre +VERSION := 0.47 BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z") export VERSION @@ -173,11 +173,11 @@ busybox: $(OBJECTS) $(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES) $(STRIP) -busybox.links: busybox.def.h +busybox.links: Config.h - ./busybox.mkll | sort >$@ nfsmount.o cmdedit.o: %.o: %.h -$(OBJECTS): %.o: busybox.def.h internal.h %.c Makefile +$(OBJECTS): %.o: Config.h internal.h %.c Makefile utility.o: loop.h @@ -20,7 +20,7 @@ it also makes an excellent environment for any small or embedded system. As of version 0.20 there is a version number. : ) Also as of version 0.20, BusyBox is now modularized to easily allow you to build only the components you need, thereby reducing binary size. To turn off unwanted Busybox components, -simply edit the file busybox.def.h and comment out the components you do not +simply edit the file "Config.h" and comment out the components you do not need using C++ style (//) comments. After the build is complete a busybox.links file is generated which is then @@ -8,9 +8,8 @@ around to it some time. If you have any good ideas, please let me know. * Networking apps are probably going to be split out some time soon into a separate package (named perhaps netkit-tiny?). This would remove the - following items from BusyBox: hostid, hostname, nc, nslookup, telnet, - and ping. nfs mounting and syslogd (when it supports network logging) - will remain in BusyBox. + following items from BusyBox: hostid, hostname, nc, nslookup, telnet, and + ping. nfs mounting and syslogd (network logging) will remain in BusyBox. -Erik @@ -53,353 +52,6 @@ and then start with the biggest things and make them smaller... ----------------------- - - I think that the add_inode &c in utility.c needs to also stow the - st_dev field, and that du.c should NOT call `reset_inode_list' - because there can be hard links from inside one argv/ to inside - another argv/. du.c probably ought to have an -x switch like GNU du - does also... - + du.c probably ought to have an -x switch like GNU du does... ------------------------------------------------------------------ - -An interesting email listing some apps that use /proc. BusyBox -tries to avoid /proc as mush as is possible, so this stuff is -interesting (to me at least): - - -Date: Fri, 25 Feb 2000 08:23:12 +0000 (GMT) -From: Riley Williams <rhw@MemAlpha.CX> -X-Sender: rhw@moo.cus.org.uk -To: almesber@lrc.di.epfl.ch -Cc: "Albert D. Cahalan" <acahalan@cs.uml.edu>, - Linux Kernel <linux-kernel@vger.rutgers.edu> -Subject: Re: What /proc should contain [was: /proc/driver/microcode] -In-Reply-To: <20000224165245.A29790@lrc.di.epfl.ch> -Message-ID: <Pine.LNX.4.21.0002250806220.8741-100000@moo.cus.org.uk> -Sender: owner-linux-kernel@vger.rutgers.edu -Precedence: bulk - -Hi there. - - >> Nope, most /proc access is does via programs written in C. - - > That varies a lot from file to file. E.g. I haven't seen any - > programs that are specificly designed to read /proc/atm/* yet, - > and I know of only one (fuser) that reads /proc/mounts, - > extracting only partial information (just to pick two examples - > that I'm quite familiar with). - -As a point of reference, here's a slightly tweaked analysis of the -programs on the system I'm reading your mail on. Basically, I ran the -following script... - - Q> #!/bin/bash - Q> function use() { - Q> for Z in $* ; do - Q> strings $Z | grep /proc | sed "s=^=$Z =" - Q> done - Q> } - Q> use /{,s}bin/* /usr/{,s}bin/* | sort -u | tee proc-usage - -...and then went through it removing comments and print format -strings. Replace /proc with /dev and you'd soon have an equivalent -list for that - although I can report that such is MUCH larger... - -There are three programs therein that refer to /proc/mounts ... - - /bin/mount - /bin/umount - /usr/bin/eject - -...and, as you stated, none that refer to /proc/atm on this system. -However, as this is a RedHat Linux 5.0 based system, that's not -necessarily an up to date reference thereto... - -Here's the list anyway... - -/bin/kill /proc/%d/cmdline -/bin/kill /proc/%d/stat - -/bin/mount /proc/devices -/bin/mount /proc/filesystems -/bin/mount /proc/mounts - -/bin/netstat /proc/net -/bin/netstat /proc/net/appletalk -/bin/netstat /proc/net/ax25 -/bin/netstat /proc/net/ax25_route -/bin/netstat /proc/net/dev -/bin/netstat /proc/net/ip_masquerade -/bin/netstat /proc/net/ipx -/bin/netstat /proc/net/ipx_route -/bin/netstat /proc/net/netstat -/bin/netstat /proc/net/nr -/bin/netstat /proc/net/nr_neigh -/bin/netstat /proc/net/nr_nodes -/bin/netstat /proc/net/raw -/bin/netstat /proc/net/route -/bin/netstat /proc/net/rt_cache -/bin/netstat /proc/net/snmp -/bin/netstat /proc/net/tcp -/bin/netstat /proc/net/udp -/bin/netstat /proc/net/unix - -/bin/umount /proc/devices -/bin/umount /proc/mounts - -/sbin/arp /proc/net/appletalk -/sbin/arp /proc/net/arp -/sbin/arp /proc/net/ax25 -/sbin/arp /proc/net/ipx -/sbin/arp /proc/net/nr -/sbin/arp /proc/net/unix - -/sbin/cardctl /proc/devices - -/sbin/cardmgr /proc/devices - -/sbin/fdisk /proc/ide/%s/media -/sbin/fdisk /proc/scsi/scsi - -/sbin/getty /proc/version - -/sbin/ifconfig /proc/net -/sbin/ifconfig /proc/net/appletalk -/sbin/ifconfig /proc/net/ax25 -/sbin/ifconfig /proc/net/dev -/sbin/ifconfig /proc/net/ipx -/sbin/ifconfig /proc/net/nr -/sbin/ifconfig /proc/net/unix - -/sbin/ifup /proc/sys/kernel/modprobe - -/sbin/ipchains /proc/net/ip_fwchains -/sbin/ipchains /proc/net/ip_fwnames -/sbin/ipchains /proc/net/ip_masquerade -/sbin/ipchains /proc/sys/net/ipv4/ip_forward - -/sbin/ipmaddr /proc/net/dev_mcast -/sbin/ipmaddr /proc/net/igmp -/sbin/ipmaddr /proc/net/igmp6 - -/sbin/iptunnel /proc/net/dev - -/sbin/killall5 /proc/%s/cmdline -/sbin/killall5 /proc/%s/exe -/sbin/killall5 /proc/%s/stat -/sbin/killall5 /proc/version - -/sbin/klogd /proc/kmsg - -/sbin/lsmod /proc/modules - -/sbin/modprobe /proc/modules - -/sbin/pidof /proc/%s/cmdline -/sbin/pidof /proc/%s/exe -/sbin/pidof /proc/%s/stat -/sbin/pidof /proc/version - -/sbin/probe /proc/pci - -/sbin/rarp /proc/net/ax25 -/sbin/rarp /proc/net/nr -/sbin/rarp /proc/net/rarp - -/sbin/rmmod /proc/modules - -/sbin/rmmod.static /proc/modules - -/sbin/route /proc/net/appletalk -/sbin/route /proc/net/ax25 -/sbin/route /proc/net/ax25_route -/sbin/route /proc/net/ipx -/sbin/route /proc/net/ipx_route -/sbin/route /proc/net/nr -/sbin/route /proc/net/nr_neigh -/sbin/route /proc/net/nr_nodes -/sbin/route /proc/net/route -/sbin/route /proc/net/rt_cache -/sbin/route /proc/net/unix - -/sbin/scsi_info /proc/scsi -/sbin/scsi_info /proc/scsi/%s -/sbin/scsi_info /proc/scsi/scsi - -/sbin/slattach /proc/net/ax25 -/sbin/slattach /proc/net/nr - -/sbin/swapoff /proc/swaps - -/sbin/swapon /proc/swaps - -/sbin/uugetty /proc/version - -/usr/bin/dig /proc/ -/usr/bin/dig /proc/interrupts -/usr/bin/dig /proc/meminfo -/usr/bin/dig /proc/rtc -/usr/bin/dig /proc/self/status -/usr/bin/dig /proc/stat - -/usr/bin/dnsquery /proc/ -/usr/bin/dnsquery /proc/interrupts -/usr/bin/dnsquery /proc/meminfo -/usr/bin/dnsquery /proc/rtc -/usr/bin/dnsquery /proc/self/status -/usr/bin/dnsquery /proc/stat - -/usr/bin/eject /proc/mounts - -/usr/bin/emacs /proc/loadavg - -/usr/bin/fetchmail /proc/net/dev - -/usr/bin/free /proc/meminfo - -/usr/bin/gmake /proc/loadavg - -/usr/bin/gpm-root /proc/loadavg -/usr/bin/gpm-root /proc/meminfo - -/usr/bin/host /proc/ -/usr/bin/host /proc/interrupts -/usr/bin/host /proc/meminfo -/usr/bin/host /proc/rtc -/usr/bin/host /proc/self/status -/usr/bin/host /proc/stat - -/usr/bin/hoststat /proc/loadavg - -/usr/bin/hwdiag /proc/cpuinfo -/usr/bin/hwdiag /proc/pci -/usr/bin/hwdiag /proc/scsi/scsi -/usr/bin/hwdiag /proc/version - -/usr/bin/lsdev /proc/dma -/usr/bin/lsdev /proc/interrupts -/usr/bin/lsdev /proc/ioports - -/usr/bin/mailq /proc/loadavg - -/usr/bin/make /proc/loadavg - -/usr/bin/mcookie /proc/loadavg -/usr/bin/mcookie /proc/stat - -/usr/bin/newaliases /proc/loadavg - -/usr/bin/nslookup /proc/ -/usr/bin/nslookup /proc/interrupts -/usr/bin/nslookup /proc/meminfo -/usr/bin/nslookup /proc/rtc -/usr/bin/nslookup /proc/self/status -/usr/bin/nslookup /proc/stat - -/usr/bin/nsupdate /proc/ -/usr/bin/nsupdate /proc/interrupts -/usr/bin/nsupdate /proc/meminfo -/usr/bin/nsupdate /proc/rtc -/usr/bin/nsupdate /proc/self/status -/usr/bin/nsupdate /proc/stat - -/usr/bin/pgp /proc/version -/usr/bin/pgpe /proc/version -/usr/bin/pgpk /proc/version -/usr/bin/pgps /proc/version -/usr/bin/pgpv /proc/version - -/usr/bin/procinfo /proc/cmdline -/usr/bin/procinfo /proc/devices -/usr/bin/procinfo /proc/dma -/usr/bin/procinfo /proc/filesystems -/usr/bin/procinfo /proc/interrupts -/usr/bin/procinfo /proc/loadavg -/usr/bin/procinfo /proc/meminfo -/usr/bin/procinfo /proc/modules -/usr/bin/procinfo /proc/stat -/usr/bin/procinfo /proc/uptime -/usr/bin/procinfo /proc/version - -/usr/bin/purgestat /proc/loadavg - -/usr/bin/screen /proc/loadavg - -/usr/bin/strace /proc/%d/stat - -/usr/bin/top /proc/cpuinfo -/usr/bin/top /proc/meminfo -/usr/bin/top /proc/stat - -/usr/bin/vmstat /proc/%s/stat -/usr/bin/vmstat /proc/meminfo -/usr/bin/vmstat /proc/stat - -/usr/sbin/atd /proc/loadavg - -/usr/sbin/dnskeygen /proc/ -/usr/sbin/dnskeygen /proc/interrupts -/usr/sbin/dnskeygen /proc/meminfo -/usr/sbin/dnskeygen /proc/rtc -/usr/sbin/dnskeygen /proc/self/status -/usr/sbin/dnskeygen /proc/stat - -/usr/sbin/fuser /proc/%d/stat -/usr/sbin/fuser /proc/net/%s -/usr/sbin/fuser /proc/net/unix - -/usr/sbin/in.identd /proc/net/tcp - -/usr/sbin/irpd /proc/ -/usr/sbin/irpd /proc/interrupts -/usr/sbin/irpd /proc/meminfo -/usr/sbin/irpd /proc/rtc -/usr/sbin/irpd /proc/self/status -/usr/sbin/irpd /proc/stat - -/usr/sbin/named /proc/ -/usr/sbin/named /proc/interrupts -/usr/sbin/named /proc/meminfo -/usr/sbin/named /proc/rtc -/usr/sbin/named /proc/self/status -/usr/sbin/named /proc/stat - -/usr/sbin/named-xfer /proc/ -/usr/sbin/named-xfer /proc/interrupts -/usr/sbin/named-xfer /proc/meminfo -/usr/sbin/named-xfer /proc/rtc -/usr/sbin/named-xfer /proc/self/status -/usr/sbin/named-xfer /proc/stat - -/usr/sbin/readprofile /proc/profile - -/usr/sbin/rwhod /proc/loadavg -/usr/sbin/rwhod /proc/uptime - -/usr/sbin/sendmail /proc/loadavg - -/usr/sbin/setconsole /proc/openprom/options -/usr/sbin/setconsole /proc/openprom/options/${console}-mode -/usr/sbin/setconsole /proc/openprom/options/input-device -/usr/sbin/setconsole /proc/openprom/options/output-device - -Best wishes from Riley. - - * Copyright (C) 1999, Memory Alpha Systems. - * All rights and wrongs reserved. - -+----------------------------------------------------------------------+ -| There is something frustrating about the quality and speed of Linux | -| development, ie., the quality is too high and the speed is too high, | -| in other words, I can implement this XXXX feature, but I bet someone | -| else has already done so and is just about to release their patch. | -+----------------------------------------------------------------------+ - * http://www.memalpha.cx/Linux/Kernel/ - - -- -To unsubscribe from this list: send the line "unsubscribe linux-kernel" in -the body of a message to majordomo@vger.rutgers.edu -Please read the FAQ at http://www.tux.org/lkml/ - diff --git a/applets/busybox.mkll b/applets/busybox.mkll index c650febd6..d8ea7b395 100755 --- a/applets/busybox.mkll +++ b/applets/busybox.mkll @@ -1,7 +1,7 @@ #!/bin/sh # Make busybox links list file. -DF="busybox.def.h" +DF="Config.h" MF="busybox.c" LIST="$(gcc -E -dM $DF | sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/BB_\1/gp;' | sort)" diff --git a/applets/busybox.sh b/applets/busybox.sh index 2b4521065..e01b88162 100755 --- a/applets/busybox.sh +++ b/applets/busybox.sh @@ -3,7 +3,7 @@ # I added in the extra "ls" so only source files that # actually exist will show up in the compile list. ls -1 ` \ - gcc -E -dM busybox.def.h | \ + gcc -E -dM Config.h | \ sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \ | tr '[:upper:]' '[:lower:]' | sort ` 2>/dev/null | sed -e 's/\.c$/\.o/g' diff --git a/busybox.mkll b/busybox.mkll index c650febd6..d8ea7b395 100755 --- a/busybox.mkll +++ b/busybox.mkll @@ -1,7 +1,7 @@ #!/bin/sh # Make busybox links list file. -DF="busybox.def.h" +DF="Config.h" MF="busybox.c" LIST="$(gcc -E -dM $DF | sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/BB_\1/gp;' | sort)" diff --git a/busybox.sh b/busybox.sh index 2b4521065..e01b88162 100755 --- a/busybox.sh +++ b/busybox.sh @@ -3,7 +3,7 @@ # I added in the extra "ls" so only source files that # actually exist will show up in the compile list. ls -1 ` \ - gcc -E -dM busybox.def.h | \ + gcc -E -dM Config.h | \ sed -n -e '/^.*BB_FEATURE.*$/d;s/^#define.*\<BB_\(.*\)\>/\1.c/gp;' \ | tr '[:upper:]' '[:lower:]' | sort ` 2>/dev/null | sed -e 's/\.c$/\.o/g' diff --git a/busybox.spec b/busybox.spec index cb185a724..c11756b1e 100644 --- a/busybox.spec +++ b/busybox.spec @@ -1,5 +1,5 @@ Name: busybox -Version: 0.47pre +Version: 0.47 Release: 1 Group: System/Utilities Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary. diff --git a/examples/busybox.spec b/examples/busybox.spec index cb185a724..c11756b1e 100644 --- a/examples/busybox.spec +++ b/examples/busybox.spec @@ -1,5 +1,5 @@ Name: busybox -Version: 0.47pre +Version: 0.47 Release: 1 Group: System/Utilities Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary. diff --git a/internal.h b/internal.h index f8dd12836..69f455435 100644 --- a/internal.h +++ b/internal.h @@ -24,7 +24,7 @@ #ifndef _BB_INTERNAL_H_ #define _BB_INTERNAL_H_ 1 -#include "busybox.def.h" +#include "Config.h" #ifdef DMALLOC #include "dmalloc.h" |