Update for handling .udebs and building using a pristine source dir...

This commit is contained in:
Eric Andersen 2000-12-01 22:59:04 +00:00
parent 29be79c5f6
commit e73fda8311
5 changed files with 781 additions and 88 deletions

339
debian/Config.h-deb vendored Normal file
View File

@ -0,0 +1,339 @@
/* vi: set sw=4 ts=4: */
// 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.
//
//// This file is parsed by sed. You MUST use single line comments.
// i.e. //#define BB_BLAH
//
//
// BusyBox Applications
#define BB_AR
#define BB_BASENAME
#define BB_CAT
#define BB_CHMOD_CHOWN_CHGRP
#define BB_CHROOT
#define BB_CHVT
#define BB_CLEAR
#define BB_CMP
#define BB_CP_MV
#define BB_CUT
#define BB_DATE
#define BB_DC
#define BB_DD
#define BB_DEALLOCVT
#define BB_DF
#define BB_DIRNAME
#define BB_DMESG
#define BB_DOS2UNIX
#define BB_DUTMP
#define BB_DU
#define BB_DUMPKMAP
#define BB_ECHO
#define BB_EXPR
#define BB_FBSET
#define BB_FDFLUSH
#define BB_FIND
#define BB_FREE
#define BB_FREERAMDISK
#define BB_FSCK_MINIX
#define BB_GETOPT
#define BB_GREP
#define BB_GUNZIP
#define BB_GZIP
#define BB_HALT
#define BB_HEAD
#define BB_HOSTID
#define BB_HOSTNAME
#define BB_ID
#define BB_INIT
#define BB_INSMOD
#define BB_KILL
#define BB_KILLALL
#define BB_LENGTH
#define BB_LN
#define BB_LOADACM
#define BB_LOADFONT
#define BB_LOADKMAP
#define BB_LOGGER
#define BB_LOGNAME
#define BB_LS
#define BB_LSMOD
#define BB_MAKEDEVS
#define BB_MD5SUM
#define BB_MKDIR
#define BB_MKFIFO
#define BB_MKFS_MINIX
#define BB_MKNOD
#define BB_MKSWAP
#define BB_MKTEMP
#define BB_NC
#define BB_MORE
#define BB_MOUNT
#define BB_MT
#define BB_NSLOOKUP
#define BB_PING
#define BB_POWEROFF
#define BB_PRINTF
#define BB_PS
#define BB_PWD
#define BB_RDATE
#define BB_READLINK
#define BB_REBOOT
#define BB_RENICE
#define BB_RESET
#define BB_RM
#define BB_RMDIR
#define BB_RMMOD
#define BB_RPMUNPACK
#define BB_SED
#define BB_SETKEYCODES
#define BB_SH
#define BB_SLEEP
#define BB_SORT
#define BB_SWAPONOFF
#define BB_SYNC
#define BB_SYSLOGD
#define BB_TAIL
#define BB_TAR
#define BB_TEE
#define BB_TEST
#define BB_TELNET
#define BB_TOUCH
#define BB_TR
#define BB_TRUE_FALSE
#define BB_TTY
#define BB_UPTIME
#define BB_USLEEP
#define BB_WC
#define BB_WGET
#define BB_WHICH
#define BB_WHOAMI
#define BB_UUENCODE
#define BB_UUDECODE
#define BB_UMOUNT
#define BB_UNIQ
#define BB_UNAME
#define BB_UNIX2DOS
#define BB_UPDATE
#define BB_XARGS
#define BB_YES
// End of Applications List
//
//
//
// ---------------------------------------------------------
// This is where feature definitions go. Generally speaking,
// turning this stuff off makes things a bit smaller (and less
// pretty/useful).
//
//
//
// Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
// thereby eliminating the need for the /proc filesystem and thereby saving
// lots and lots memory for more important things. You can not use this and
// USE_PROCFS at the same time... NOTE: If you enable this feature, you
// _must_ have patched the kernel to include the devps patch that is included
// in the busybox/kernel-patches directory. You will also need to create some
// device special files in /dev on your embedded system:
// mknod /dev/mtab c 10 22
// mknod /dev/ps c 10 21
// I emailed Linus and this patch will not be going into the stock kernel.
//#define BB_FEATURE_USE_DEVPS_PATCH
//
// enable features that use the /proc filesystem (apps that
// break without this will tell you on compile)...
// You can't use this and BB_FEATURE_USE_DEVPS_PATCH
// at the same time...
#define BB_FEATURE_USE_PROCFS
//
// This compiles out everything but the most
// trivial --help usage information (i.e. reduces binary size)
//#define BB_FEATURE_TRIVIAL_HELP
//
// Use termios to manipulate the screen ('more' is prettier with this on)
#define BB_FEATURE_USE_TERMIOS
//
// calculate terminal & column widths (for more and ls)
#define BB_FEATURE_AUTOWIDTH
//
// show username/groupnames (bypasses libc6 NSS) for ls
#define BB_FEATURE_LS_USERNAME
//
// show file timestamps in ls
#define BB_FEATURE_LS_TIMESTAMPS
//
// enable ls -p and -F
#define BB_FEATURE_LS_FILETYPES
//
// sort the file names (still a bit buggy)
#define BB_FEATURE_LS_SORTFILES
//
// enable ls -R
#define BB_FEATURE_LS_RECURSIVE
//
// enable ls -L
#define BB_FEATURE_LS_FOLLOWLINKS
//
// Change ping implementation -- simplified, featureless, but really small.
//#define BB_FEATURE_SIMPLE_PING
//
// Make init use a simplified /etc/inittab file (recommended).
//#define BB_FEATURE_USE_INITTAB
//
//Enable init being called as /linuxrc
#define BB_FEATURE_LINUXRC
//
//Have init enable core dumping for child processes (for debugging only)
//#define BB_FEATURE_INIT_COREDUMPS
//
// Allow init to permenently chroot, and umount the old root fs
// just like an initrd does. Requires a kernel patch by Werner Almesberger.
// ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
//#define BB_FEATURE_INIT_CHROOT
//
//Make sure nothing is printed to the console on boot
//#define BB_FEATURE_EXTRA_QUIET
//
//Should syslogd also provide klogd support?
#define BB_FEATURE_KLOGD
//
// enable syslogd -R remotehost
#define BB_FEATURE_REMOTE_LOG
//
//Simple tail implementation (2.34k vs 3k for the full one).
//Both provide 'tail -f' support (only one file at a time.)
#define BB_FEATURE_SIMPLE_TAIL
//
// Enable support for loop devices in mount
#define BB_FEATURE_MOUNT_LOOP
//
// Enable support for a real /etc/mtab file instead of /proc/mounts
//#define BB_FEATURE_MOUNT_MTAB_SUPPORT
//
// Enable support for mounting remote NFS volumes
#define BB_FEATURE_NFSMOUNT
//
// Enable support forced filesystem unmounting
// (i.e. in case of an unreachable NFS system).
#define BB_FEATURE_MOUNT_FORCE
//
// Enable support for creation of tar files.
#define BB_FEATURE_TAR_CREATE
//
// Enable support for "--exclude" for excluding files
#define BB_FEATURE_TAR_EXCLUDE
//
//// Enable reverse sort
#define BB_FEATURE_SORT_REVERSE
//
// Enable command line editing in the shell
#define BB_FEATURE_SH_COMMAND_EDITING
//
//Allow the shell to invoke all the compiled in BusyBox commands as if they
//were shell builtins. Nice for staticly linking an emergency rescue shell
//among other thing.
#define BB_FEATURE_SH_STANDALONE_SHELL
//
//When this is enabled, busybox shell builtins can be called using full path
//names. This causes builtins (i.e. every single busybox command) to override
//real commands on the filesystem. For example, if you run run /bin/cat, it
//will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
//busybox. Some systems want this, others do not. Choose wisely. :-) This
//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
#define BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
//
// Enable tab completion in the shell (not yet
// working very well -- so don't turn this on)
//#define BB_FEATURE_SH_TAB_COMPLETION
//
//Turn on extra fbset options
//#define BB_FEATURE_FBSET_FANCY
//
//Turn on fbset readmode support
//#define BB_FEATURE_FBSET_READMODE
//
// You must enable one or both of these features
// Support installing modules from pre 2.1 kernels
//#define BB_FEATURE_INSMOD_OLD_KERNEL
// Support installing modules from kernel versions after 2.1.18
#define BB_FEATURE_INSMOD_NEW_KERNEL
//
// Support module version checking
//#define BB_FEATURE_INSMOD_VERSION_CHECKING
//
// Support for Minix filesystem, version 2
//#define BB_FEATURE_MINIX2
//
//
// Enable busybox --install [-s]
// to create links (or symlinks) for all the commands that are
// compiled into the binary. (needs /proc filesystem)
#define BB_FEATURE_INSTALLER
//
// Enable a nifty progress meter in wget (adds just under 2k)
#define BB_FEATURE_STATUSBAR
//
// Clean up all memory before exiting -- usually not needed
// as the OS can clean up... Don't enable this unless you
// have a really good reason for cleaning things up manually.
//#define BB_FEATURE_CLEAN_UP
//
// End of Features List
//
//
//
//
//
//
//---------------------------------------------------
// Nothing beyond this point should ever be touched by
// mere mortals so leave this stuff alone.
//
#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
#define BB_MTAB
#endif
//
#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
#define BB_CMDEDIT
#endif
//
#ifdef BB_KILLALL
#ifndef BB_KILL
#define BB_KILL
#endif
#endif
//
#ifdef BB_FEATURE_LINUXRC
#ifndef BB_INIT
#define BB_INIT
#endif
#define BB_LINUXRC
#endif
//
#ifdef BB_GZIP
#ifndef BB_GUNZIP
#define BB_GUNZIP
#endif
#endif
//
#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
#define BB_NFSMOUNT
#endif
//
#if defined BB_FEATURE_SH_COMMAND_EDITING
#ifndef BB_FEATURE_USE_TERMIOS
#define BB_FEATURE_USE_TERMIOS
#endif
#endif
//
#if defined BB_FEATURE_AUTOWIDTH
#ifndef BB_FEATURE_USE_TERMIOS
#define BB_FEATURE_USE_TERMIOS
#endif
#endif
//
#if defined BB_INSMOD
#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
#define BB_FEATURE_INSMOD_NEW_KERNEL
#endif
#endif

