r2552 - trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian

Sven Luther luther@costa.debian.org
Thu, 24 Feb 2005 14:52:04 +0100


Author: luther
Date: 2005-02-24 14:52:03 +0100 (Thu, 24 Feb 2005)
New Revision: 2552

Removed:
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-dummy.m4
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-image.m4
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-official.m4
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control.stub
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3-smp
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4-smp
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc-smp
Modified:
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavours
   trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/rules
Log:
Another milestone in the build of a common powerpc 2.4.27 package.


Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-dummy.m4
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-dummy.m4	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-dummy.m4	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,21 +0,0 @@
-Source: kernel-patch-powerpc-M4KERNEL
-Section: devel
-Priority: optional
-Maintainer: Jens Schmalzing <jensen@debian.org>
-Uploaders: Jens Schmalzing <jensen@debian.org>, Sven Luther <luther@debian.org>
-Standards-Version: 3.6.1
-
-Package: kernel-image-M4KERNEL-M4FLAVOUR
-Architecture: powerpc
-Section: base
-Provides: kernel-image, kernel-image-2.6
-Depends: initrd-tools, coreutils | fileutils (>=4.0)
-Description: intermediate Linux kernel binary image for M4KERNEL-M4FLAVOUR
- .
- This package contains the Linux kernel for version M4KERNEL-M4FLAVOUR,
- the corresponding System.map file, and the modules built by the packager.
- .
- It is created during the build of other PowerPC kernel-image packages
- for the sole purpose of being unpacked immediately afterwars and its
- contents redistributed.  Therefore, you should never encounter this
- package in the wild.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-image.m4
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-image.m4	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-image.m4	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,18 +0,0 @@
-
-Package: kernel-build-M4KERNEL-M4FLAVOUR
-Architecture: powerpc
-Depends: kernel-headers-M4KERNEL
-Description: build infrastructure for kernel version M4KERNEL-M4FLAVOUR
- .
- Together with kernel-headers-M4KERNEL, this package provides the
- infrastructure for building additional modules for M4KERNEL-M4FLAVOUR.
-
-Package: kernel-image-M4KERNEL-M4FLAVOUR
-Section: base
-Architecture: powerpc
-Depends: initrd-tools (>= 0.1.65), module-init-tools
-Recommends: hotplug
-Provides: kernel-image, kernel-image-2.6
-Description: Linux kernel image for M4KERNEL-M4FLAVOUR
- .
- This package contains the Linux kernel for version M4KERNEL-M4FLAVOUR.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-official.m4
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-official.m4	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control-official.m4	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,10 +0,0 @@
-
-Package: kernel-image-M4FLAVOUR
-Section: base
-Architecture: powerpc
-Depends: kernel-image-M4KERNEL-M4FLAVOUR
-Description: Linux kernel image for M4FLAVOUR
- .
- This is a dummy package that will always depend on the latest release
- of the kernel-image package for M4FLAVOUR.
-

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control.stub
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control.stub	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/control.stub	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,23 +0,0 @@
-Source: kernel-patch-powerpc-M4KERNEL
-Section: devel
-Priority: optional
-Build-Depends: debhelper (>=4), bzip2, kernel-package, kernel-tree-M4KERNEL, m4
-Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
-Uploaders: Jens Schmalzing <jensen@debian.org>, Sven Luther <luther@debian.org>
-Standards-Version: 3.6.1
-
-Package: kernel-patch-powerpc-M4KERNEL
-Architecture: all
-Suggests: kernel-tree-M4KERNEL
-Description: improved PowerPC support for the Linux kernel
- .
- This package collects a number of patches that improve the Linux
- kernel's support for the PowerPC architecture in general.  It is
- mainly used to build the official Debian kernel packages, but you
- can also use it as a starting point for custom-built kernels.
-
-Package: kernel-headers-M4KERNEL
-Architecture: powerpc
-Description: header files for the Linux kernel version M4KERNEL
- .
- This package provides kernel headers files for M4KERNEL.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,2 +0,0 @@
- It is intended to be run on PowerPC machines with a single Power3
- processor.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3-smp
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3-smp	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power3-smp	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,2 +0,0 @@
- It is intended to be run on PowerPC machines with two or more
- Power3 processors, like some IBM RS/6000 boxen.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,2 +0,0 @@
- It is intended to be run on PowerPC machines with a single Power4
- processor, the most prominent example being the G5 PowerMac by Apple.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4-smp
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4-smp	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-power4-smp	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,4 +0,0 @@
- It is intended to be run on PowerPC machines with two or more Power4
- processors.  This setup can be found in Apple's dual G5 PowerMacs, as
- well as in a number of IBM RS/6000 boxen, such as the iSeries and
- pSeries machines.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,2 +0,0 @@
- It is intended to be run on single-processor PowerPC machines,
- including all G3 and G4 models by Apple, as well as older PowerMacs.

