The linux-patch-debian packages have been broken for a while and will no longer be built. But it seems to me that we should be packaging featureset patches in some easily usable way for those who want to build custom configurations. Here's a patch that would add them to the linux-source packages. (This conflicts with the other patch I just sent for converting to a version 3.0 package, but that's fairly easily resolvable.) Does this seem reasonable? Incidentally, should we switch compression for the packaged files from bzip2 to xz? Index: debian/templates/control.source.in =================================================================== --- debian/templates/control.source.in (revision 19077) +++ debian/templates/control.source.in (working copy) @@ -3,7 +3,7 @@ Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org> Uploaders: Bastian Blank <waldi@debian.org>, Frederik Schüler <fs@debian.org>, maximilian attems <maks@debian.org>, Ben Hutchings <ben@decadent.org.uk> Standards-Version: 3.9.2 -Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.6.6-3~), lzma [armel], kernel-wedge (>= 2.83), quilt +Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.6.6-3~), lzma [armel], kernel-wedge (>= 2.83), quilt, patchutils Build-Depends-Indep: bzip2, xmlto Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/trunk/linux/ Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/ Index: debian/lib/python/debian_linux/gencontrol.py =================================================================== --- debian/lib/python/debian_linux/gencontrol.py (revision 19075) +++ debian/lib/python/debian_linux/gencontrol.py (working copy) @@ -114,6 +114,8 @@ pass def do_main_makefile(self, makefile, makeflags, extra): + makeflags = makeflags.copy() + makeflags['ALL_FEATURESETS'] = ' '.join(self.config['base', ]['featuresets']) makefile.add('binary-indep', cmds=["$(MAKE) -f debian/rules.real binary-indep %s" % makeflags]) def do_main_packages(self, packages, vars, makeflags, extra): Index: debian/rules.real =================================================================== --- debian/rules.real (revision 19077) +++ debian/rules.real (working copy) @@ -69,6 +69,15 @@ cd '$(BUILD_DIR)'; tar -cjf 'linux-source-$(UPSTREAMVERSION).tar.bz2' 'linux-source-$(UPSTREAMVERSION)' rm -rf '$(DIR)' +$(BUILD_DIR)/linux-patch-$(UPSTREAMVERSION)-%.patch.bz2: $(STAMPS_DIR)/source_% + set -o pipefail; \ + (cd '$(BUILD_DIR)'; \ + diff -urN -p -x debian -x .pc -x .svk -x .svn source source_$* || \ + test $$? -eq 1) | \ + filterdiff --remove-timestamps --strip=1 --addoldprefix=a/ --addnewprefix=b/ | \ + bzip2 -c >$@ || \ + (rm -f $@; exit 1) + define patch_cmd cd '$(DIR)' && QUILT_PATCHES='$(CURDIR)/debian/patches' QUILT_SERIES=series-$(1) quilt push --quiltrc - -a -q --fuzz=1 endef @@ -82,18 +91,19 @@ $(call patch_cmd,all) @$(stamp) -$(STAMPS_DIR)/source_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source -$(STAMPS_DIR)/source_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(FEATURESET) -$(STAMPS_DIR)/source_$(FEATURESET): $(STAMPS_DIR)/source +$(STAMPS_DIR)/source_%: SOURCE_DIR=$(BUILD_DIR)/source +$(STAMPS_DIR)/source_%: DIR=$(BUILD_DIR)/source_$* +$(STAMPS_DIR)/source_%: SOURCE_DIR=$(BUILD_DIR)/source +$(STAMPS_DIR)/source_%: $(STAMPS_DIR)/source rm -rf '$(DIR)' -ifeq ($(FEATURESET),none) - ln -s source '$(DIR)' -else cp -al '$(SOURCE_DIR)' '$(DIR)' rm -rf '$(DIR)/.pc' - $(call patch_cmd,$(FEATURESET)) -endif + $(call patch_cmd,$*) @$(stamp) +$(STAMPS_DIR)/source_none: $(STAMPS_DIR)/source + rm -f '$(DIR)' + ln -s source '$(DIR)' + @$(stamp) $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): CONFIG=$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR) $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR=$(BUILD_DIR)/source_$(FEATURESET) @@ -477,10 +487,10 @@ dh_builddeb install-source: DH_OPTIONS = -plinux-source-$(VERSION) -install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2 +install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2 $(foreach FEATURESET,$(filter-out none,$(ALL_FEATURESETS)),$(BUILD_DIR)/linux-patch-$(UPSTREAMVERSION)-$(FEATURESET).patch.bz2) dh_testdir dh_testroot - dh_install '$<' /usr/src + dh_install '$^' /usr/src +$(MAKE_SELF) install-base # vim: filetype=make --- END --- -- Ben Hutchings It is impossible to make anything foolproof because fools are so ingenious.
Attachment:
signature.asc
Description: This is a digitally signed message part