Index: debian.master/rules |
diff --git a/debian.master/rules b/debian.master/rules |
new file mode 100755 |
index 0000000000000000000000000000000000000000..b1792ea38629d73d9d24728193650903711576f9 |
--- /dev/null |
+++ b/debian.master/rules |
@@ -0,0 +1,228 @@ |
+#!/usr/bin/make -f |
+# |
+# $(DEBIAN)/rules for Ubuntu linux |
+# |
+# Use this however you want, just give credit where credit is due. |
+# |
+# Copyright (c) 2007 Ben Collins <bcollins@ubuntu.com> |
+# |
+ |
+ifeq ($(DEBIAN),) |
+DEBIAN=debian.master |
+endif |
+ |
+# dpkg-buildpackage passes options that are incomptatible |
+# with the kernel build. |
+unexport CFLAGS |
+unexport LDFLAGS |
+ |
+# This is the debhelper compatability version to use. |
+export DH_COMPAT=4 |
+export LC_ALL=C |
+export SHELL=/bin/bash -e |
+ |
+# Common variables for all architectures |
+include $(DEBIAN)/rules.d/0-common-vars.mk |
+ |
+# Pull in some arch specific stuff |
+include $(DEBIAN)/rules.d/$(arch).mk |
+ |
+# Maintainer targets |
+include $(DEBIAN)/rules.d/1-maintainer.mk |
+ |
+# Debian Build System targets |
+binary: binary-indep binary-arch |
+ |
+build: build-arch build-indep |
+ |
+clean: debian/control |
+ dh_testdir |
+ dh_testroot |
+ dh_clean |
+ |
+ # d-i stuff |
+ rm -rf $(DEBIAN)/d-i-$(arch) |
+ |
+ # normal build junk |
+ rm -rf $(DEBIAN)/abi/$(release)-$(revision) |
+ rm -rf $(builddir) |
+ rm -f $(stampdir)/stamp-* |
+ rm -rf $(DEBIAN)/linux-* |
+ |
+ # This gets rid of the d-i packages in control |
+ cp -f $(DEBIAN)/control.stub $(DEBIAN)/control |
+ cp $(DEBIAN)/changelog debian/changelog |
+ |
+ # Install the copyright information. |
+ cp $(DEBIAN)/copyright debian/copyright |
+ |
+distclean: clean |
+ rm -rf debian.master/control debian.master/control.stub \ |
+ debian.master/d-i/kernel-versions debian/changelog \ |
+ debian/control debian/control.stub debian/copyright \ |
+ debian/debian.env |
+ |
+# Builds the image, arch headers and debug packages |
+include $(DEBIAN)/rules.d/2-binary-arch.mk |
+ |
+# Rules for building the udebs ($(DEBIAN)-installer) |
+include $(DEBIAN)/rules.d/5-udebs.mk |
+ |
+# Builds the source, doc and linux-headers indep packages |
+include $(DEBIAN)/rules.d/3-binary-indep.mk |
+ |
+# Various checks to be performed on builds |
+include $(DEBIAN)/rules.d/4-checks.mk |
+ |
+# Misc stuff |
+$(DEBIAN)/control.stub: $(DEBIAN)/d-i/kernel-versions.in \ |
+ $(DEBIAN)/scripts/control-create \ |
+ $(DEBIAN)/control.stub.in \ |
+ $(DEBIAN)/changelog \ |
+ $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) |
+ for i in $(DEBIAN)/d-i/kernel-versions.in $(DEBIAN)/control.stub.in; do \ |
+ new=`echo $$i | sed 's/\.in$$//'`; \ |
+ cat $$i | sed -e 's/PKGVER/$(release)/g' \ |
+ -e 's/ABINUM/$(abinum)/g' \ |
+ -e 's/SRCPKGNAME/$(src_pkg_name)/g' \ |
+ > $$new; \ |
+ done |
+ flavours="$(wildcard $(DEBIAN)/control.d/vars.* $(DEBIAN)/sub-flavours/*.vars)";\ |
+ for i in $$flavours; do \ |
+ $(SHELL) $(DEBIAN)/scripts/control-create $$i | \ |
+ sed -e 's/PKGVER/$(release)/g' \ |
+ -e 's/ABINUM/$(abinum)/g' \ |
+ -e 's/SRCPKGNAME/$(src_pkg_name)/g' \ |
+ >> $(DEBIAN)/control.stub; \ |
+ done |
+ cp $(DEBIAN)/control.stub $(DEBIAN)/control |
+ |
+.PHONY: debian/control |
+debian/control: $(DEBIAN)/control.stub |
+ rm -rf $(builddir)/modules $(builddir)/firmware \ |
+ $(builddir)/kernel-versions $(builddir)/package-list \ |
+ $(builddir)/$(DEBIAN) |
+ mkdir -p $(builddir)/modules/$(arch)/ |
+ cp $(DEBIAN)/d-i/modules/* $(builddir)/modules/$(arch)/ |
+ mkdir -p $(builddir)/firmware/$(arch)/ |
+ cp $(DEBIAN)/d-i/firmware/* $(builddir)/firmware/$(arch)/ |
+ cp $(DEBIAN)/d-i/package-list $(DEBIAN)/d-i/kernel-versions $(builddir)/ |
+ touch $(builddir)/modules/$(arch)/kernel-image |
+ # kernel-wedge needs to poke around in $(DEBIAN)/ |
+ ln -nsf $(CURDIR)/debian $(builddir)/debian |
+ |
+ # Some files may need to differ between architectures |
+ if [ -d $(DEBIAN)/d-i/modules-$(arch) ]; then \ |
+ cp $(DEBIAN)/d-i/modules-$(arch)/* \ |
+ $(builddir)/modules/$(arch)/; \ |
+ fi |
+ if [ -d $(DEBIAN)/d-i/firmware-$(arch) ]; then \ |
+ cp $(DEBIAN)/d-i/firmware-$(arch)/* \ |
+ $(builddir)/firmware/$(arch)/; \ |
+ fi |
+ |
+ # Remove unwanted stuff for this architecture |
+ if [ -r "$(DEBIAN)/d-i/exclude-modules.$(arch)" ]; then \ |
+ (cat $(DEBIAN)/d-i/exclude-modules.$(arch); \ |
+ ls $(builddir)/modules/$(arch)/) | sort | uniq -d | \ |
+ (cd $(builddir)/modules/$(arch)/; xargs rm -f); \ |
+ fi |
+ if [ -r "$(DEBIAN)/d-i/exclude-firmware.$(arch)" ]; then \ |
+ (cat $(DEBIAN)/d-i/exclude-firmware.$(arch); \ |
+ ls $(builddir)/firmware/$(arch)/) | sort | uniq -d | \ |
+ (cd $(builddir)/firmware/$(arch)/; xargs rm -f); \ |
+ fi |
+ |
+ # Per flavour module lists |
+ flavour_modules=`ls $(DEBIAN)/d-i/modules.$(arch)-* 2>/dev/null` \ |
+ || true; \ |
+ if [ "$$flavour_modules" != "" ]; then \ |
+ for flav in $$flavour_modules; do \ |
+ name=`echo $$flav | sed 's/.*\/modules.$(arch)-//'`; \ |
+ mkdir $(builddir)/modules/$(arch)-$$name; \ |
+ (cd $(builddir)/modules/; tar cf - `cat ../$$flav`) | \ |
+ (cd $(builddir)/modules/$(arch)-$$name/; tar xf -); \ |
+ touch $(builddir)/modules/$(arch)-$$name/kernel-image; \ |
+ done; \ |
+ fi |
+ flavour_firmware=`ls $(DEBIAN)/d-i/firmware.$(arch)-* 2>/dev/null` \ |
+ || true; \ |
+ if [ "$$flavour_firmware" != "" ]; then \ |
+ for flav in $$flavour_firmware; do \ |
+ name=`echo $$flav | sed 's/.*\/firmware.$(arch)-//'`; \ |
+ mkdir $(builddir)/firmware/$(arch)-$$name; \ |
+ (cd $(builddir)/firmware/; tar cf - `cat ../$$flav`) | \ |
+ (cd $(builddir)/firmware/$(arch)-$$name/; tar xf -);\ |
+ touch $(builddir)/firmware/$(arch)-$$name/kernel-image; \ |
+ done; \ |
+ fi |
+ |
+ # Some files may need to differ between flavours |
+ flavour_module_dirs=`ls -d $(DEBIAN)/d-i/modules-$(arch)-* 2>/dev/null`\ |
+ || true; \ |
+ if [ "$$flavour_module_dirs" ]; then \ |
+ for flav in $$flavour_module_dirs; do \ |
+ name=`echo $$flav | sed 's/.*\/modules-$(arch)-//'`; \ |
+ [ -d $(builddir)/modules/$(arch)-$$name ] || \ |
+ cp -a $(builddir)/modules/$(arch) \ |
+ modules/$(arch)-$$name; \ |
+ cp $$flav/* $(builddir)/modules/$(arch)-$$name/; \ |
+ done; \ |
+ fi |
+ flavour_firmware_dirs=`ls -d $(DEBIAN)/d-i/firmware-$(arch)-* 2>/dev/null`\ |
+ || true; \ |
+ if [ "$$flavour_firmware_dirs" ]; then \ |
+ for flav in $$flavour_firmware_dirs; do \ |
+ name=`echo $$flav | sed 's/.*\/firmware-$(arch)-//'`; \ |
+ [ -d $(builddir)/firmware/$(arch)-$$name ] || \ |
+ cp -a $(builddir)/firmware/$(arch) \ |
+ firmware/$(arch)-$$name; \ |
+ cp $$flav/* $(builddir)/firmware/$(arch)-$$name/; \ |
+ done; \ |
+ fi |
+ |
+ # Remove unwanted stuff for each flavour |
+ flavour_exclude=`ls $(DEBIAN)/d-i/exclude-modules.$(arch)-* 2>/dev/null`\ |
+ || true; \ |
+ if [ "$$flavour_exclude" ]; then \ |
+ for flav in $$flavour_exclude; do \ |
+ name=`echo $$flav | sed 's/.*\/exclude-modules.$(arch)-//'`;\ |
+ [ -d $(builddir)/modules/$(arch)-$$name ] || \ |
+ cp -a $(builddir)/modules/$(arch) \ |
+ $(builddir)/modules/$(arch)-$$name; \ |
+ (cat $$flav; \ |
+ ls $(builddir)/modules/$(arch)-$$name) | \ |
+ sort | uniq -d | \ |
+ (cd $(builddir)/modules/$(arch)-$$name/; \ |
+ xargs rm -f); \ |
+ done; \ |
+ fi |
+ flavour_exclude=`ls $(DEBIAN)/d-i/exclude-firmware.$(arch)-* 2>/dev/null`\ |
+ || true; \ |
+ if [ "$$flavour_exclude" ]; then \ |
+ for flav in $$flavour_exclude; do \ |
+ name=`echo $$flav | sed 's/.*\/exclude-firmware.$(arch)-//'`;\ |
+ [ -d $(builddir)/firmware/$(arch)-$$name ] || \ |
+ cp -a $(builddir)/firmware/$(arch) \ |
+ $(builddir)/firmware/$(arch)-$$name; \ |
+ (cat $$flav; \ |
+ ls $(builddir)/firmware/$(arch)-$$name) | \ |
+ sort | uniq -d | \ |
+ (cd $(builddir)/firmware/$(arch)-$$name/; \ |
+ xargs rm -f); \ |
+ done; \ |
+ fi |
+ |
+ if [ ! -d $(builddir)/modules/$(build_arch) ]; then \ |
+ mkdir -p $(builddir)/modules/$(build_arch); \ |
+ cp $(builddir)/modules/$(arch)/* \ |
+ $(builddir)/modules/$(build_arch); \ |
+ fi |
+ if [ ! -d $(builddir)/firmware/$(build_arch) ]; then \ |
+ mkdir -p $(builddir)/firmware/$(build_arch); \ |
+ cp $(builddir)/firmware/$(arch)/* \ |
+ $(builddir)/firmware/$(build_arch); \ |
+ fi |
+ |
+ cp $(DEBIAN)/control.stub debian/control.stub |
+ cd $(builddir) && kernel-wedge gen-control > $(CURDIR)/debian/control |