Deleted: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc-smp
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc-smp	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavour-powerpc-smp	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,2 +0,0 @@
- It is intended to be run on most dual-processor PowerPC machines,
- most notably the Dual G4 PowerMacs by Apple.

Modified: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavours
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavours	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/flavours	2005-02-24 13:52:03 UTC (rev 2552)
@@ -1,5 +1,4 @@
 # This file contains the arches, subarches and flavours we are handling.
 archs: powerpc
 subarchs powerpc: apus nubus powerpc
-flavours powerpc: powerpc powerpc-smp powerpc-small power3 power4
-
+flavours powerpc: powerpc powerpc-smp powerpc-small

Modified: trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/rules
===================================================================
--- trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/rules	2005-02-24 13:50:21 UTC (rev 2551)
+++ trunk/kernel-2.4/powerpc/branch/kernel-patch-powerpc-2.4.27/debian/rules	2005-02-24 13:52:03 UTC (rev 2552)
@@ -8,9 +8,6 @@
 # debhelper compatibility version
 export DH_COMPAT=4
 
-# set to Yes if we are going to generate the metapackages.
-OFFICIAL_VERSION = No
-
 # set the build architecture if necessary
 DEB_HOST_ARCH ?= $(shell dpkg --print-architecture)
 
@@ -26,7 +23,7 @@
 version	:= $(shell head -1 debian/changelog | sed 's/^.*(\(.*\)).*$$/\1/')
 
 # some files in debian/ get version numbers and stuff updated on the fly
-M4 = m4 -DM4VERSION="$(version)" -DM4KERNEL="$(kernel)" -DM4FLAVOUR="$(flavour)"
+M4 = m4 -DM4VERSION="$(version)" -DM4KERNEL="$(kernel)" -DM4ARCH="$(arch)" -DM4SUBARCH="$(subarch)" -DM4FLAVOUR="$(flavour)"
 debian/%: debian/%.m4
 	$(M4) $< > $@
 
@@ -39,17 +36,24 @@
 KSOURCE	 = $(TMP)/kernel-source-$(kernel)
 KSUBARCH = $(TMP)/kernel-source-$(kernel)-$(subarch)
 KFLAVOUR = $(TMP)/kernel-source-$(kernel)-$(subarch)-$(flavour)
+KDUMMYSA   = $(TMP)/kernel-image-$(kernel)-$(subarch)_$(version)_powerpc.deb
 KDUMMY   = $(TMP)/kernel-image-$(kernel)-$(flavour)_$(version)_powerpc.deb
 KHEADERS = $(TMP)/kernel-headers-$(kernel)_$(version)_powerpc.deb
 
 # install locations
-KPATCH    = $(CURDIR)/debian/kernel-patch-powerpc-$(kernel)/usr/src/kernel-patches/powerpc/$(kernel)
+KPATCH    = $(CURDIR)/debian/kernel-patch-powerpc-$(subarch)/usr/src/kernel-patches/powerpc/$(version)-$(subarch)
 KBUILD    = $(CURDIR)/debian/kernel-build-$(kernel)-$(flavour)
+KBUILDSA    = $(CURDIR)/debian/kernel-build-$(kernel)-$(subarch)
 KBUILDDOC = $(KBUILD)/usr/share/doc/kernel-build-$(kernel)-$(flavour)
