From b108a5b780a130b34aff4260583444e163fd6bd2 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Mon, 19 Jun 2000 09:21:34 +0000 Subject: [PATCH] Added support for building debian packages. -Erik --- debian/README.debian | 10 ++++ debian/changelog | 18 +++++++ debian/control | 46 +++++++++++++++++ debian/copyright | 7 +++ debian/rules | 119 +++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 200 insertions(+) create mode 100644 debian/README.debian create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/rules diff --git a/debian/README.debian b/debian/README.debian new file mode 100644 index 000000000..f210a3e39 --- /dev/null +++ b/debian/README.debian @@ -0,0 +1,10 @@ +BusyBox for Debian +---------------------- + +BusyBox is being developed and maintained by Erik Andersen +. + +If you have a problem with BusyBox, send email to the Debian bug tracking +system that lives at + +Erik Andersen , Sun, 18 Jun 2000 21:52:00 -0600 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..d042bb23f --- /dev/null +++ b/debian/changelog @@ -0,0 +1,18 @@ +busybox (0.44-1) frozen; urgency=low + + * First attempt at packaging BusyBox as a .deb. This has been in + in the Debian boot-floppies CVS tree forever. Hopefully, having it as a + standalone app will make life easier for me, the debian-installer team, and + everyone else as well... + * I have created a busybox-static that can be used as a rescue shell when you + hose your system. Just invoke "busybox sh" to fir up the shell. This has + every app provided by busybox staically linked in. There have been several + times in the past that I would have loved to have this sitting on my system + (i.e. when libc gets screwed up.) + + -- Erik Andersen Sun, 18 Jun 2000 21:45:47 -0600 + +Local variables: +mode: debian-changelog +add-log-mailing-address: "andersee@debian.org" +End: diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..4cc8634e9 --- /dev/null +++ b/debian/control @@ -0,0 +1,46 @@ +Source: busybox +Priority: optional +Maintainer: Erik Andersen +Build-Depends: debhelper (>= 2.0.80) +Standards-Version: 3.1.1 + +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: dpkg, netbase +Section: utils +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. + +Package: busybox-static +Architecture: any +Depends: ${shlibs:Depends} +Section: shells +Description: Provides a stand alone rescue shell with tons of builtin utilities. + 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-static provides you with a statically linked simple stand alone shell + that provides all the utilities available in BusyBox. This package is + intended to be used as a rescue shell, in the event that you screw up your + system. Invoke "busybox sh" and you have a standalone shell ready to save + your system from certain destruction. Invoke "busybox", and it will list the + available builtin commands. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..68a96e68b --- /dev/null +++ b/debian/copyright @@ -0,0 +1,7 @@ +This package was debianized by Erik Andersen on +Sun, 18 Jun 2000 23:31:02 -0600 + +It was downloaded from ftp://ftp.lineo.com/pub/busybox +HomePage is at: http://busybox.lineo.com/ + +Copyright: GPL diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..163f1d0d4 --- /dev/null +++ b/debian/rules @@ -0,0 +1,119 @@ +#!/usr/bin/make -f + +# This is a bit unusual, in that I have to completely recompile everything +# twice. The first is the normal, dynamically linked package. The second is +# for the statically linked package. This file has been adjusted accordingly. + +# This is the debhelper compatability version to use. +export DH_COMPAT=1 + +bb=debian/tmp +bbs=debian/busybox-static + +clean: + dh_testdir + dh_testroot + rm -f build-stamp-busybox build-stamp-busybox-static + -$(MAKE) clean + -rm -rf $(bb) $(bbs) + dh_clean + +half_clean: + dh_testdir + dh_testroot + rm -rf $(bbs) build-stamp-busybox-static + -$(MAKE) clean + +build: build-stamp-busybox +build-stamp-busybox: + dh_testdir + $(MAKE) + touch build-stamp-busybox + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + $(MAKE) "PREFIX=$(bb)" install + mkdir -p $(bb)/usr/share/man/man1 + cp docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1 + +# Now for the statically linked stuff +build-static: build-stamp-busybox-static +build-stamp-busybox-static: + dh_testdir + $(MAKE) DOSTATIC=true + touch build-stamp-busybox-static + +install-static: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + # Do not run 'make install', since we do not want all the symlinks. + # This just installes the busybox binary... + #$(MAKE) "PREFIX=$(bbs)" install + mkdir -p $(bbs)/bin/ + cp busybox $(bbs)/bin/busybox + mkdir -p $(bbs)/usr/share/man/man1/ + cp docs/BusyBox.1 $(bbs)/usr/share/man/man1/busybox.1 + +do_static: half_clean build-static install-static + + +# Build architecture-independent files here. +binary-indep: +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: busybox busybox-static clean + +busybox: install + @echo "--- Building: $@" + dh_testdir + dh_testroot + dh_installdirs + 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$@ + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + + +busybox-static: do_static + @echo "--- Building: $@" + dh_testdir + dh_testroot + dh_installdirs + dh_installdocs -p$@ docs/BusyBox.txt \ + docs/BusyBox.html docs/busybox.lineo.com AUTHORS README TODO + rm -rf $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/CVS \ + $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/.cvsignore \ + $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/images/CVS \ + $(bbs)/usr/share/doc/busybox-static/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$@ + dh_gencontrol -p$@ + dh_md5sums -p$@ + dh_builddeb -p$@ + + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install