[kernel] r18144 - in dists/sid/linux-2.6: . debian debian/bin debian/installer debian/templates

Ben Hutchings benh at alioth.debian.org
Sun Oct 2 22:52:54 UTC 2011


Author: benh
Date: Sun Oct  2 22:52:53 2011
New Revision: 18144

Log:
Build udebs for the installer

Cherry-picked from trunk r18121.

Use kernel-wedge in gencontrol.py and during the build process to
generate the udeb packages required by debian-installer.

Add the kernel-wedge configuration files from all the current
linux-kernel-di-$arch-2.6 packages.

Added:
   dists/sid/linux-2.6/debian/installer/
      - copied from r18121, dists/trunk/linux-2.6/debian/installer/
Modified:
   dists/sid/linux-2.6/   (props changed)
   dists/sid/linux-2.6/debian/bin/gencontrol.py
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/rules
   dists/sid/linux-2.6/debian/rules.real
   dists/sid/linux-2.6/debian/templates/control.source.in

Modified: dists/sid/linux-2.6/debian/bin/gencontrol.py
==============================================================================
--- dists/sid/linux-2.6/debian/bin/gencontrol.py	Sun Oct  2 22:51:34 2011	(r18143)
+++ dists/sid/linux-2.6/debian/bin/gencontrol.py	Sun Oct  2 22:52:53 2011	(r18144)
@@ -1,12 +1,12 @@
 #!/usr/bin/env python
 
-import os, sys
+import os, os.path, subprocess, sys
 sys.path.append("debian/lib/python")
 
 from debian_linux.config import ConfigCoreHierarchy
 from debian_linux.debian import *
 from debian_linux.gencontrol import Gencontrol as Base
-from debian_linux.utils import Templates
+from debian_linux.utils import Templates, read_control
 
 class Gencontrol(Base):
     def __init__(self, config_dirs = ["debian/config"], template_dirs = ["debian/templates"]):
@@ -69,6 +69,33 @@
                      ["$(MAKE) -f debian/rules.real install-libc-dev_%s %s" %
                       (arch, makeflags)])
 