+KBUILDDOCSA = $(KBUILD)/usr/share/doc/kernel-build-$(kernel)-$(subarch)
 KSRC      = $(KBUILD)/usr/src/kernel-build-$(kernel)-$(flavour)
+KSRCSA      = $(KBUILD)/usr/src/kernel-build-$(kernel)-$(subarch)
 KIMAGE    = $(CURDIR)/debian/kernel-image-$(kernel)-$(flavour)
+KIMAGESA  = $(CURDIR)/debian/kernel-image-$(kernel)-$(subarch)
 KIMAGEDOC = $(KIMAGE)/usr/share/doc/kernel-image-$(kernel)-$(flavour)
+KIMAGEDOCSA = $(KIMAGE)/usr/share/doc/kernel-image-$(kernel)-$(subarch)
 KLIB      = $(KIMAGE)/usr/lib/kernel-image-$(kernel)-$(flavour)
+KLIBSA      = $(KIMAGE)/usr/lib/kernel-image-$(kernel)-$(subarch)
 
 # environment for make-kpkg
 export APPEND_TO_VERSION=-$(flavour)
@@ -73,19 +77,18 @@
 # process after the loop.
 
 stamp-configure: \
-stamp-configure-$(arch) \
+stamp-configure-arch-$(arch) \
 $(foreach subarch,$(subarchs),stamp-configure-subarch-$(subarch))
 	touch $@
 
 # Per arch configure processing.
 # We unpack the main kernel-source tree and prepare it for our needs.
-stamp-configure-$(arch):
+stamp-configure-arch-$(arch):
 	test -d $(dir $(KSOURCE)) || mkdir -p $(dir $(KSOURCE))
 	tar jxCf $(dir $(KSOURCE)) /usr/src/kernel-source-$(kernel).tar.bz2
 	cd $(KSOURCE); /usr/src/kernel-patches/all/$(kernel)/apply/debian
 
 	test -d $(KSOURCE)/debian || mkdir $(KSOURCE)/debian
-	cd debian; cp -p changelog control copyright post-install $(KSOURCE)/debian
 	cp -p /usr/share/doc/kernel-source-$(kernel)/changelog.Debian.gz \
 		$(KSOURCE)/debian/changelog.Debian.kernel-source.gz
 	> $(KSOURCE)/debian/official
@@ -96,6 +99,7 @@
 
 stamp-configure-subarch-%:
 	$(MAKE) -f debian/rules stamp-configure-subarch-$* subarch=$*
+	touch $@
 
 else
 ifeq (1,$(MAKELEVEL))
@@ -105,12 +109,19 @@
 # add subarch entries in the control file and add the default
 # subarch configuration file.
 stamp-configure-subarch-$(subarch): \
+stamp-configure-prepare-subarch-$(subarch) \
 $(foreach flavour,$(flavours),stamp-configure-flavour-$(subarch)-$(flavour))
+
+stamp-configure-prepare-subarch-$(subarch):
 	test -d $(dir $(KSUBARCH)) || mkdir -p $(dir $(KSUBARCH))
 	cp -al $(KSOURCE) $(KSUBARCH)
 
-	zcat patches/debian-$(subarch).diff.gz | patch -d $(KSUBARCH) 
-	-$(MAKE) -s -C config $(subarch.default) $(KSUBARCH)/.config
+	zcat patches/debian-$(subarch).diff.gz | patch -p1 -d $(KSUBARCH) 
+	cd debian; cp -p changelog control copyright $(KSOURCE)/debian
+ifneq (,$(flavours))
+	cd debian; cp -p post-install $(KSOURCE)/debian
+endif
+	-$(MAKE) -s -C config $(subarch).default >$(KSUBARCH)/.config
 
 	touch $@
 
@@ -125,11 +136,10 @@
 # contol file and add the flavour configuration file.
 stamp-configure-flavour-$(subarch)-$(flavour):
 	test -d $(dir $(KFLAVOUR)) || mkdir -p $(dir $(KFLAVOUR))
