summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog38
-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--Makefile6
-rw-r--r--README2
-rw-r--r--TODO354
-rwxr-xr-xapplets/busybox.mkll2
-rwxr-xr-xapplets/busybox.sh2
-rwxr-xr-xbusybox.mkll2
-rwxr-xr-xbusybox.sh2
-rw-r--r--busybox.spec2
-rw-r--r--examples/busybox.spec2
-rw-r--r--internal.h2
13 files changed, 37 insertions, 379 deletions
diff --git a/Changelog b/Changelog
index a605a1c..b374845 100644
--- a/Changelog
+++ b/Changelog
@@ -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 a376dee..a376dee 100644
--- a/busybox.def.h
+++ b/Config.h
diff --git a/busybox.def.h.Hurd b/Config.h.Hurd
index cfd6873..60a5c6e 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.
diff --git a/Makefile b/Makefile
index 15d13c5..4695390 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/README b/README
index 17e7722..8d1845a 100644
--- a/README
+++ b/README
@@ -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
diff --git a/TODO b/TODO
index 6a4dfe3..0756fd0 100644
--- a/TODO
+++ b/TODO
@@ -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 c650feb..d8ea7b3 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 2b45210..e01b881 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 c650feb..d8ea7b3 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 2b45210..e01b881 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 cb185a7..c11756b 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 cb185a7..c11756b 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 f8dd128..69f4554 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"