+        # Add udebs using kernel-wedge
+        installer_dir = 'debian/installer/' + arch
+        if os.path.isdir(installer_dir):
+            kw_env = os.environ.copy()
+            kw_env['KW_CONFIG_DIR'] = installer_dir
+            kw_proc = subprocess.Popen(
+                ['kernel-wedge', 'gen-control',
+                 self.version.linux_upstream + vars['abiname']],
+                stdout=subprocess.PIPE,
+                env=kw_env)
+            udeb_packages = read_control(kw_proc.stdout)
+            kw_proc.wait()
+            if kw_proc.returncode != 0:
+                raise RuntimeError('kernel-wedge exited with code %d' %
+                                   kw_proc.returncode)
+
+            self.merge_packages(packages, udeb_packages, arch)
+
+            # These packages must be built after the per-flavour/
+            # per-featureset packages.
+            makefile.add(
+                'binary-arch_%s' % arch,
+                cmds = ["$(MAKE) -f debian/rules.real install-udeb_%s %s "
+                        "PACKAGE_NAMES='%s'" %
+                        (arch, makeflags,
+                         ' '.join(p['Package'] for p in udeb_packages))])
+
     def do_featureset_setup(self, vars, makeflags, arch, featureset, extra):
         config_base = self.config.merge('base', arch, featureset)
         makeflags['LOCALVERSION_HEADERS'] = vars['localversion_headers'] = vars['localversion']

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Sun Oct  2 22:51:34 2011	(r18143)
+++ dists/sid/linux-2.6/debian/changelog	Sun Oct  2 22:52:53 2011	(r18144)
@@ -7,6 +7,7 @@
   * block: Free queue resources at blk_release_queue() (Closes: #631187)
   * kobj_uevent: Ignore if some listeners cannot handle message
     (Closes: #641661)
+  * Build udebs for the installer
 
  -- Ben Hutchings <ben at decadent.org.uk>  Tue, 20 Sep 2011 23:50:35 +0100
 

Modified: dists/sid/linux-2.6/debian/rules
==============================================================================
--- dists/sid/linux-2.6/debian/rules	Sun Oct  2 22:51:34 2011	(r18143)
+++ dists/sid/linux-2.6/debian/rules	Sun Oct  2 22:52:53 2011	(r18144)
@@ -56,7 +56,7 @@
 
 clean: debian/control
 	dh_testdir
-	rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_linux/*.pyc debian/linux-headers-* debian/linux-image-* debian/linux-tools-* debian/linux-support-* debian/linux-source-* debian/linux-doc-* debian/linux-manual-* debian/linux-patch-debian-* debian/xen-linux-system-*
+	rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_linux/*.pyc debian/linux-headers-* debian/linux-image-* debian/linux-tools-* debian/linux-support-* debian/linux-source-* debian/linux-doc-* debian/linux-manual-* debian/linux-patch-debian-* debian/xen-linux-system-* debian/*-modules-*-di*
 	dh_clean
 
 binary-indep: $(STAMPS_DIR)/source-base
@@ -71,6 +71,7 @@
 
 CONTROL_FILES = debian/changelog $(wildcard debian/templates/*.in)
 CONTROL_FILES += debian/config/defines $(wildcard debian/config/*/defines) $(wildcard debian/config/*/*/defines)
+CONTROL_FILES += $(wildcard debian/installer/*/kernel-versions) $(wildcard debian/installer/*/package-list)
 debian/control debian/rules.gen: debian/bin/gencontrol.py $(CONTROL_FILES)
 ifeq ($(wildcard debian/control.md5sum),)
 	$(MAKE) -f debian/rules debian/control-real

Modified: dists/sid/linux-2.6/debian/rules.real
==============================================================================
--- dists/sid/linux-2.6/debian/rules.real	Sun Oct  2 22:51:34 2011	(r18143)
+++ dists/sid/linux-2.6/debian/rules.real	Sun Oct  2 22:52:53 2011	(r18144)
@@ -494,6 +494,17 @@
 endif
 	+$(MAKE_SELF) install-base BUILDDEB_ARGS="-Zbzip2"
 
+install-udeb_$(ARCH): export KW_CONFIG_DIR=debian/installer/$(ARCH)
+install-udeb_$(ARCH): DH_OPTIONS=$(PACKAGE_NAMES:%=-p%)
+install-udeb_$(ARCH):
+	dh_testdir
+	dh_prep
+	kernel-wedge install-files $(UPSTREAMVERSION)$(ABINAME)
+	kernel-wedge check $(PACKAGE_NAMES)
+	dh_fixperms
+	dh_gencontrol
+	dh_builddeb
+
 install-tools_$(ARCH): PACKAGE_NAME = linux-tools-$(VERSION)
 install-tools_$(ARCH): PACKAGE_DIR = debian/$(PACKAGE_NAME)
 install-tools_$(ARCH): DIR = $(BUILD_DIR)/build-tools_$(ARCH)

Modified: dists/sid/linux-2.6/debian/templates/control.source.in
==============================================================================
--- dists/sid/linux-2.6/debian/templates/control.source.in	Sun Oct  2 22:51:34 2011	(r18143)
+++ dists/sid/linux-2.6/debian/templates/control.source.in	Sun Oct  2 22:52:53 2011	(r18144)
@@ -3,7 +3,7 @@
 Maintainer: Debian Kernel Team <debian-kernel at lists.debian.org>
 Uploaders: Bastian Blank <waldi at debian.org>, Frederik Schüler <fs at debian.org>, maximilian attems <maks at debian.org>, Ben Hutchings <ben at decadent.org.uk>
 Standards-Version: 3.9.2
-Build-Depends: debhelper (>> 7), cpio, module-init-tools, python (>= 2.6.6-3~), lzma [armel], libelf-dev, libdw-dev, binutils-dev, asciidoc, xmlto, libperl-dev, python-dev, libnewt-dev
+Build-Depends: debhelper (>> 7), cpio, module-init-tools, python (>= 2.6.6-3~), lzma [armel], libelf-dev, libdw-dev, binutils-dev, asciidoc, xmlto, libperl-dev, python-dev, libnewt-dev, kernel-wedge (>= 2.79)
 Build-Depends-Indep: bzip2
 Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/sid/linux-2.6/
 Vcs-Browser: http://svn.debian.org/wsvn/kernel/dists/sid/linux-2.6/?op=log



More information about the Kernel-svn-changes mailing list