-	cp -al $(KSUBARCH) $(KFLAVOUR))
+	cp -al $(KSUBARCH) $(KFLAVOUR)
 
-	rm -f $(KFLAVOUR)/.config $(KFLAVOUR)/debian/control
+	rm -f $(KFLAVOUR)/.config
 	-$(MAKE) -s -C config $(flavour) > $(KFLAVOUR)/.config
-	$(M4) debian/control-dummy.m4 > $(KFLAVOUR)/debian/control
 	touch $@
 
 endif
@@ -149,7 +159,7 @@
 stamp-build: \
 stamp-build-$(arch) \
 $(foreach subarch,$(subarchs),stamp-build-subarch-$(subarch))
-        touch $@
+	touch $@
 
 # Per arch build processing.
 stamp-build-$(arch):
@@ -167,6 +177,17 @@
 # Per subarch build processing.
 stamp-build-subarch-$(subarch): \
 $(foreach flavour,$(flavours),stamp-build-flavour-$(subarch)-$(flavour))
+	cd $(KSUBARCH); \
+	MFLAGS="$(filter-out -j --j%,$(MFLAGS))" \
+	MAKEFLAGS="$(filter-out -j --j%,$(MAKEFLAGS))" \
+	make-kpkg --subarch $(subarch) --append-to-version -$(subarch) kernel_headers
+ifeq (,$(flavours))
+	# Let's build subarches who have no flavours here.
+	cd $(KSUBARCH); \
+	MFLAGS="$(filter-out -j --j%,$(MFLAGS))" \
+	MAKEFLAGS="$(filter-out -j --j%,$(MAKEFLAGS))" \
+	make-kpkg --subarch $(subarch) --append-to-version -$(subarch) build
+endif
 	touch $@
 
 stamp-build-flavour-$(subarch)-%:
@@ -177,10 +198,11 @@
 
 # Per flavour build processing.
 stamp-build-flavour-$(subarch)-$(flavour):
+	echo "SVEN -> $(MFLAGS) <- SVEN -> $(MAKEFLAGS)";
 	cd $(KFLAVOUR); \
-
 	MFLAGS="$(filter-out -j --j%,$(MFLAGS))" \
-	MAKEFLAGS="$(filter-out -j --j%,$(MAKEFLAGS))" make-kpkg build
+	MAKEFLAGS="$(filter-out -j --j%,$(MAKEFLAGS))" \
+	make-kpkg --subarch $(flavour) --append-to-version -$(flavour) build
 	touch $@
 
 endif
@@ -201,10 +223,14 @@
 stamp-install: \
 stamp-install-$(arch) \
 $(foreach subarch,$(subarchs),stamp-install-subarch-$(subarch))
-        touch $@
+	touch $@
 
 # Per arch install processing.
 stamp-install-$(arch):
+	dh_testdir
+	dh_testroot
+	dh_clean
+
 	touch $@
 
 ifeq (0,$(MAKELEVEL))
@@ -217,87 +243,64 @@
 
 # Per subarch install processing.
 stamp-install-subarch-$(subarch): \
+stamp-install-patch-subarch-$(subarch) \
 $(foreach flavour,$(flavours),stamp-install-flavour-$(subarch)-$(flavour))
-	touch $@
+ifeq (,$(flavours))
+	# create and unpack the intermediate kernel image package
+	cd $(KSUBARCH); \
+	MFLAGS="$(filter-out -j --j%,$(MFLAGS))" \
+	MAKEFLAGS="$(filter-out -j --j%,$(MAKEFLAGS))" \
+	make-kpkg --subarch $(subarch) --append-to-version -$(subarch) kernel-image
+	dpkg -x $(KDUMMYSA) $(KIMAGESA)
 
-stamp-install-flavour-$(subarch)-%:
-	$(MAKE) -f debian/rules stamp-install-flavour-$(subarch)-$* subarch=$(subarch) flavour=$*
+	# add a README file
+	$(INSTALL_DATA) debian/README.kernel-image $(KIMAGEDOCSA)/NEWS.Debian
 
