X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=debian%2Frules;h=e77b4ef96099c610b96df71a091fb8397808d408;hb=3efa51d9433f4e58f1bad28ac92a35dea86ca850;hp=5c2bcf20700c54b11a2b80a265d601875ce253b2;hpb=6fc6d7fe4fb4945b44389aa34ed1174bc4defd69;p=oweals%2Fbusybox.git diff --git a/debian/rules b/debian/rules index 5c2bcf207..e77b4ef96 100755 --- a/debian/rules +++ b/debian/rules @@ -3,127 +3,194 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -# This is the debhelper compatibility version to use. -export DH_COMPAT=3 +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) +DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM) VERSION = $(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2) -ARCH = $(shell dpkg --print-architecture) ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - DODEBUG = true + CONFIG_DEBUG = true endif -ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) - DODEBUG = true +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) endif -build-arch: build-arch-stamp -build-arch-stamp: +PACKAGE_PREFIX = busybox-cvs + +ARCH_FLOPPY_UDEB = $(shell sh debian/control-extract Architecture $(PACKAGE_PREFIX)-floppy-udeb) + +PACKAGES_DEB = $(PACKAGE_PREFIX) $(PACKAGE_PREFIX)-static +PACKAGES_UDEB = $(PACKAGE_PREFIX)-udeb +ifneq ($(filter $(DEB_HOST_ARCH),$(ARCH_FLOPPY_UDEB)),) +PACKAGES_UDEB += $(PACKAGE_PREFIX)-floppy-udeb +endif +PACKAGES = $(PACKAGES_DEB) $(PACKAGES_UDEB) + +DEBHELPER_PACKAGES_DEB = $(patsubst %,-p%,$(PACKAGES_DEB)) +DEBHELPER_PACKAGES_UDEB = $(patsubst %,-p%,$(PACKAGES_UDEB)) + +CONFIG = $(firstword $(wildcard ./debian/config-$(1)-$(DEB_HOST_GNU_SYSTEM)-$(DEB_HOST_GNU_CPU) ./debian/config-$(1)-$(DEB_HOST_GNU_SYSTEM) ./debian/config-$(1))) +CONFIG_DEB = $(call CONFIG,deb) +CONFIG_STATIC = $(call CONFIG,static) +CONFIG_UDEB = $(call CONFIG,udeb) +CONFIG_FLOPPY_UDEB = $(call CONFIG,floppy-udeb) + +configure: configure-stamp +configure-stamp: + sh ./configure + + touch $@ + +build-arch: build-arch-deb-all build-arch-udeb-all +build-arch-deb-all: build-arch-deb build-arch-static build-arch-doc +build-arch-udeb-all: build-arch-udeb build-arch-floppy-udeb + +build-arch-deb: build-arch-deb-stamp +build-arch-deb-stamp: configure-stamp $(MAKE) clean - cp ./debian/config-deb .config + + cp $(CONFIG_DEB) .config + $(MAKE) dep - $(MAKE) DODEBUG=$(DODEBUG) - install busybox busybox-deb + $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) + install -d install-$(PACKAGE_PREFIX)/bin + install busybox install-$(PACKAGE_PREFIX)/bin/busybox + + touch $@ + +build-arch-static: build-arch-static-stamp +build-arch-static-stamp: configure-stamp + $(MAKE) clean + + cp $(CONFIG_STATIC) .config + + $(MAKE) dep + $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) + + install -d install-$(PACKAGE_PREFIX)-static/bin + install busybox install-$(PACKAGE_PREFIX)-static/bin/busybox + + touch $@ + +build-arch-udeb: build-arch-udeb-stamp +build-arch-udeb-stamp: configure-stamp $(MAKE) clean - cp ./debian/config-static .config + + cp $(CONFIG_UDEB) .config + $(MAKE) dep - $(MAKE) DOSTATIC=true DODEBUG=$(DODEBUG) - install busybox busybox-static + $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) + + $(MAKE) PREFIX=$(CURDIR)/install-$(PACKAGE_PREFIX)-udeb install + # Remove init link, but init support is still compiled in to be + # used. + rm -f $(CURDIR)/install-$(PACKAGE_PREFIX)-udeb/sbin/init + + touch $@ +build-arch-floppy-udeb: build-arch-floppy-udeb-stamp +build-arch-floppy-udeb-stamp: configure-stamp +ifneq ($(filter $(DEB_HOST_ARCH),$(ARCH_FLOPPY_UDEB)),) $(MAKE) clean - cp ./debian/config-udeb .config + + cp $(CONFIG_FLOPPY_UDEB) .config + $(MAKE) dep - $(MAKE) DODEBUG=$(DODEBUG) + $(MAKE) CONFIG_DEBUG=$(CONFIG_DEBUG) - touch build-arch-stamp + $(MAKE) PREFIX=$(CURDIR)/install-$(PACKAGE_PREFIX)-floppy-udeb install +endif -build-indep: build-indep-stamp -build-indep-stamp: - $(MAKE) newdoc + touch $@ - touch build-indep-stamp +build-arch-doc: build-arch-doc-stamp +build-arch-doc-stamp: configure-stamp + $(MAKE) docs/BusyBox.1 -build: build-arch build-indep + cp docs/BusyBox.1 busybox.1 + + touch $@ + +build: build-arch clean: dh_testdir dh_testroot - rm -f build-arch-stamp build-indep-stamp + rm -f build-*-stamp configure-stamp debian/files~ - $(MAKE) distclean - -rm -f busybox-deb busybox-static + -$(MAKE) distclean + -rm -rf busybox-deb busybox-static install* busybox.1 dh_clean -install: build-arch +install-deb: build-arch-deb-all dh_testdir dh_testroot - dh_clean -k - dh_installdirs - - install busybox-deb $(CURDIR)/debian/busybox-cvs/bin/busybox - install busybox-static $(CURDIR)/debian/busybox-cvs-static/bin/busybox - $(MAKE) PREFIX=$(CURDIR)/debian/busybox-cvs-udeb install - -# Build architecture-independent files here. -# Pass -i to all debhelper commands in this target to reduce clutter. -binary-indep: build - dh_testdir -i - dh_testroot -i -# dh_installdebconf -i - dh_installdocs -i -# dh_installexamples -i -# dh_installmenu -i -# dh_installlogrotate -i -# dh_installemacsen -i -# dh_installpam -i -# dh_installmime -i -# dh_installinit -i -# dh_installcron -i -# dh_installman -i -# dh_installinfo -i -# dh_undocumented -i - dh_installchangelogs Changelog -i - dh_link -i - dh_compress -i - dh_fixperms -i - dh_installdeb -i -# dh_perl -i - dh_gencontrol -i - dh_md5sums -i - dh_builddeb -i + dh_clean -k $(DEBHELPER_PACKAGES_DEB) + dh_installdirs $(DEBHELPER_PACKAGES_DEB) + + for i in $(PACKAGES_DEB); do \ + ( \ + cd install-$$i; \ + find -type d -exec install -d $(CURDIR)/debian/$$i/{} \;; \ + find \( -type f -o -type l \) -exec cp -a {} $(CURDIR)/debian/$$i/{} \;; \ + ); \ + done + + install -m644 debian/$(PACKAGE_PREFIX)-static.override \ + debian/$(PACKAGE_PREFIX)-static/usr/share/lintian/overrides/$(PACKAGE_PREFIX)-static + +install-udeb: build-arch-udeb-all + dh_testdir + dh_testroot + dh_clean -k $(DEBHELPER_PACKAGES_UDEB) + dh_installdirs $(DEBHELPER_PACKAGES_UDEB) + + for i in $(PACKAGES_UDEB); do \ + ( \ + cd install-$$i; \ + find -type d -exec install -d $(CURDIR)/debian/$$i/{} \;; \ + find \( -type f -o -type l \) -exec cp -a {} $(CURDIR)/debian/$$i/{} \;; \ + ); \ + done + +binary-arch: binary-arch-deb binary-arch-udeb + +# Build architecture-dependent files here. +binary-arch-deb: build-arch-deb-all install-deb + dh_testdir + dh_testroot + dh_installdocs $(DEBHELPER_PACKAGES_DEB) + dh_installman $(DEBHELPER_PACKAGES_DEB) + dh_installchangelogs Changelog $(DEBHELPER_PACKAGES_DEB) + dh_strip $(DEBHELPER_PACKAGES_DEB) + dh_link $(DEBHELPER_PACKAGES_DEB) + dh_compress $(DEBHELPER_PACKAGES_DEB) + dh_fixperms $(DEBHELPER_PACKAGES_DEB) + dh_installdeb $(DEBHELPER_PACKAGES_DEB) + dh_shlibdeps $(DEBHELPER_PACKAGES_DEB) + dh_gencontrol $(DEBHELPER_PACKAGES_DEB) + dh_md5sums $(DEBHELPER_PACKAGES_DEB) + dh_builddeb $(DEBHELPER_PACKAGES_DEB) # Build architecture-dependent files here. -binary-arch: build-arch install - dh_testdir -a - dh_testroot -a -# dh_installdebconf -a - dh_installdocs -a -Nbusybox-cvs-udeb -# dh_installexamples -a -# dh_installmenu -a -# dh_installlogrotate -a -# dh_installemacsen -a -# dh_installpam -a -# dh_installmime -a -# dh_installinit -a -# dh_installcron -a -# dh_installman -a -# dh_installinfo -a -# dh_undocumented -a - dh_installchangelogs Changelog -a -Nbusybox-cvs-udeb - dh_strip -a - dh_link -a - dh_compress -a - dh_fixperms -a -# dh_makeshlibs -a - dh_installdeb -a -# dh_perl -a - dh_shlibdeps -a - dh_gencontrol -a - dh_md5sums -a -Nbusybox-cvs-udeb - dh_builddeb -a -Nbusybox-cvs-udeb - dpkg-distaddfile busybox-cvs-udeb-$(VERSION)_$(ARCH).udeb debian-installer optional - dh_builddeb -pbusybox-cvs-udeb --filename=busybox-cvs-udeb-$(VERSION)_$(ARCH).udeb - -binary: binary-indep binary-arch +binary-arch-udeb: build-arch-udeb-all install-udeb + dh_testdir + dh_testroot + dh_strip $(DEBHELPER_PACKAGES_UDEB) + dh_link $(DEBHELPER_PACKAGES_UDEB) + dh_compress $(DEBHELPER_PACKAGES_UDEB) + dh_fixperms $(DEBHELPER_PACKAGES_UDEB) + dh_installdeb $(DEBHELPER_PACKAGES_UDEB) + dh_shlibdeps $(DEBHELPER_PACKAGES_UDEB) + dh_gencontrol $(DEBHELPER_PACKAGES_DEB) + + $(foreach PACKAGE, $(PACKAGES_UDEB), \ + dh_gencontrol -p$(PACKAGE) -- -fdebian/files~; \ + dpkg-distaddfile $(PACKAGE)_$(VERSION)_$(DEB_HOST_ARCH).udeb debian-installer extra; \ + dh_builddeb -p$(PACKAGE) --filename=$(PACKAGE)_$(VERSION)_$(DEB_HOST_ARCH).udeb; \ + ) + +binary: binary-arch .PHONY: build clean binary-indep binary-arch binary install