340
debian/Config.h-udeb vendored Normal file
View File

@ -0,0 +1,340 @@
/* vi: set sw=4 ts=4: */
// 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.
//
//// This file is parsed by sed. You MUST use single line comments.
// i.e. //#define BB_BLAH
//
//
// BusyBox Applications
#define BB_AR
#define BB_BASENAME
#define BB_CAT
#define BB_CHMOD_CHOWN_CHGRP
#define BB_CHROOT
//#define BB_CHVT
#define BB_CLEAR
//#define BB_CMP
#define BB_CP_MV
#define BB_CUT
#define BB_DATE
//#define BB_DC
#define BB_DD
//#define BB_DEALLOCVT
#define BB_DF
#define BB_DIRNAME
#define BB_DMESG
//#define BB_DOS2UNIX
//#define BB_DUTMP
#define BB_DU
//#define BB_DUMPKMAP
#define BB_ECHO
//#define BB_EXPR
#define BB_FBSET
//#define BB_FDFLUSH
#define BB_FIND
#define BB_FREE
#define BB_FREERAMDISK
//#define BB_FSCK_MINIX
//#define BB_GETOPT
#define BB_GREP
#define BB_GUNZIP
#define BB_GZIP
#define BB_HALT
#define BB_HEAD
#define BB_HOSTID
#define BB_HOSTNAME
#define BB_ID
#define BB_INIT
//#define BB_INSMOD
#define BB_KILL
#define BB_KILLALL
//#define BB_LENGTH
#define BB_LN
//#define BB_LOADACM
//#define BB_LOADFONT
//#define BB_LOADKMAP
#define BB_LOGGER
//#define BB_LOGNAME
#define BB_LS
//#define BB_LSMOD
//#define BB_MAKEDEVS
//#define BB_MD5SUM
#define BB_MKDIR
//#define BB_MKFIFO
//#define BB_MKFS_MINIX
#define BB_MKNOD
#define BB_MKSWAP
#define BB_MKTEMP
//#define BB_NC
#define BB_MORE
#define BB_MOUNT
//#define BB_MT
#define BB_NSLOOKUP
#define BB_PING
#define BB_POWEROFF
//#define BB_PRINTF
#define BB_PS
#define BB_PWD
//#define BB_RDATE
//#define BB_READLINK
#define BB_REBOOT
//#define BB_RENICE
#define BB_RESET
#define BB_RM
#define BB_RMDIR
//#define BB_RMMOD
//#define BB_RPMUNPACK
#define BB_SED
//#define BB_SETKEYCODES
//#define BB_SH
#define BB_SLEEP
//#define BB_SORT
#define BB_SWAPONOFF
#define BB_SYNC
#define BB_SYSLOGD
#define BB_TAIL
#define BB_TAR
//#define BB_TEE
//#define BB_TEST
//#define BB_TELNET
#define BB_TOUCH
//#define BB_TR
#define BB_TRUE_FALSE
//#define BB_TTY
#define BB_UPTIME
//#define BB_USLEEP
//#define BB_WC
#define BB_WGET
#define BB_WHICH
#define BB_WHOAMI
//#define BB_UUENCODE
//#define BB_UUDECODE
#define BB_UMOUNT
//#define BB_UNIQ
#define BB_UNAME
//#define BB_UNIX2DOS
//#define BB_UPDATE
#define BB_XARGS
#define BB_YES
// End of Applications List
//
//
//
// ---------------------------------------------------------
// This is where feature definitions go. Generally speaking,
// turning this stuff off makes things a bit smaller (and less
// pretty/useful).
//
//
//
// Turn this on to use Erik's very cool devps, and devmtab kernel drivers,
// thereby eliminating the need for the /proc filesystem and thereby saving
// lots and lots memory for more important things. You can not use this and
// USE_PROCFS at the same time... NOTE: If you enable this feature, you
// _must_ have patched the kernel to include the devps patch that is included
// in the busybox/kernel-patches directory. You will also need to create some
// device special files in /dev on your embedded system:
// mknod /dev/mtab c 10 22
// mknod /dev/ps c 10 21
// I emailed Linus and this patch will not be going into the stock kernel.
//#define BB_FEATURE_USE_DEVPS_PATCH
//
// enable features that use the /proc filesystem (apps that
// break without this will tell you on compile)...
// You can't use this and BB_FEATURE_USE_DEVPS_PATCH
// at the same time...
#define BB_FEATURE_USE_PROCFS
//
// This compiles out everything but the most
// trivial --help usage information (i.e. reduces binary size)
#define BB_FEATURE_TRIVIAL_HELP
//
// Use termios to manipulate the screen ('more' is prettier with this on)
#define BB_FEATURE_USE_TERMIOS
//
// calculate terminal & column widths (for more and ls)
#define BB_FEATURE_AUTOWIDTH
//
// show username/groupnames (bypasses libc6 NSS) for ls
#define BB_FEATURE_LS_USERNAME
//
// show file timestamps in ls
#define BB_FEATURE_LS_TIMESTAMPS
//
// enable ls -p and -F
#define BB_FEATURE_LS_FILETYPES
//
// sort the file names
#define BB_FEATURE_LS_SORTFILES
//
// enable ls -R
#define BB_FEATURE_LS_RECURSIVE
//
// enable ls -L
#define BB_FEATURE_LS_FOLLOWLINKS
//
// Change ping implementation -- simplified, featureless, but really small.
//#define BB_FEATURE_SIMPLE_PING
//
// Make init use a simplified /etc/inittab file (recommended).
#define BB_FEATURE_USE_INITTAB
//
//Enable init being called as /linuxrc
#define BB_FEATURE_LINUXRC
//
//Have init enable core dumping for child processes (for debugging only)
//#define BB_FEATURE_INIT_COREDUMPS
//
// Allow init to permenently chroot, and umount the old root fs
// just like an initrd does. Requires a kernel patch by Werner Almesberger.
// ftp://icaftp.epfl.ch/pub/people/almesber/misc/umount-root-*.tar.gz
//#define BB_FEATURE_INIT_CHROOT
//
//Make sure nothing is printed to the console on boot
//#define BB_FEATURE_EXTRA_QUIET
//
//Should syslogd also provide klogd support?
#define BB_FEATURE_KLOGD
//
// enable syslogd -R remotehost
//#define BB_FEATURE_REMOTE_LOG
//
//Simple tail implementation (2.34k vs 3k for the full one).
//Both provide 'tail -f' support (only one file at a time.)
#define BB_FEATURE_SIMPLE_TAIL
//
// Enable support for loop devices in mount
#define BB_FEATURE_MOUNT_LOOP
//
// Enable support for a real /etc/mtab file instead of /proc/mounts
//#define BB_FEATURE_MOUNT_MTAB_SUPPORT
//
// Enable support for mounting remote NFS volumes.
// You may no -o nolock if no local portmapper is running.
#define BB_FEATURE_NFSMOUNT
//
// Enable support forced filesystem unmounting
// (i.e. in case of an unreachable NFS system).
#define BB_FEATURE_MOUNT_FORCE
//
// Enable support for creation of tar files.
//#define BB_FEATURE_TAR_CREATE
//
// Enable support for "--exclude" for excluding files
//#define BB_FEATURE_TAR_EXCLUDE
//
//// Enable reverse sort
//#define BB_FEATURE_SORT_REVERSE
//
// Enable command line editing in the shell
//#define BB_FEATURE_SH_COMMAND_EDITING
//
//Allow the shell to invoke all the compiled in BusyBox commands as if they
//were shell builtins. Nice for staticly linking an emergency rescue shell
//among other thing.
//#define BB_FEATURE_SH_STANDALONE_SHELL
//
//When this is enabled, busybox shell builtins can be called using full path
//names. This causes builtins (i.e. every single busybox command) to override
//real commands on the filesystem. For example, if you run run /bin/cat, it
//will use BusyBox cat even if /bin/cat exists on the filesystem and is _not_
//busybox. Some systems want this, others do not. Choose wisely. :-) This
//only has meaning when BB_FEATURE_SH_STANDALONE_SHELL is enabled.
//#define BB_FEATURE_SH_BUILTINS_ALWAYS_WIN
//
// Enable tab completion in the shell (not yet
// working very well -- so don't turn this on)
//#define BB_FEATURE_SH_TAB_COMPLETION
//
//Turn on extra fbset options
//#define BB_FEATURE_FBSET_FANCY
//
//Turn on fbset readmode support
//#define BB_FEATURE_FBSET_READMODE
//
// You must enable one or both of these features
// Support installing modules from pre 2.1 kernels
//#define BB_FEATURE_INSMOD_OLD_KERNEL
// Support installing modules from kernel versions after 2.1.18
//#define BB_FEATURE_INSMOD_NEW_KERNEL
//
// Support module version checking
//#define BB_FEATURE_INSMOD_VERSION_CHECKING
//
// Support for Minix filesystem, version 2
//#define BB_FEATURE_MINIX2
//
//
// Enable busybox --install [-s]
// to create links (or symlinks) for all the commands that are
// compiled into the binary. (needs /proc filesystem)
//#define BB_FEATURE_INSTALLER
//
// Enable a nifty progress meter in wget (adds just under 2k)
#define BB_FEATURE_STATUSBAR
//
// Clean up all memory before exiting -- usually not needed
// as the OS can clean up... Don't enable this unless you
// have a really good reason for cleaning things up manually.
//#define BB_FEATURE_CLEAN_UP
//
// End of Features List
//
//
//
//
//
//
//---------------------------------------------------
// Nothing beyond this point should ever be touched by
// mere mortals so leave this stuff alone.
//
#ifdef BB_FEATURE_MOUNT_MTAB_SUPPORT
#define BB_MTAB
#endif
//
#if defined BB_FEATURE_SH_COMMAND_EDITING && defined BB_SH
#define BB_CMDEDIT
#endif
//
#ifdef BB_KILLALL
#ifndef BB_KILL
#define BB_KILL
#endif
#endif
//
#ifdef BB_FEATURE_LINUXRC
#ifndef BB_INIT
#define BB_INIT
#endif
#define BB_LINUXRC
#endif
//
#ifdef BB_GZIP
#ifndef BB_GUNZIP
#define BB_GUNZIP
#endif
#endif
//
#if defined BB_MOUNT && defined BB_FEATURE_NFSMOUNT
#define BB_NFSMOUNT
#endif
//
#if defined BB_FEATURE_SH_COMMAND_EDITING
#ifndef BB_FEATURE_USE_TERMIOS
#define BB_FEATURE_USE_TERMIOS
#endif
#endif
//
#if defined BB_FEATURE_AUTOWIDTH
#ifndef BB_FEATURE_USE_TERMIOS
#define BB_FEATURE_USE_TERMIOS
#endif
#endif
//
#if defined BB_INSMOD
#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
#define BB_FEATURE_INSMOD_NEW_KERNEL
#endif
#endif