-else
-ifeq (2,$(MAKELEVEL))
+	# copy build infrastructure for kernel modules
+	cd $(KSUBARCH); find scripts -type f ! -name '*.o' | cpio -pd $(KSRCSA)
+	cat debian/build-files | ( cd $(KSUBARCH); cpio -pd $(KSRCSA) )
 
-# Per flavour install processing.
-stamp-install-flavour-$(subarch)-$(flavour):
+	# add a README file
+	mkdir -p $(KBUILDDOCSA)
+	$(INSTALL_DATA) debian/README.kernel-build $(KBUILDDOCSA)/README.Debian
+
 	touch $@
-
 endif
-endif
-endif
-
-stamp-install: \
-stamp-build stamp-install-patch
-	$(MAKE) -f debian/rules $(PARALLEL_BUILD) $(foreach flavour,$(flavours),stamp-install-flavour-$(flavour))
 	touch $@
 
-# do the usual checks
-stamp-install-prepare:
-	dh_testdir
-	dh_testroot
-	dh_clean
+stamp-install-patch-subarch-$(subarch):
+	$(INSTALL_DATA) patches/debian-$(subarch).diff.gz $(KPATCH)/patches
+	$(M4) debian/apply.m4 > debian/apply-$(subarch)
+	$(INSTALL_EXEC) debian/apply-$(subarch) $(KPATCH)/apply/0$(subarch)
+	$(M4) debian/unpatch.m4 > debian/unpatch-$(subarch)
+	$(INSTALL_EXEC) debian/unpatch-$(subarch) $(KPATCH)/unpatch/0$(subarch)
 
-	touch $@
+stamp-install-flavour-$(subarch)-%:
+	$(MAKE) -f debian/rules stamp-install-flavour-$(subarch)-$* subarch=$(subarch) flavour=$*
 
