#
PROG := busybox
-VERSION := 0.43
+VERSION := 0.44
BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
export VERSION
# If you want a static binary, turn this on.
DOSTATIC = false
-# This will choke on a non-debian system
-ARCH =`uname -m | sed -e 's/i.86/i386/' | sed -e 's/sparc.*/sparc/'`
+# Figure out what arch we are on (not used at the moment)
+ARCH := $(shell uname -m | sed -e 's/i.86/i386/' | sed -e 's/sparc.*/sparc/')
+
CC = gcc
busybox: $(OBJECTS)
$(CC) $(LDFLAGS) -o $@ $^ $(LIBRARIES)
$(STRIP)
-
+
docs:
$(MAKE) -C docs
#endif
#endif
//
+#ifdef BB_INIT
+#ifndef BB_FEATURE_REMOUNT
+#define BB_FEATURE_REMOUNT
+#endif
+#endif
+//
#ifdef BB_FEATURE_LINUXRC
#ifndef BB_INIT
#define BB_INIT
Name: busybox
-Version: 0.43
+Version: 0.44
Release: 1
Group: System/Utilities
Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary.
Source: %{Name}-%{Version}.tar.gz
%Description
-BusyBox is a suite of "tiny" Unix utilities in a multi-call binary. It
-provides a pretty complete POSIX environment in a very small package.
-Just add a kernel, "ash" (Keith Almquists tiny Bourne shell clone), and
-an editor such as "elvis-tiny" or "ae", and you have a full system. This
-is makes an excellent environment for a "rescue" disk or any small or
-embedded system.
+BusyBox combines tiny versions of many common UNIX utilities into a single
+small executable. It provides minimalist replacements for most of the utilities
+you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
+tar, etc. BusyBox provides a fairly complete POSIX environment for any small
+or emdedded system. The utilities in BusyBox generally have fewer options then
+their full featured GNU cousins; however, the options that are provided behave
+very much like their GNU counterparts.
%Prep
%setup -q -n %{Name}-%{Version}
small executable. It provides minimalist replacements for most of the utilities
you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
tar, etc. BusyBox provides a fairly complete POSIX environment for any small
-or emdedded system. While the number of options for the utilities BusyBox
-provides have generally been reduced, the provided options behave very much
-like they do in their full featured GNU cousins.
+or emdedded system. The utilities in BusyBox generally have fewer options then
+their full featured GNU cousins; however, the options that are included provide
+the expected functionality and behave very much like their GNU counterparts.
BusyBox has been written with size-optimization and limited resources in mind.
It is also extremely modular so you can easily include or exclude commands (or
=cut
-# $Id: busybox.pod,v 1.20 2000/04/21 01:23:36 erik Exp $
+# $Id: busybox.pod,v 1.21 2000/04/21 21:53:58 erik Exp $
Name: busybox
-Version: 0.43
+Version: 0.44
Release: 1
Group: System/Utilities
Summary: BusyBox is a tiny suite of Unix utilities in a multi-call binary.
Source: %{Name}-%{Version}.tar.gz
%Description
-BusyBox is a suite of "tiny" Unix utilities in a multi-call binary. It
-provides a pretty complete POSIX environment in a very small package.
-Just add a kernel, "ash" (Keith Almquists tiny Bourne shell clone), and
-an editor such as "elvis-tiny" or "ae", and you have a full system. This
-is makes an excellent environment for a "rescue" disk or any small or
-embedded system.
+BusyBox combines tiny versions of many common UNIX utilities into a single
+small executable. It provides minimalist replacements for most of the utilities
+you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
+tar, etc. BusyBox provides a fairly complete POSIX environment for any small
+or emdedded system. The utilities in BusyBox generally have fewer options then
+their full featured GNU cousins; however, the options that are provided behave
+very much like their GNU counterparts.
%Prep
%setup -q -n %{Name}-%{Version}
cin = fopen("/dev/console", "r");
getTermSettings(fileno(cin), &initial_settings);
new_settings = initial_settings;
+ new_settings.c_cc[VMIN] = 1;
+ new_settings.c_cc[VTIME] = 0;
new_settings.c_lflag &= ~ICANON;
new_settings.c_lflag &= ~ECHO;
setTermSettings(fileno(cin), &new_settings);
@echo "Some tests might show timestamp differences that are Ok.";
@echo;
- ${BCP} || true;
+ @echo Verify that busybox cp exists;
+ @echo ------------------------------;
+ [ -x ${BCP} ] || exit 0
@echo;
mkdir cp_tests;
-\f # Copy a file to a copy of the file
+ @echo Copy a file to a copy of the file;
@echo ------------------------------;
cd cp_tests; \
echo A file > afile; \
@echo;
rm -rf cp_tests/*;
-\f # Copy a file pointed to by a symlink
- @echo; echo ------------------------------;
+ @echo; echo Copy a file pointed to by a symlink;
+ @echo ------------------------------;
cd cp_tests; \
mkdir here there; \
echo A file > afile; \
@echo;
rm -rf cp_tests/*
-\f # Copy a symlink, useing the -a switch.
- @echo; echo ------------------------------;
+ @echo; echo Copy a symlink, useing the -a switch.;
+ @echo ------------------------------;
cd cp_tests; \
echo A file > afile; \
mkdir here there; \
cd here; \
ln -s ../afile .
- cd cp_test; \
+ cd cp_tests; \
ls -lR . > ../cp_a_symlink.gnu; \
${GCP} -a here/afile there; \
ls -lR . >> ../cp_a_symlink.gnu;
@echo;
- rm -f cp_tests/there/*;
+ rm -rf cp_tests/there/*;
sleep 1;
diff -u cp_a_symlink.gnu cp_a_symlink.bb;
@echo;
- rm -f cp_tests/*;
+ rm -rf cp_tests/*;
-\f # Copy a directory into another directory with the -a switch
- @echo; echo ------------------------------;
+ @echo; echo Copy a directory into another directory with the -a switch;
+ @echo ------------------------------;
cd cp_tests; \
mkdir here there; \
echo A file > here/afile; \
@echo;
rm -rf cp_tests/*;
-\f # Copy a set of files to a directory.
- @echo; echo ------------------------------;
+ # Copy a set of files to a directory.
+ @echo; echo Copy a set of files to a directory.;
+ @echo ------------------------------;
cd cp_tests; \
echo A file number one > afile1; \
echo A file number two, blah. > afile2; \
@echo;
rm -rf cp_tests/*;
-\f # Copy a set of files to a directory with the -d switch.
- @echo; echo ------------------------------;
+ # Copy a set of files to a directory with the -d switch.
+ @echo; echo Copy a set of files to a directory with the -d switch.;
+ @echo ------------------------------;
cd cp_tests; \
echo A file number one > afile1; \
echo A file number two, blah. > afile2; \
@echo;
rm -rf cp_tests/{afile{1,2},symlink1,there1};
-\f # Copy a set of files to a directory with the -p switch.
- @echo; echo ------------------------------;
+ # Copy a set of files to a directory with the -p switch.
+ @echo; echo Copy a set of files to a directory with the -p switch.;
+ @echo ------------------------------;
cd cp_tests; \
echo A file number one > afile1; \
echo A file number two, blah. > afile2; \
@echo;
rm -rf cp_tests/{afile{1,2},symlink1,there1};
-\f # Copy a set of files to a directory with -p and -d switches.
- @echo; echo ------------------------------;
+ @echo; echo Copy a set of files to a directory with -p and -d switches.
+ @echo ------------------------------;
cd cp_tests; \
echo A file number one > afile1; \
echo A file number two, blah. > afile2; \
@echo;
rm -rf cp_tests/{afile{1,2},symlink1,there1};
-\f # Copy a directory into another directory with the -a switch.
- @echo; echo ------------------------------;
+ @echo; echo Copy a directory into another directory with the -a switch.
+ @echo ------------------------------;
cd cp_tests; \
mkdir dir{a,b}; \
echo A file > dira/afile; \
@echo;
rm -rf cp_tests/dir{a,b};
-\f # Copy a directory to another directory, without the -a switch.
- @echo; echo ------------------------------;
+ # Copy a directory to another directory, without the -a switch.
+ @echo; echo Copy a directory to another directory, without the -a switch.
+ @echo ------------------------------;
@echo There should be an error message about cannot cp a dir to a subdir of itself.
cd cp_tests; \
touch a b c; \
@echo;
diff -u cp_a_star_adir.gnu cp_a_star_adir.bb;
-\f
+
+ # Done
@echo;
rm -rf cp_tests;
@echo; echo Done.
cin = fopen("/dev/console", "r");
getTermSettings(fileno(cin), &initial_settings);
new_settings = initial_settings;
+ new_settings.c_cc[VMIN] = 1;
+ new_settings.c_cc[VTIME] = 0;
new_settings.c_lflag &= ~ICANON;
new_settings.c_lflag &= ~ECHO;
setTermSettings(fileno(cin), &new_settings);