summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen2000-12-01 19:55:04 +0000
committerEric Andersen2000-12-01 19:55:04 +0000
commite2f6e1221330f2944d467cad2fb630deb5ef6f0a (patch)
treef52409c3b56c1f2a5a54996dc2542c7941574e20
parent09a34e536896ecbe3e81618c7a45f9f1998bd8aa (diff)
downloadbusybox-e2f6e1221330f2944d467cad2fb630deb5ef6f0a.zip
busybox-e2f6e1221330f2944d467cad2fb630deb5ef6f0a.tar.gz
More pristine source directory updates. It now works
for me (including doing install). How about you? -Erik
-rw-r--r--Makefile14
-rwxr-xr-xapplets/busybox.mkll6
-rwxr-xr-xapplets/busybox.sh12
-rwxr-xr-xbusybox.mkll6
-rwxr-xr-xbusybox.sh12
-rw-r--r--debian/changelog4
-rw-r--r--debian/control36
-rwxr-xr-xdebian/rules60
8 files changed, 116 insertions, 34 deletions
diff --git a/Makefile b/Makefile
index d43547e..bea9614 100644
--- a/Makefile
+++ b/Makefile
@@ -167,14 +167,14 @@ docs/BusyBox.1: docs/busybox.pod
docs/busybox.pod ) > docs/BusyBox.1
docs/BusyBox.html: docs/busybox.lineo.com/BusyBox.html
- - rm -f docs/BusyBox.html
- - ln -s docs/busybox.lineo.com/BusyBox.html docs/BusyBox.html
+ -@ rm -f docs/BusyBox.html
+ -@ ln -s docs/busybox.lineo.com/BusyBox.html docs/BusyBox.html
docs/busybox.lineo.com/BusyBox.html: docs/busybox.pod
- - mkdir -p docs/busybox.lineo.com
+ -@ mkdir -p docs/busybox.lineo.com
- (cd $(BB_SRC_DIR); pod2html --noindex docs/busybox.pod ) \
> docs/busybox.lineo.com/BusyBox.html
- - rm -f pod2html*
+ -@ rm -f pod2html*
# New docs based on DOCBOOK SGML
@@ -210,7 +210,7 @@ busybox: $(OBJECTS)
$(STRIP)
busybox.links: Config.h
- -(cd $(BB_SRC_DIR); ./busybox.mkll ) | sort >$@
+ -$(BB_SRC_DIR)/busybox.mkll $(BB_SRC_DIR)applets.h | sort >$@
nfsmount.o cmdedit.o: %.o: %.h
$(OBJECTS): %.o: %.c Config.h busybox.h Makefile
@@ -237,10 +237,10 @@ distclean: clean
- cd tests && $(MAKE) distclean
install: busybox busybox.links
- ./install.sh $(PREFIX)
+ $(BB_SRC_DIR)/install.sh $(PREFIX)
install-hardlinks: busybox busybox.links
- ./install.sh $(PREFIX) --hardlinks
+ $(BB_SRC_DIR)/install.sh $(PREFIX) --hardlinks
debug_pristine:
@ echo VPATH=\"$(VPATH)\"
diff --git a/applets/busybox.mkll b/applets/busybox.mkll
index d7b9ec5..922dcdd 100755
--- a/applets/busybox.mkll
+++ b/applets/busybox.mkll
@@ -2,7 +2,11 @@
# Make busybox links list file.
DF="Config.h"
-MF="applets.h"
+
+MF=$1
+if [ "$MF" = "" ]; then
+ MF="applets.h"
+fi
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 e01b881..22493bf 100755
--- a/applets/busybox.sh
+++ b/applets/busybox.sh
@@ -1,10 +1,12 @@
#!/bin/sh
-# 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 Config.h | \
+RAW=` \
+ gcc -E -dM ${1:-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'
+`
+cd ${2:-.}
+# I added in the extra "ls" so only source files that
+# actually exist will show up in the compile list.
+ls -1 $RAW 2>/dev/null | sed -e 's/\.c$/\.o/g'
diff --git a/busybox.mkll b/busybox.mkll
index d7b9ec5..922dcdd 100755
--- a/busybox.mkll
+++ b/busybox.mkll
@@ -2,7 +2,11 @@
# Make busybox links list file.
DF="Config.h"
-MF="applets.h"
+
+MF=$1
+if [ "$MF" = "" ]; then
+ MF="applets.h"
+fi
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 e01b881..22493bf 100755
--- a/busybox.sh
+++ b/busybox.sh
@@ -1,10 +1,12 @@
#!/bin/sh
-# 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 Config.h | \
+RAW=` \
+ gcc -E -dM ${1:-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'
+`
+cd ${2:-.}
+# I added in the extra "ls" so only source files that
+# actually exist will show up in the compile list.
+ls -1 $RAW 2>/dev/null | sed -e 's/\.c$/\.o/g'
diff --git a/debian/changelog b/debian/changelog
index c1c9cb2..3300927 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
busybox (0.48pre-1) unstable; urgency=low
- * New version released. See changelog for details.
+ * Non-release.
+ * See changelog for details.
+ * Now includes .udeb support for the debian-installer.
-- Erik Andersen <andersee@debian.org> Mon, 25 Sep 2000 23:00:56 -0600
diff --git a/debian/control b/debian/control
index bbbf86e..54475b7 100644
--- a/debian/control
+++ b/debian/control
@@ -1,16 +1,16 @@
Source: busybox
Priority: optional
Maintainer: Erik Andersen <andersee@debian.org>
-Build-Depends: debhelper
-Standards-Version: 3.1.1
+Build-Depends: debhelper (>= 2.1.18), dpkg-dev (1.7.0)
+Standards-Version: 3.2.1.0
Package: busybox
Architecture: any
Depends: ${shlibs:Depends}
-Conflicts: binutils, bsdutils, console-tools, cpio, debianutils, dnsutils, dpkg, fbset, fdflush, fileutils, grep, gzip, hostname, modutils, mount, netbase, procps, psmisc, sed, sharutils, shellutils, sysklogd, sysvinit, tar, textutils, update, util-linux
-Replaces: netbase
+Conflicts:
+Replaces:
Section: utils
-Description: Tiny utilities for the debian-installer and for embedded systems.
+Description: Tiny utilities for small and embedded systems.
BusyBox combines tiny versions of many common UNIX utilities into a single
small executable. It provides minimalist replacements for the most common
utilities you would usually find on your desktop system (i.e. ls, cp, mv,
@@ -19,10 +19,10 @@ Description: Tiny utilities for the debian-installer and for embedded systems.
provide the expected functionality and behave very much like their GNU
counterparts.
.
- BusyBox is used by the debian-installer. Installing BusyBox onto your Debian
- system is not recommended, unless you are intended to make a very small
- embedded system. Chances are good that for embedded systems, you will want to
- recompile to only include the tools and utilities you wish to include.
+ This package installs the BusyBox binary but does not install symlinks
+ for any of the supported utilities. You can use /bin/busybox --install
+ to install BusyBox to the current directory (you do not want to do this
+ in / on your Debian system!).
Package: busybox-static
Architecture: any
@@ -44,3 +44,21 @@ Description: Provides a stand alone rescue shell with tons of builtin utilities.
your system from certain destruction. Invoke "busybox", and it will list the
available builtin commands.
+Package: busybox-udeb
+Architecture: any
+Depends: ${shlibs:Depends}
+Section: debian-installer
+Description: Tiny utilities for the debian-installer and for embedded systems.
+ BusyBox combines tiny versions of many common UNIX utilities into a single
+ small executable. It provides minimalist replacements for the most common
+ utilities you would usually find on your desktop system (i.e. ls, cp, mv,
+ mount, tar, etc). The utilities in BusyBox generally have fewer options than
+ their full-featured GNU cousins; however, the options that are included
+ provide the expected functionality and behave very much like their GNU
+ counterparts.
+ .
+ BusyBox is used by the debian-installer. Installing BusyBox onto your Debian
+ system is not recommended, unless you are intended to make a very small
+ embedded system. Chances are good that for embedded systems, you will want to
+ recompile to only include the tools and utilities you wish to include.
+
diff --git a/debian/rules b/debian/rules
index ffa9b5c..67741b1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -8,14 +8,23 @@
export DH_COMPAT=1
bb=debian/tmp
+bbbd=debian/bb_builddir
bbs=debian/busybox-static
+bbsbd=debian/bb-static_builddir
+
+#For the debian-installer .udeb package
+PACKAGE=busybox-udeb
+VERSION=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
+ARCH=$(shell dpkg --print-architecture)
+FILENAME=$(PACKAGE)_$(VERSION)_$(ARCH).udeb
+PRIORITY=$(shell grep ^Priority: debian/control | cut -d ' ' -f 2)
clean:
dh_testdir
dh_testroot
rm -f build-stamp-busybox build-stamp-busybox-static
-$(MAKE) clean
- -rm -rf $(bb) $(bbs)
+ -rm -rf $(bb) $(bbbd) $(bbs) $(bbsbd)
dh_clean
half_clean:
@@ -27,7 +36,9 @@ half_clean:
build: build-stamp-busybox
build-stamp-busybox:
dh_testdir
- $(MAKE)
+ mkdir -p $(bbbd)
+ cp Makefile Config.h $(bbbd)
+ (cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../")
touch build-stamp-busybox
install: build
@@ -35,7 +46,7 @@ install: build
dh_testroot
dh_clean -k
dh_installdirs
- $(MAKE) "PREFIX=$(bb)" install
+ (cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bb)" install)
mkdir -p $(bb)/usr/share/man/man1
cp docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1
@@ -67,7 +78,7 @@ binary-indep:
# We have nothing to do by default.
# Build architecture-dependent files here.
-binary-arch: busybox busybox-static
+binary-arch: busybox busybox-static busybox-udeb
busybox: install
@echo "--- Building: $@"
@@ -87,7 +98,7 @@ busybox: install
# $(bb)/usr/share/doc/busybox/busybox.lineo.com/images/CVS \
# $(bb)/usr/share/doc/busybox/busybox.lineo.com/images/.cvsignore
#dh_undocumented -p$@
- dh_installchangelogs -p$@ Changelog
+ #dh_installchangelogs -p$@ Changelog
dh_strip -p$@
dh_compress -p$@
dh_fixperms -p$@
@@ -126,5 +137,44 @@ busybox-static: do_static
dh_builddeb -p$@
+# Note that this builds a .udeb, which is not policy compliant or anything.
+#
+busybox-udeb: install
+ @echo "--- Building: $@"
+ dh_testdir
+ dh_testroot
+ dh_installdirs
+ #
+ #Note that for busybox, we do not install any docs,
+ # or man apges or anything else. This is in blatent violation of every
+ # Debian policy out there, since this package is intended to be used
+ # _only_ by the debian-installer.
+ #
+ #dh_installdocs -p$@ docs/BusyBox.txt \
+ # docs/BusyBox.html docs/busybox.lineo.com AUTHORS README TODO
+ #rm -rf $(bb)/usr/share/doc/busybox/busybox.lineo.com/CVS \
+ # $(bb)/usr/share/doc/busybox/busybox.lineo.com/.cvsignore \
+ # $(bb)/usr/share/doc/busybox/busybox.lineo.com/images/CVS \
+ # $(bb)/usr/share/doc/busybox/busybox.lineo.com/images/.cvsignore
+ #dh_undocumented -p$@
+ #dh_installchangelogs -p$@ Changelog
+ dh_strip -p$@
+ dh_compress -p$@
+ dh_fixperms -p$@
+ dh_installdeb -p$@
+ dh_shlibdeps -p$@
+ #
+ #Make _very_ sure there are no docs lurking about.
+ #
+ rm -rf $(bb)/usr/share/doc
+ rm -rf $(bb)/usr/share/man
+ dh_gencontrol -p$@
+ # Don't write your stupid guesses to debian/files.
+ #dh_gencontrol -p$@ -- -fdebian/files~
+ # Register file manually.
+ dpkg-distaddfile $(FILENAME) debian-installer $(PRIORITY)
+ dh_md5sums -p$@
+ dh_builddeb -p$@ --filename=$(FILENAME)
+
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install