-# install the patch itself and the accompanying scripts
-stamp-install-patch: stamp-install-prepare debian/dirs debian/apply
-	dh_installdirs
-
-	$(INSTALL_EXEC) debian/apply $(KPATCH)/apply/powerpc
-	$(INSTALL_EXEC) debian/unpatch $(KPATCH)/unpatch/powerpc
-	$(INSTALL_EXEC) debian/list $(KPATCH)/patches
-	$(INSTALL_DATA) patches/* $(KPATCH)/patches
-	bzip2 $(KPATCH)/patches/*.diff
-
-	touch $@
-
-ifeq (0,$(MAKELEVEL))
-
-stamp-install-flavour-%:
-	$(MAKE) -f debian/rules $@
-
 else
-ifeq (1,$(MAKELEVEL))
-
-stamp-install-flavour-%:
-	$(MAKE) -f debian/rules stamp-install-flavour-$* flavour=$*
-
-else
 ifeq (2,$(MAKELEVEL))
 
-# create an intermediate kernel-image package from the build tree,
-# immediately unpack it into the install directory, and re-arrange a
-# few things.  Also, install the build infrastructure for modules from
-# the kernel source.
-
-stamp-install-flavour-$(flavour): \
-stamp-build-flavour-$(flavour) stamp-install-prepare
-
-# create and unpack the intermediate kernel image package
+# Per flavour install processing.
+stamp-install-flavour-$(subarch)-$(flavour):
+	# create and unpack the intermediate kernel image package
 	cd $(KFLAVOUR); \
 	MFLAGS="$(filter-out -j --j%,$(MFLAGS))" \
-	MAKEFLAGS="$(filter-out -j --j%,$(MAKEFLAGS))" make-kpkg kernel-image
+	MAKEFLAGS="$(filter-out -j --j%,$(MAKEFLAGS))" \
+	make-kpkg --subarch pmac --append-to-version -$(flavour) kernel-image
 	dpkg -x $(KDUMMY) $(KIMAGE)
 
-# remove the coff image
+	# remove the coff image
 	rm -f $(KIMAGE)/boot/vmlinux.coff-$(kernel)-$(flavour)
 
-# add a README file
+	# add a README file
 	$(INSTALL_DATA) debian/README.kernel-image $(KIMAGEDOC)/NEWS.Debian
 
-# copy build infrastructure for kernel modules
+	# copy build infrastructure for kernel modules
 	cd $(KFLAVOUR); find scripts -type f ! -name '*.o' | cpio -pd $(KSRC)
 	cat debian/build-files | ( cd $(KFLAVOUR); cpio -pd $(KSRC) )
 
-# add a README file
+	# add a README file
 	mkdir -p $(KBUILDDOC)
 	$(INSTALL_DATA) debian/README.kernel-build $(KBUILDDOC)/README.Debian
 
@@ -316,7 +319,7 @@
 binary: \
 binary-$(arch) \
 $(foreach subarch,$(subarchs),binary-subarch-$(subarch))
-        touch $@
+	touch $@
 else
 binary:
 endif
@@ -372,16 +375,9 @@
 else
 ifeq (1,$(MAKELEVEL))
 
-ifeq (Yes,$(OFFICIAL_VERSION))
 binary-flavour-$(flavour): \
-binary-kernel-image-$(flavour) \
 binary-kernel-image-$(kernel)-$(flavour) \
 binary-kernel-build-$(kernel)-$(flavour)
-else
-binary-flavour-$(flavour): \
-binary-kernel-image-$(kernel)-$(flavour) \
-binary-kernel-build-$(kernel)-$(flavour)
-endif
 
 endif
 endif
@@ -470,20 +466,52 @@
 # case the kernel version, the Debian revision, or the flavours
 # change.
 
-# slightly different m4 call, using a shell variable for the flavour
-M4CONTROL = m4 -DM4KERNEL=$(kernel) -DM4FLAVOUR=$$flavour
+# debian/control is generated here.
 
-debian/control: \
-debian/changelog debian/flavours \
-$(foreach flavour,$(flavours), debian/flavour-$(flavour)) \
-debian/control.stub debian/control-image.m4 debian/control-official.m4
+ifeq ($(DEB_HOST_ARCH),powerpc)
+debian/control: stamp-control
+else
+debian/control
+endif
 
-	$(M4CONTROL) debian/control.stub > $@
+stamp-control: \
+stamp-control-$(arch) \
+$(foreach subarch,$(subarchs),stamp-control-subarch-$(subarch))
+	touch $@
 
-	for flavour in $(flavours); do \
-		$(M4CONTROL) debian/control-image.m4 >> $@; \
-		if [ "$(OFFICIAL_VERSION)" = "Yes" ]; then \
-			$(M4CONTROL) debian/control-official.m4 >> $@; \
-		fi; \
-		cat debian/flavour-$$flavour >> $@; \
-	done
+# Per arch control processing.
+stamp-control-$(arch):
+	$(M4) debian/control-arch-$(arch).m4 > debian/control
+	touch $@
+
+ifeq (0,$(MAKELEVEL))
+
+stamp-control-subarch-%:
+	$(MAKE) -f debian/rules stamp-control-subarch-$* subarch=$*
+
+else
+ifeq (1,$(MAKELEVEL))
+
+# Per subarch control processing.
+stamp-control-subarch-$(subarch): \
+stamp-control-do-subarch-$(subarch) \
+$(foreach flavour,$(flavours),stamp-control-flavour-$(subarch)-$(flavour))
+	touch $@
+
+stamp-control-do-subarch-$(subarch):
+	$(M4) debian/control-subarch-$(arch)-$(subarch).m4 >> debian/control
+
+stamp-control-flavour-$(subarch)-%:
+	$(MAKE) -f debian/rules stamp-control-flavour-$(subarch)-$* subarch=$(subarch) flavour=$*
+
+else
+ifeq (2,$(MAKELEVEL))
+
+# Per flavour control processing.
+stamp-control-flavour-$(subarch)-$(flavour):
+	$(M4) debian/control-flavour-$(arch)-$(subarch)-$(flavour).m4 >> debian/control
+	touch $@
+
+endif
+endif
+endif