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
$(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
- 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)\"
# 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)"
#!/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'
# 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)"
#!/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'
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
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,
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
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.
+
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:
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
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
# 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: $@"
# $(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$@
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