8
debian/changelog vendored
View File

@ -1,10 +1,12 @@
busybox (0.48pre-1) unstable; urgency=low busybox (0.48pre-1) unstable; urgency=low
* Non-release. * Now includes .udeb support for the debian-installer -- note that this
is not really a released version of BusyBox (though the code is quite
solid). I'm just getting the .udeb support out there to facilitate
further work on the debian-installer.
* See changelog for details. * 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 -- Erik Andersen <andersee@debian.org> Fri, 1 Dec 2000 15:39:30 -0700
busybox (0.47-1) unstable; urgency=low busybox (0.47-1) unstable; urgency=low

9
debian/control vendored
View File

@ -48,7 +48,7 @@ Package: busybox-udeb
Architecture: any Architecture: any
Depends: ${shlibs:Depends} Depends: ${shlibs:Depends}
Section: debian-installer Section: debian-installer
Description: Tiny utilities for the debian-installer and for embedded systems. Description: Tiny utilities for the debian-installer
BusyBox combines tiny versions of many common UNIX utilities into a single BusyBox combines tiny versions of many common UNIX utilities into a single
small executable. It provides minimalist replacements for the most common small executable. It provides minimalist replacements for the most common
utilities you would usually find on your desktop system (i.e. ls, cp, mv, utilities you would usually find on your desktop system (i.e. ls, cp, mv,
@ -57,8 +57,7 @@ Description: Tiny utilities for the debian-installer and for embedded systems.
provide the expected functionality and behave very much like their GNU provide the expected functionality and behave very much like their GNU
counterparts. counterparts.
. .
BusyBox is used by the debian-installer. Installing BusyBox onto your Debian busybox-udeb is used by the debian-installer, so unless you are working
system is not recommended, unless you are intended to make a very small on the debian-installer, this package is not for you. Installing this
embedded system. Chances are good that for embedded systems, you will want to on your Debian system is a very, very bad idea. You have been warned.
recompile to only include the tools and utilities you wish to include.

173
debian/rules vendored
View File

@ -1,61 +1,60 @@
#!/usr/bin/make -f #!/usr/bin/make -f
# This is a bit unusual, in that I have to completely recompile everything # 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 each package I build (obviously static and dynamic builds require
# for the statically linked package. This file has been adjusted accordingly. # things to be recompiled...)
# This is the debhelper compatability version to use. # This is the debhelper compatability version to use.
export DH_COMPAT=1 #export DH_COMPAT=1
bbbd=debian/busybox_builddir
bb=debian/tmp bb=debian/tmp
bbbd=debian/bb_builddir bbsbd=debian/busybox_static_builddir
bbs=debian/busybox-static bbs=debian/busybox-static
bbsbd=debian/bb-static_builddir bbubd=debian/busybox_udeb_builddir
bbu=debian/busybox-udeb
#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: clean:
dh_testdir dh_testdir
dh_testroot dh_testroot
rm -f build-stamp-busybox build-stamp-busybox-static rm -f debian/build-stamp-busybox debian/build-stamp-busybox-static debian/build-stamp-busybox-udeb
-$(MAKE) clean -$(MAKE) clean
-rm -rf $(bb) $(bbbd) $(bbs) $(bbsbd) -rm -rf $(bb) $(bbbd) $(bbs) $(bbsbd) $(bbubd) $(bbu)
dh_clean dh_clean
half_clean: build: debian/build-stamp-busybox
dh_testdir debian/build-stamp-busybox:
dh_testroot
rm -rf $(bbs) build-stamp-busybox-static
-$(MAKE) clean
build: build-stamp-busybox
build-stamp-busybox:
dh_testdir dh_testdir
mkdir -p $(bbbd) mkdir -p $(bbbd)
cp Makefile Config.h $(bbbd) cp Makefile $(bbbd)
cp debian/Config.h-deb $(bbbd)/Config.h
(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../") (cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../")
touch build-stamp-busybox touch debian/build-stamp-busybox
install: build install: build
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_clean -k dh_clean -k
dh_installdirs dh_installdirs
(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bb)" install) # Do not run 'make install', since we do not want all the symlinks.
# This just installes the busybox binary...
#(cd $(bbbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bb)" install)
mkdir -p $(bb)/bin/
cp $(bbbd)/busybox $(bb)/bin/busybox
mkdir -p $(bb)/usr/share/doc/busybox/busybox.lineo.com
cp $(bbbd)/docs/busybox.lineo.com/BusyBox.html $(bb)/usr/share/doc/busybox/busybox.lineo.com/
mkdir -p $(bb)/usr/share/man/man1 mkdir -p $(bb)/usr/share/man/man1
cp docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1 cp $(bbbd)/docs/BusyBox.1 $(bb)/usr/share/man/man1/busybox.1
# Now for the statically linked stuff # Now for the statically linked stuff
build-static: build-stamp-busybox-static build-static: debian/build-stamp-busybox-static
build-stamp-busybox-static: debian/build-stamp-busybox-static:
dh_testdir dh_testdir
$(MAKE) DOSTATIC=true mkdir -p $(bbsbd)
touch build-stamp-busybox-static cp Makefile $(bbsbd)
cp debian/Config.h-deb $(bbsbd)/Config.h
(cd $(bbsbd); $(MAKE) DOSTATIC=true "BB_SRC_DIR=../../")
touch debian/build-stamp-busybox-static
install-static: build install-static: build
dh_testdir dh_testdir
@ -64,15 +63,59 @@ install-static: build
dh_installdirs dh_installdirs
# Do not run 'make install', since we do not want all the symlinks. # Do not run 'make install', since we do not want all the symlinks.
# This just installes the busybox binary... # This just installes the busybox binary...
#$(MAKE) "PREFIX=$(bbs)" install #(cd $(bbsbd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bbs)" install)
mkdir -p $(bbs)/bin/ mkdir -p $(bbs)/bin/
cp busybox $(bbs)/bin/busybox cp $(bbsbd)/busybox $(bbs)/bin/busybox
mkdir -p $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com
cp $(bbsbd)/docs/busybox.lineo.com/BusyBox.html $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/
mkdir -p $(bbs)/usr/share/man/man1/ mkdir -p $(bbs)/usr/share/man/man1/
cp docs/BusyBox.1 $(bbs)/usr/share/man/man1/busybox.1 cp $(bbsbd)/docs/BusyBox.1 $(bbs)/usr/share/man/man1/busybox.1
half_clean:
dh_testdir
dh_testroot
rm -rf $(bbs) debian/build-stamp-busybox-static
-$(MAKE) clean
do_static: half_clean build-static install-static do_static: half_clean build-static install-static
# Now for the .udeb stuff
PACKAGE=busybox
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)
build-udeb: debian/build-stamp-busybox-udeb
debian/build-stamp-busybox-udeb:
dh_testdir
mkdir -p $(bbubd)
cp Makefile $(bbubd)
cp debian/Config.h-udeb $(bbubd)/Config.h
(cd $(bbubd); $(MAKE) "BB_SRC_DIR=../../")
touch debian/build-stamp-busybox-udeb
install-udeb: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
(cd $(bbubd); $(MAKE) "BB_SRC_DIR=../../" "PREFIX=../../$(bbu)" install)
mkdir -p $(bbu)/usr/share/man/man1/
cp $(bbubd)/docs/BusyBox.1 $(bbu)/usr/share/man/man1/busybox.1
three_quarter_clean:
dh_testdir
dh_testroot
rm -rf $(bbu) debian/build-stamp-busybox-udeb
-$(MAKE) clean
do_udeb: three_quarter_clean build-udeb install-udeb
# Build architecture-independent files here. # Build architecture-independent files here.
binary-indep: binary-indep:
# We have nothing to do by default. # We have nothing to do by default.
@ -85,30 +128,18 @@ busybox: install
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_installdirs dh_installdirs
# dh_installdocs -p$@ $(bbbd)/docs/BusyBox.txt \
#Note that for busybox, we do not install any docs, $(bbbd)/docs/BusyBox.html docs/style-guide.txt \
# or man apges or anything else. This is in blatent violation of every docs/busybox.lineo.com AUTHORS README TODO
# Debian policy out there, since this package is intended to be used rm -rf `find $(bb) -name CVS`
# _only_ by the debian-installer. rm -f `find $(bb) -name .cvsignore`
# dh_installchangelogs -p$@ Changelog
#dh_installdocs -p$@ docs/BusyBox.txt \ dh_undocumented -p$@
# 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_strip -p$@
dh_compress -p$@ dh_compress -p$@
dh_fixperms -p$@ dh_fixperms -p$@
dh_installdeb -p$@ dh_installdeb -p$@
dh_shlibdeps -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$@ dh_gencontrol -p$@
dh_md5sums -p$@ dh_md5sums -p$@
dh_builddeb -p$@ dh_builddeb -p$@
@ -119,14 +150,13 @@ busybox-static: do_static
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_installdirs dh_installdirs
dh_installdocs -p$@ docs/BusyBox.txt \ dh_installdocs -p$@ $(bbsbd)/docs/BusyBox.txt \
docs/BusyBox.html docs/busybox.lineo.com AUTHORS README TODO $(bbsbd)/docs/BusyBox.html docs/style-guide.txt \
rm -rf $(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/CVS \ docs/busybox.lineo.com AUTHORS README TODO
$(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/.cvsignore \ rm -rf `find $(bbs) -name CVS`
$(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/images/CVS \ rm -f `find $(bbs) -name .cvsignore`
$(bbs)/usr/share/doc/busybox-static/busybox.lineo.com/images/.cvsignore
dh_undocumented -p$@
dh_installchangelogs -p$@ Changelog dh_installchangelogs -p$@ Changelog
dh_undocumented -p$@
dh_strip -p$@ dh_strip -p$@
dh_compress -p$@ dh_compress -p$@
dh_fixperms -p$@ dh_fixperms -p$@
@ -139,38 +169,21 @@ busybox-static: do_static
# Note that this builds a .udeb, which is not policy compliant or anything. # Note that this builds a .udeb, which is not policy compliant or anything.
# #
busybox-udeb: install busybox-udeb: do_udeb
@echo "--- Building: $@" @echo "--- Building: $@"
dh_testdir dh_testdir
dh_testroot dh_testroot
dh_installdirs 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_strip -p$@
dh_compress -p$@ dh_compress -p$@
dh_fixperms -p$@ dh_fixperms -p$@
dh_installdeb -p$@ dh_installdeb -p$@
dh_shlibdeps -p$@ dh_shlibdeps -p$@
#
#Make _very_ sure there are no docs lurking about. #Make _very_ sure there are no docs lurking about.
# rm -rf $(bbu)/usr/share/man
rm -rf $(bb)/usr/share/doc #dh_gencontrol -p$@
rm -rf $(bb)/usr/share/man
dh_gencontrol -p$@
# Don't write your stupid guesses to debian/files. # Don't write your stupid guesses to debian/files.
#dh_gencontrol -p$@ -- -fdebian/files~ dh_gencontrol -p$@ -- -fdebian/files~
# Register file manually. # Register file manually.
dpkg-distaddfile $(FILENAME) debian-installer $(PRIORITY) dpkg-distaddfile $(FILENAME) debian-installer $(PRIORITY)
dh_md5sums -p$@ dh_md5sums -p$@