[kernel] r12325 - in people/waldi/xen-extra/linux-2.6.18-xen-3/debian: . bin config-update config-update/amd64 config-update/amd64/xen-vserver config-update/featureset-xen-vserver config-update/i386 config-update/i386/xen-vserver patches-update/series templates-update

Bastian Blank waldi at alioth.debian.org
Fri Oct 17 13:12:20 UTC 2008


Author: waldi
Date: Fri Oct 17 13:11:02 2008
New Revision: 12325

Log:
debian: Use 2.6.26 infrastructure.


Added:
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/compat
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/xen-vserver/
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/xen-vserver/defines
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/featureset-xen-vserver/
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/featureset-xen-vserver/config   (contents, props changed)
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/featureset-xen-vserver/defines
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.defs
Removed:
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/gencontrol_base.py
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/config
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/config
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/config
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/config.686-bigmem
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.real.update
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/templates-update/control.libc-dev.in
Modified:
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/   (props changed)
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/   (props changed)
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/abicheck.py
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/gencontrol.py
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/kconfig.py
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/defines
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/defines
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/defines
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/xen-vserver/defines
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/1-extra
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/13etch4-extra
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules
   people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.real

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/abicheck.py
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/abicheck.py	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/abicheck.py	Fri Oct 17 13:11:02 2008
@@ -1 +1 @@
-link ../rel-infrastructure/bin/abicheck.py
\ No newline at end of file
+link ../bin-base/abicheck.py
\ No newline at end of file

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/gencontrol.py
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/gencontrol.py	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/gencontrol.py	Fri Oct 17 13:11:02 2008
@@ -1,38 +1,302 @@
-#!/usr/bin/env python2.4
+#!/usr/bin/env python
+
 import os, sys
 sys.path.append("debian/lib/python")
 
-from gencontrol_base import Gencontrol as Base
+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
 
 class Gencontrol(Base):
-    config_dirs = ["debian/config", "debian/config-update"]
-    template_dirs = ["debian/templates-update", "debian/templates"]
+    config_dirs = ["debian/config-base", "debian/config-update"]
+    kernel_config_dirs = ["debian/config-update", "debian/config-base-etch"]
+    template_dirs = ["debian/templates-update", "debian/templates-base"]
 
     def __init__(self):
-        super(Gencontrol, self).__init__(config_dirs = self.config_dirs, template_dirs = self.template_dirs)
+        super(Gencontrol, self).__init__(ConfigCoreHierarchy(self.config_dirs), Templates(self.template_dirs), VersionLinux)
+        self.process_changelog()
+
+    def do_main_setup(self, vars, makeflags, extra):
+        super(Gencontrol, self).do_main_setup(vars, makeflags, extra)
+        makeflags.update({
+            'MAJOR': self.version.linux_major,
+            'VERSION': self.version.linux_version,
+            'UPSTREAMVERSION': self.version.linux_upstream,
+            'ABINAME': self.abiname,
+            'SOURCEVERSION': self.version.complete,
+        })
 
-    def do_main_packages(self, packages, extra):
+    def do_main_packages(self, packages, vars, makeflags, extra):
         packages.extend(self.process_packages(self.templates["control.support"], self.vars))
 
+    def do_arch_packages(self, packages, makefile, arch, vars, makeflags, extra):
+        headers_arch = self.templates["control.headers.arch"]
+        packages_headers_arch = self.process_packages(headers_arch, vars)
+
+        extra['headers_arch_depends'] = packages_headers_arch[-1]['Depends'] = PackageRelation()
+
+        for package in packages_headers_arch:
+            name = package['Package']
+            if packages.has_key(name):
+                package = packages.get(name)
+                package['Architecture'].append(arch)
+            else:
+                package['Architecture'] = [arch]
+                packages.append(package)
+
+        cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags]
+        cmds_source = ["$(MAKE) -f debian/rules.real source-arch %s" % makeflags]
+        makefile.add('binary-arch_%s_real' % arch, cmds = cmds_binary_arch)
+        makefile.add('source_%s_real' % arch, cmds = cmds_source)
+
     def do_featureset_setup(self, vars, makeflags, arch, featureset, extra):
-        vars.update(self.config.get(('image', arch, featureset), {}))
         config_base = self.config.merge('base', arch, featureset)
+        config_image = self.config.merge('image', arch, featureset)
 
-        localversion = config_base.get('override-localversion', None)
+        localversion = config_image.get('override-localversion', None)
         if localversion is not None:
             if localversion:
                 vars['localversion'] = '-' + localversion
             else:
                 vars['localversion'] = ''
-        vars['localversion_headers'] = vars['localversion']
 
+        makeflags['KERNEL_HEADER_DIRS'] = config_base.get('kernel-header-dirs', config_base.get('kernel-arch'))
+        makeflags['LOCALVERSION_HEADERS'] = vars['localversion_headers'] = vars['localversion']
+
+    def do_featureset_packages(self, packages, makefile, arch, featureset, vars, makeflags, extra):
+        headers_featureset = self.templates["control.headers.featureset"]
+        package_headers = self.process_package(headers_featureset[0], vars)
+
+        name = package_headers['Package']
+        if packages.has_key(name):
+            package_headers = packages.get(name)
+            package_headers['Architecture'].append(arch)
+        else:
+            package_headers['Architecture'] = [arch]
+            packages.append(package_headers)
+
+        cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-featureset %s" % makeflags]
+        cmds_source = ["$(MAKE) -f debian/rules.real source-featureset %s" % makeflags]
+        makefile.add('binary-arch_%s_%s_real' % (arch, featureset), cmds = cmds_binary_arch)
+        makefile.add('source_%s_%s_real' % (arch, featureset), cmds = cmds_source)
+
+    def do_flavour_setup(self, vars, makeflags, arch, featureset, flavour, extra):
+        config_base = self.config.merge('base', arch, featureset, flavour)
+        config_image = self.config.merge('image', arch, featureset, flavour)
+
+        data = vars.copy()
+        data.update(config_base)
+        data.update(config_image)
+
+        for i in (
+            ('compiler', 'COMPILER'),
+            ('kernel-arch', 'KERNEL_ARCH'),
+            ('localversion', 'LOCALVERSION'),
+            ('type', 'TYPE'),
+        ):
+            makeflags[i[1]] = data[i[0]]
         for i in (
-            ('kernel-header-dirs', 'KERNEL_HEADER_DIRS'),
-            ('localversion_headers', 'LOCALVERSION_HEADERS'),
+            ('cflags', 'CFLAGS'),
+            ('initramfs', 'INITRAMFS'),
+            ('kpkg-arch', 'KPKG_ARCH'),
+            ('kpkg-subarch', 'KPKG_SUBARCH'),
+            ('localversion-image', 'LOCALVERSION_IMAGE'),
+            ('override-host-type', 'OVERRIDE_HOST_TYPE'),
         ):
-            if vars.has_key(i[0]):
-                makeflags[i[1]] = vars[i[0]]
+            if data.has_key(i[0]):
+                makeflags[i[1]] = data[i[0]]
+
+    def do_flavour_packages(self, packages, makefile, arch, featureset, flavour, vars, makeflags, extra):
+        headers = self.templates["control.headers"]
+
+        config_entry_base = self.config.merge('base', arch, featureset, flavour)
+        config_entry_image = self.config.merge('image', arch, featureset, flavour)
+        config_entry_relations = self.config.merge('relations', arch, featureset, flavour)
+
+        compiler = config_entry_base.get('compiler', 'gcc')
+        relations_compiler = PackageRelation(config_entry_relations[compiler])
+        relations_compiler_build_dep = PackageRelation(config_entry_relations[compiler])
+        for group in relations_compiler_build_dep:
+            for item in group:
+                item.arches = [arch]
+        packages['source']['Build-Depends'].extend(relations_compiler_build_dep)
+
+        image_fields = {'Description': PackageDescription()}
+        for field in 'Depends', 'Provides', 'Suggests', 'Recommends', 'Conflicts':
+            image_fields[field] = PackageRelation(config_entry_image.get(field.lower(), None))
+
+        if config_entry_image.get('initramfs', True):
+            generators = config_entry_image['initramfs-generators']
+            config_entry_commands_initramfs = self.config.merge('commands-image-initramfs-generators', arch, featureset, flavour)
+            commands = [config_entry_commands_initramfs[i] for i in generators if config_entry_commands_initramfs.has_key(i)]
+            makeflags['INITRD_CMD'] = ' '.join(commands)
+            l_depends = PackageRelationGroup()
+            for i in generators:
+                i = config_entry_relations.get(i, i)
+                l_depends.append(i)
+                a = PackageRelationEntry(i)
+                if a.operator is not None:
+                    a.operator = -a.operator
+                    image_fields['Conflicts'].append(PackageRelationGroup([a]))
+            image_fields['Depends'].append(l_depends)
+
+        if 'desc-parts' in config_entry_image:
+            desc = image_fields['Description']
+            parts = config_entry_image['desc-parts']
+            for part in parts:
+                desc.append(config_entry_image['desc-long-part-' + part])
+                desc.append_short(config_entry_image.get('desc-short-part-' + part, ''))
+
+        packages_dummy = []
+        packages_own = []
+
+        if config_entry_image['type'] == 'plain-xen':
+            image = self.templates["control.image.type-modulesextra"]
+            build_modules = True
+            config_entry_xen = self.config.merge('xen', arch, featureset, flavour)
+            if config_entry_xen.get('dom0-support', True):
+                p = self.process_packages(self.templates['control.xen-linux-system'], vars)
+                l = PackageRelationGroup()
+                for version in config_entry_xen['versions']:
+                    l.append("xen-hypervisor-%s-%s" % (version, config_entry_xen['flavour']))
+                makeflags['XEN_VERSIONS'] = ' '.join(['%s-%s' % (i, config_entry_xen['flavour']) for i in config_entry_xen['versions']])
+                p[0]['Depends'].append(l)
+                packages_dummy.extend(p)
+        else:
+            raise NotImplementedError(arch, featureset, flavour)
+
+        vars.setdefault('desc', None)
+
+        packages_own.append(self.process_real_image(image[0], image_fields, vars))
+        packages_own.extend(self.process_packages(image[1:], vars))
+
+        if build_modules:
+            makeflags['MODULES'] = True
+            package_headers = self.process_package(headers[0], vars)
+            package_headers['Depends'].extend(relations_compiler)
+            packages_own.append(package_headers)
+            extra['headers_arch_depends'].append('%s (= ${binary:Version})' % packages_own[-1]['Package'])
+
+        for package in packages_own + packages_dummy:
+            name = package['Package']
+            if packages.has_key(name):
+                package = packages.get(name)
+                package['Architecture'].append(arch)
+            else:
+                package['Architecture'] = [arch]
+                packages.append(package)
+
+        if config_entry_image['type'] == 'plain-xen':
+            for i in ('postinst', 'postrm', 'prerm'):
+                j = self.substitute(self.templates["image.xen.%s" % i], vars)
+                file("debian/%s.%s" % (packages_own[0]['Package'], i), 'w').write(j)
+
+        def get_config(*entry_name):
+            entry_real = ('image',) + entry_name
+            entry = self.config.get(entry_real, None)
+            if entry is None:
+                return None
+            return entry.get('configs', None)
+
+        def check_config_default(fail, f):
+            for d in self.kernel_config_dirs[::-1]:
+                f1 = d + '/' + f
+                if os.path.exists(f1):
+                    return [f1]
+            if fail:
+                raise RuntimeError("%s unavailable" % f)
+            return []
+
+        def check_config_files(files):
+            ret = []
+            for f in files:
+                for d in self.kernel_config_dirs[::-1]:
+                    f1 = d + '/' + f
+                    if os.path.exists(f1):
+                        ret.append(f1)
+                        break
+                else:
+                    raise RuntimeError("%s unavailable" % f)
+            return ret
+
+        def check_config(default, fail, *entry_name):
+            configs = get_config(*entry_name)
+            if configs is None:
+                return check_config_default(fail, default)
+            return check_config_files(configs)
+
+        kconfig = check_config('config', True)
+        kconfig.extend(check_config("%s/config" % arch, True, arch))
+        kconfig.extend(check_config("%s/config.%s" % (arch, flavour), False, arch, None, flavour))
+        kconfig.extend(check_config("featureset-%s/config" % featureset, False, None, featureset))
+        kconfig.extend(check_config("%s/%s/config" % (arch, featureset), False, arch, featureset))
+        kconfig.extend(check_config("%s/%s/config.%s" % (arch, featureset, flavour), False, arch, featureset, flavour))
+        makeflags['KCONFIG'] = ' '.join(kconfig)
+
+        cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-flavour %s" % makeflags]
+        if packages_dummy:
+            cmds_binary_arch.append("$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='%s' %s" % (' '.join(["-p%s" % i['Package'] for i in packages_dummy]), makeflags))
+        cmds_build = ["$(MAKE) -f debian/rules.real build %s" % makeflags]
+        cmds_setup = ["$(MAKE) -f debian/rules.real setup-flavour %s" % makeflags]
+        makefile.add('binary-arch_%s_%s_%s_real' % (arch, featureset, flavour), cmds = cmds_binary_arch)
+        makefile.add('build_%s_%s_%s_real' % (arch, featureset, flavour), cmds = cmds_build)
+        makefile.add('setup_%s_%s_%s_real' % (arch, featureset, flavour), cmds = cmds_setup)
+
+    def do_extra(self, packages, makefile):
+        apply = self.templates['patch.apply']
+
+        vars = {
+            'revisions': 'orig ' + ' '.join([i.revision for i in self.versions[::-1]]),
+            'upstream': self.version.upstream,
+            'linux_upstream': self.version.linux_upstream,
+            'abiname': self.abiname,
+        }
+
+        apply = self.substitute(apply, vars)
+
+        file('debian/bin/patch.apply', 'w').write(apply)
+
+    def process_changelog(self):
+        act_upstream = self.changelog[0].version.linux_upstream
+        versions = []
+        for i in self.changelog:
+            if i.version.linux_upstream != act_upstream:
+                break
+            versions.append(i.version)
+        self.versions = versions
+        self.version = self.changelog[0].version
+        if self.version.linux_modifier is not None:
+            self.abiname = ''
+        else:
+            self.abiname = '-%s' % self.config['abi',]['abiname']
+        self.vars = {
+            'upstreamversion': self.version.linux_upstream,
+            'version': self.version.linux_version,
+            'source_upstream': self.version.upstream,
+            'major': self.version.linux_major,
+            'abiname': self.abiname,
+        }
+        self.config['version',] = {'source': self.version.complete, 'abiname': self.abiname}
+
+    def process_real_image(self, entry, fields, vars):
+        entry = self.process_package(entry, vars)
+        for key, value in fields.iteritems():
+            if key in entry:
+                real = entry[key]
+                real.extend(value)
+            elif value:
+                entry[key] = value
+        return entry
+
+    def write(self, packages, makefile):
+        self.write_config()
+        super(Gencontrol, self).write(packages, makefile)
+
+    def write_config(self):
+        f = file("debian/config.defines.dump", 'w')
+        self.config.dump(f)
+        f.close()
 
 if __name__ == '__main__':
     Gencontrol()()

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/kconfig.py
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/kconfig.py	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/bin/kconfig.py	Fri Oct 17 13:11:02 2008
@@ -1 +1 @@
-link ../rel-infrastructure/bin/kconfig.py
\ No newline at end of file
+link ../bin-base/kconfig.py
\ No newline at end of file

Added: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/compat
==============================================================================
--- (empty file)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/compat	Fri Oct 17 13:11:02 2008
@@ -0,0 +1 @@
+4

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/defines
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/defines	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/defines	Fri Oct 17 13:11:02 2008
@@ -1,4 +1,7 @@
 [base]
+featuresets:
+ xen
+ xen-vserver
 kernel-arch: x86_64
 
 [xen_base]

Added: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/xen-vserver/defines
==============================================================================
--- (empty file)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/amd64/xen-vserver/defines	Fri Oct 17 13:11:02 2008
@@ -0,0 +1,12 @@
+[base]
+flavours:
+ amd64
+
+[image]
+initramfs-generators: initramfs-tools 
+suggests: grub (>= 0.97-16)
+type: plain-xen
+
+[xen]
+flavour: amd64
+

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/defines
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/defines	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/defines	Fri Oct 17 13:11:02 2008
@@ -5,19 +5,23 @@
 arches:
  amd64
  i386
+featuresets:
+ xen
+ xen-vserver
 
 [featureset-none_base]
 enabled: false
 
-[featureset-vserver_base]
-enabled: false
-
 [featureset-xen_base]
 enabled: true
+
+[featureset-xen_image]
 override-localversion:
 
 [featureset-xen-vserver_base]
 enabled: true
+
+[featureset-xen-vserver_image]
 override-localversion: vserver
 
 [xen]

Added: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/featureset-xen-vserver/config
==============================================================================
--- (empty file)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/featureset-xen-vserver/config	Fri Oct 17 13:11:02 2008
@@ -0,0 +1 @@
+link ../../config-base-etch/_vserver/config
\ No newline at end of file

Added: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/featureset-xen-vserver/defines
==============================================================================
--- (empty file)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/featureset-xen-vserver/defines	Fri Oct 17 13:11:02 2008
@@ -0,0 +1,4 @@
+[image]
+configs:
+ featureset-xen-vserver/config
+ featureset-xen/config

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/defines
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/defines	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/defines	Fri Oct 17 13:11:02 2008
@@ -1,2 +1,5 @@
 [base]
+featuresets:
+ xen
+ xen-vserver
 kernel-arch: i386

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/xen-vserver/defines
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/xen-vserver/defines	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/config-update/i386/xen-vserver/defines	Fri Oct 17 13:11:02 2008
@@ -1,2 +1,21 @@
+[base]
+flavours:
+ 686
+kernel-header-dirs: i386
+
+[image]
+initramfs-generators: initramfs-tools
+recommends: libc6-xen
+suggests: grub (>= 0.97-16)
+type: plain-xen
+
 [xen]
 flavour: i386
+
+[686]
+class: i686
+longclass: i686 and compatible
+
+[686_image]
+configs: i386/config.686-bigmem
+

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/1-extra
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/1-extra	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/1-extra	Fri Oct 17 13:11:02 2008
@@ -1,8 +1,8 @@
-- ../patches/debian/version.patch *_xen *_xen-vserver
+- ../patches-base/debian/version.patch *_xen *_xen-vserver
 + debian/version.patch *_xen *_xen-vserver
 + debian/vserver-version.patch *_vserver *_xen-vserver
-+ ../patches/features/all/vserver/vs2.0.2.2-rc9.patch *_xen-vserver
-+ ../patches/features/all/vserver/bindmount-dev.patch *_xen-vserver
++ ../patches-base/features/all/vserver/vs2.0.2.2-rc9.patch *_xen-vserver
++ ../patches-base/features/all/vserver/bindmount-dev.patch *_xen-vserver
 + features/all/xen/vserver-clash.patch *_xen-vserver
 + features/all/xen/xen-3.1-15467.patch *_xen *_xen-vserver
 + features/all/xen/xen-4gb-fixup.patch *_xen *_xen-vserver

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/13etch4-extra
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/13etch4-extra	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/patches-update/series/13etch4-extra	Fri Oct 17 13:11:02 2008
@@ -1 +1 @@
-+ ../patches/bugfix/don-t-leak-nt-bit-into-next-task-xen.patch *_xen *_xen-vserver
++ ../patches-base/bugfix/don-t-leak-nt-bit-into-next-task-xen.patch *_xen *_xen-vserver

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules	Fri Oct 17 13:11:02 2008
@@ -1,16 +1,83 @@
 #!/usr/bin/make -f
+#
+# Generally nothing needs to be modified below this line
+#
+SHELL    := sh -e
+DEB_HOST_ARCH  := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+SOURCE   := $(shell dpkg-parsechangelog | sed -ne 's,^Source: *\(.*\)$$,\1,p')
+VERSION_DEBIAN := $(shell dpkg-parsechangelog | sed -ne 's,^Version: *\(.*\)$$,\1,p')
+VERSION  := $(shell echo "$(VERSION_DEBIAN)" | sed -e 's,-[^-]*$$,,')
+VERSION_DEBIAN_BINNMU := $(shell echo "$(VERSION_DEBIAN)" | sed -ne 's,.*\+b\(.*\)$$,\1,p')
 
 include debian/rules.defs
 
+source: debian/control $(STAMPS_DIR)/source-base
+$(STAMPS_DIR)/source-base: $(BUILD_DIR) $(STAMPS_DIR)
+	dh_testdir
+	$(MAKE) -f debian/rules.gen source_$(DEB_HOST_ARCH)
+	touch $@
+
+source-all: debian/control $(BUILD_DIR) $(STAMPS_DIR)
+	dh_testdir
+	$(MAKE) -f debian/rules.gen source
+
+setup: debian/control $(STAMPS_DIR)/setup-base
+$(STAMPS_DIR)/setup-base: $(STAMPS_DIR)/source-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen setup_$(DEB_HOST_ARCH)
+	touch $@
+
+build: debian/control $(STAMPS_DIR)/build-base
+$(STAMPS_DIR)/build-base: $(STAMPS_DIR)/setup-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen build_$(DEB_HOST_ARCH)
+	touch $@
+
+$(BUILD_DIR) $(STAMPS_DIR):
+	@[ -d $@ ] || mkdir $@
+
+maintainerclean:
+	rm -f debian/config.defines.dump debian/control debian/control.md5sum debian/rules.gen debian/bin/patch.* debian/linux-*
+
 clean: debian/control
 	dh_testdir
-	rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/bin/*.pyc debian/lib/python/debian_linux/*.pyc
+	rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_linux/*.pyc
 	dh_clean
 
-orig:
-	#
+binary-indep: $(STAMPS_DIR)/source-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen binary-indep
+
+binary-arch: $(STAMPS_DIR)/build-base
+	dh_testdir
+	$(MAKE) -f debian/rules.gen binary-arch_$(DEB_HOST_ARCH)
+
+binary:	binary-indep binary-arch
+
+CONTROL_FILES = debian/changelog $(wildcard debian/templates*/*.in)
+CONTROL_FILES += $(wildcard debian/config*/defines) $(wildcard debian/config*/*/defines) $(wildcard debian/config*/*/*/defines)
+debian/control debian/rules.gen: debian/bin/gencontrol.py $(CONTROL_FILES)
+ifeq ($(wildcard debian/control.md5sum),)
+	$(MAKE) -f debian/rules debian/control-real
+else ifeq ($(VERSION_DEBIAN_BINNMU),)
+	md5sum --check debian/control.md5sum --status || \
+		$(MAKE) -f debian/rules debian/control-real
+else
+	grep -v debian/changelog debian/control.md5sum | md5sum --check - --status || \
+		$(MAKE) -f debian/rules debian/control-real
+endif
 
-%:
-	@$(MAKE) -f debian/rel-infrastructure/rules $@
+debian/control-real: debian/bin/gencontrol.py $(CONTROL_FILES)
+	chmod +x $<
+	$<
+	md5sum $^ > debian/control.md5sum
+	@echo
+	@echo This target is made to fail intentionally, to make sure
+	@echo that it is NEVER run during the automated build. Please
+	@echo ignore the following error, the debian/control file has
+	@echo been generated SUCCESSFULLY.
+	@echo
+	exit 1
 
-.PHONY: clean
+.PHONY: clean build setup binary-indep binary-arch binary

Added: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.defs
==============================================================================
--- (empty file)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.defs	Fri Oct 17 13:11:02 2008
@@ -0,0 +1,4 @@
+BUILD_DIR = debian/build
+STAMPS_DIR = debian/stamps
+TEMPLATES_DIR = debian/templates
+

Modified: people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.real
==============================================================================
--- people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.real	(original)
+++ people/waldi/xen-extra/linux-2.6.18-xen-3/debian/rules.real	Fri Oct 17 13:11:02 2008
@@ -1,11 +1,503 @@
+#
+# This Makefile executes the unpack/build/binary targets for a single
+# subarch, which is passed in the subarch variable. Empty subarch
+# variable means that we are building for an arch without the subarch.
+# Additionally, variables version, abiname and ltver are
+# expected to be available (need to be exported from the parent process).
+#
+SHELL  := bash -e
+DEB_HOST_ARCH     := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_ARCH)
+DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_ARCH    := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_BUILD_ARCH)
+UPLOADER  := $(shell dpkg-parsechangelog | sed -ne 's,^Maintainer: .[^<]*<\([^>]*\)>,\1,p')
+
+export PYTHONPATH = $(CURDIR)/debian/lib/python
+export DH_OPTIONS
+export DEB_HOST_ARCH DEB_HOST_GNU_TYPE DEB_BUILD_ARCH
+
 include debian/rules.defs
 
+ifdef DEBIAN_KERNEL_JOBS
+  JOBS_ARG = -j$(DEBIAN_KERNEL_JOBS)
+endif
+
+setup_env := env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION -u MAKEFLAGS
+setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTION_UPLOADER=$(UPLOADER) DISTRIBUTION_VERSION="$(SOURCEVERSION)"
+
+MAKE_CLEAN = $(setup_env) $(MAKE)
+MAKE_SELF = $(MAKE) -f debian/rules.real
+
+kpkg_image := $(setup_env)
+ifdef DEBIAN_KERNEL_JOBS
+  kpkg_image += CONCURRENCY_LEVEL=$(DEBIAN_KERNEL_JOBS)
+endif
+kpkg_image += make-kpkg --arch '$(firstword $(KPKG_ARCH) $(ARCH))' --cross-compile=- --stem linux --config silentoldconfig
+ifneq ($(INITRAMFS),False)
+  kpkg_image += --initrd
+endif
+ifdef KPKG_SUBARCH
+  kpkg_image += --subarch '$(KPKG_SUBARCH)'
+endif
+
+#
+# Targets
+#
 binary-arch-arch: install-headers_$(ARCH)
-	#
+binary-arch-featureset: install-headers_$(ARCH)_$(FEATURESET)
+binary-arch-flavour: install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+ifeq ($(MODULES),True)
+  binary-arch-flavour: install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+endif
+
 binary-indep: install-support
-	#
+
+build: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+setup-flavour: $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+source-arch: $(STAMPS_DIR)/source
 source-featureset: $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
-	#
 
-%:
-	@$(MAKE) -f debian/rules.real.update $@
+$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG)
+	python debian/bin/kconfig.py '$@' $(KCONFIG)
+
+$(STAMPS_DIR)/source: ORIG = linux-source-$(shell echo "$(VERSION)" | sed -e 's,-[^-]*$$,,')
+$(STAMPS_DIR)/source: DIR = $(BUILD_DIR)/source
+$(STAMPS_DIR)/source:
+	rm -rf '$(DIR)'
+	mkdir -p '$(BUILD_DIR)'
+	tar -C $(BUILD_DIR) -xjf /usr/src/$(ORIG).tar.bz2
+	mv $(BUILD_DIR)/$(ORIG) $(DIR)
+	sed -ie 's,-\([^-]*\)$$,.dfsg.1 \1,' $(DIR)/version.Debian
+	cd '$(DIR)'; python '$(CURDIR)/debian/bin/patch.apply' --overwrite-home='$(CURDIR)/debian/patches-base'
+	touch '$@'
+
+$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
+$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source
+	rm -rf '$(DIR)'
+	cp -al '$(SOURCE_DIR)' '$(DIR)'
+	cd '$(DIR)'; python '$(CURDIR)/debian/bin/patch.apply' --overwrite-home='$(CURDIR)/debian/patches-update' -a $(ARCH) -f $(FEATURESET)
+	touch '$@'
+
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: CONFIG=$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: SOURCE_DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all: $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+	rm -rf '$(DIR)'
+	cp -al '$(SOURCE_DIR)' '$(DIR)'
+	cp '$(CONFIG)' '$(DIR)/.config'
+	echo '$(ABINAME)$(LOCALVERSION_IMAGE)' > '$(DIR)/localversion'
+	echo 'override ARCH = $(KERNEL_ARCH)' >> '$(DIR)/.kernelvariables'
+	echo 'CCACHE = ccache' >> '$(DIR)/.kernelvariables'
+	echo 'CC = $$(if $$(DEBIAN_KERNEL_USE_CCACHE),$$(CCACHE)) $$(CROSS_COMPILE)$(COMPILER)' >> '$(DIR)/.kernelvariables'
+# TODO: Should we set CROSS_COMPILE always?
+ifdef OVERRIDE_HOST_TYPE
+	echo 'override CROSS_COMPILE = $(OVERRIDE_HOST_TYPE)-' >> '$(DIR)/.kernelvariables'
+else
+	echo 'ifneq ($$(DEB_BUILD_ARCH),$$(DEB_HOST_ARCH))' >> '$(DIR)/.kernelvariables'
+	echo 'override CROSS_COMPILE = $$(DEB_HOST_GNU_TYPE)-' >> '$(DIR)/.kernelvariables'
+	echo 'endif' >> '$(DIR)/.kernelvariables'
+endif
+ifdef CFLAGS
+	echo 'CFLAGS += $(CFLAGS)'  >> '$(DIR)/.kernelvariables'
+endif
+	$(MAKE_CLEAN) -C '$(DIR)' reportoldconfig
+
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
+
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
+	$(MAKE_SELF) setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all
+	mkdir -p '$(DIR)/debian'
+	cp debian/{changelog,control,copyright} '$(DIR)/debian'
+	touch '$(DIR)/debian/official'
+	cd '$(DIR)'; $(kpkg_image) configure
+	touch '$@'
+
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain \
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape \
+$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
+	$(MAKE_SELF) setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_all
+	$(MAKE_CLEAN) -C '$(DIR)' $(JOBS_ARG) prepare
+	touch '$@'
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
+	cd '$(DIR)'; $(kpkg_image) build
+	python debian/bin/abicheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
+	touch '$@'
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape: BUILD_TARGET = image
+
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain \
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape \
+$(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
+	$(MAKE_CLEAN) -C '$(DIR)' $(JOBS_ARG) $(BUILD_TARGET)
+	python debian/bin/abicheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
+	touch '$@'
+
+$(STAMPS_DIR)/build-doc: SOURCE_DIR=$(BUILD_DIR)/source
+$(STAMPS_DIR)/build-doc: DIR=$(BUILD_DIR)/build-doc
+$(STAMPS_DIR)/build-doc: $(STAMPS_DIR)/source
+	rm -rf $(DIR)
+	mkdir $(DIR)
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' $(JOBS_ARG) xmldocs
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' $(JOBS_ARG) htmldocs mandocs
+	touch '$@'
+
+install-base:
+	dh_installchangelogs
+	dh_installdocs
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_gencontrol -- $(GENCONTROL_ARGS)
+	dh_md5sums
+	dh_builddeb
+
+install-doc: PACKAGE_NAME = linux-doc-$(VERSION)
+install-doc: DIR = $(BUILD_DIR)/build-doc
+install-doc: SOURCE_DIR = $(BUILD_DIR)/source
+install-doc: PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-doc: OUT_DIR = $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)
+install-doc: DH_OPTIONS = -p$(PACKAGE_NAME)
+install-doc: $(STAMPS_DIR)/build-doc
+	dh_clean -d -k
+	mkdir -p $(OUT_DIR)
+	cp -a $(addprefix $(SOURCE_DIR)/, COPYING CREDITS MAINTAINERS README REPORTING-BUGS Documentation) $(OUT_DIR)
+	rm -rf $(OUT_DIR)/Documentation/DocBook
+	cd $(DIR)/Documentation/DocBook; \
+	find . \
+	  -path './man/*' -prune -o \
+	  \( -name '*.tmpl' -o -name '*.xml' -o -name '*.9' -o \
+	     -name 'Makefile*' -o -name '.*.cmd' -o -name '.gitignore' \) -prune -o \
+	  -print \
+	| \
+	cpio -pd --preserve-modification-time '$(CURDIR)/$(OUT_DIR)/html'
+	gzip -9qfr $(OUT_DIR)/Documentation
+	$(MAKE_SELF) install-base
+
+install-manual: PACKAGE_NAME = linux-manual-$(VERSION)
+install-manual: DIR=$(BUILD_DIR)/build-doc
+install-manual: DH_OPTIONS = -p$(PACKAGE_NAME)
+install-manual: $(STAMPS_DIR)/build-doc
+	dh_clean -d -k
+	find $(DIR)/Documentation/DocBook/man/ -name '*.9' | xargs dh_installman
+	$(MAKE_SELF) install-base
+
+install-dummy:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	$(MAKE_SELF) install-base
+
+install-headers_$(ARCH): PACKAGE_NAMES = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all linux-headers-$(UPSTREAMVERSION)$(ABINAME)-all-$(ARCH)
+install-headers_$(ARCH): DH_OPTIONS = $(foreach p, $(PACKAGE_NAMES), -p$(p))
+install-headers_$(ARCH):
+	dh_testdir
+	dh_testroot
+	$(MAKE_SELF) install-base GENCONTROL_ARGS='-Vkernel:Arch=$(ARCH)'
+
+install-headers_$(ARCH)_$(FEATURESET): PACKAGE_NAME = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-common$(LOCALVERSION_HEADERS)
+install-headers_$(ARCH)_$(FEATURESET): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET): BASE_DIR = /usr/src/$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET): SOURCE_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+install-headers_$(ARCH)_$(FEATURESET): DIR = debian/$(PACKAGE_NAME)/$(BASE_DIR)
+install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
+	dh_testdir
+	dh_testroot
+	dh_clean -k -d
+	cd $(SOURCE_DIR); \
+	( \
+	  find . \
+	    -path './Documentation/*' -prune -o \
+	    -path './arch/*' -prune -o \
+	    -path './include/asm*' -prune -o \
+	    -path './scripts/*' -prune -o \
+	    -path './include/*' -print -o \
+	    \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Rules.make' \) -print; \
+	  find include/asm-generic -print; \
+	  for i in $(KERNEL_HEADER_DIRS); do \
+	    find arch/$$i \
+	      \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Rules.make' -o -name 'module.lds' \) -print; \
+	    find include/asm-$$i -print; \
+	  done; \
+	) \
+	| \
+	cpio -pd --preserve-modification-time '$(CURDIR)/$(DIR)'
+	$(MAKE_SELF) install-base
+
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = linux-headers-$(REAL_VERSION)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_HEADERS = linux-headers-$(UPSTREAMVERSION)$(ABINAME)-common$(LOCALVERSION_HEADERS)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME_KBUILD = linux-kbuild-$(VERSION)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): BASE_DIR = /usr/src/$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REF_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(PACKAGE_DIR)/$(BASE_DIR)
+install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+	dh_testdir
+	dh_testroot
+	dh_clean -k -d
+
+	mkdir -p $(DIR)/arch/$(KERNEL_ARCH)/kernel
+	mkdir -p $(DIR)/include
+	cp -a $(SOURCE_DIR)/{.config,.kernel*,Module.symvers} $(DIR)
+
+	cd $(SOURCE_DIR); \
+	find . -mindepth 1 -maxdepth 1 \
+		! -name debian -a ! -name Documentation -a ! -name include -a \
+		! -name scripts -a ! -name arch -a \( -name Makefile -o -type d \) \
+		-printf "../$(PACKAGE_NAME_HEADERS)/%f\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)
+	
+	cd $(SOURCE_DIR); \
+	find arch/$(KERNEL_ARCH) -mindepth 1 -maxdepth 1 \
+		-type d -a ! -name include -a ! -name kernel -o \
+		-type f -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name "module.lds" \) \
+		-printf "../../../$(PACKAGE_NAME_HEADERS)/%p\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)/arch/$(KERNEL_ARCH)
+
+	cd $(SOURCE_DIR); \
+	find arch/$(KERNEL_ARCH)/kernel -mindepth 1 -maxdepth 1 \
+		-type f -a \( -name 'Makefile*' -o -name 'Kconfig*' -o -name "module.lds" \) \
+		-printf "../../../../$(PACKAGE_NAME_HEADERS)/%p\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)/arch/$(KERNEL_ARCH)/kernel
+
+	[ -d $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include ] && \
+		cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/include $(DIR)/arch/$(KERNEL_ARCH)/include || :
+	cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/kernel/asm-offsets.s $(DIR)/arch/$(KERNEL_ARCH)/kernel || :
+
+ifeq ($(ARCH),powerpc)
+	if [ -f $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o ]; then \
+		mkdir $(DIR)/arch/$(KERNEL_ARCH)/lib; \
+		cp -a $(SOURCE_DIR)/arch/$(KERNEL_ARCH)/lib/crtsavres.o $(DIR)/arch/$(KERNEL_ARCH)/lib; \
+	fi
+endif
+
+	cd $(SOURCE_DIR); \
+	find include -mindepth 1 -maxdepth 1 \
+		! -name config -a ! -name linux -a ! -name 'asm*' \
+		-printf "../../$(PACKAGE_NAME_HEADERS)/%p\n" | \
+		xargs ln -s --target-directory='$(CURDIR)'/$(DIR)/include
+	cp -a $(SOURCE_DIR)/include/config $(DIR)/include
+	
+	ln -sf asm-$(KERNEL_ARCH) $(DIR)/include/asm
+
+	cd $(SOURCE_DIR); \
+	for dir in linux asm-$(KERNEL_ARCH); do \
+		mkdir '$(CURDIR)'/$(DIR)/include/$$dir; \
+		for file in $$(find include/$$dir -mindepth 1 -maxdepth 1); do \
+			if [ -e '$(CURDIR)'/$(REF_DIR)/$$file ]; then \
+				ln -s --target-directory='$(CURDIR)'/$(DIR)/include/$$dir ../../../$(PACKAGE_NAME_HEADERS)/$$file; \
+			else \
+				ln -f --target-directory='$(CURDIR)'/$(DIR)/include/$$dir '$(CURDIR)'/$(SOURCE_DIR)/$$file; \
+			fi \
+		done \
+	done
+
+	cd $(SOURCE_DIR); \
+	for dir in asm-generic $(foreach t,$(filter-out $(KERNEL_ARCH),$(KERNEL_HEADER_DIRS)),asm-$(t)); do \
+		ln -s --target-directory='$(CURDIR)'/$(DIR)/include ../../$(PACKAGE_NAME_HEADERS)/include/$$dir; \
+	done
+
+	ln -s ../$(PACKAGE_NAME_KBUILD)/scripts $(DIR)
+
+	mkdir -p $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)
+	ln -s /usr/src/$(PACKAGE_NAME) $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/build
+
+	$(MAKE_SELF) install-base
+
+install-libc-dev_$(ARCH): PACKAGE_NAME = linux-libc-dev
+install-libc-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-libc-dev_$(ARCH): SOURCE_DIR = $(BUILD_DIR)/source
+install-libc-dev_$(ARCH): DIR = $(BUILD_DIR)/build-libc-dev
+install-libc-dev_$(ARCH): OUT_DIR = debian/$(PACKAGE_NAME)/usr
+install-libc-dev_$(ARCH):
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	rm -rf '$(DIR)'
+	mkdir $(DIR)
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_check ARCH=$(LIBC_DEV_ARCH)
+	$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_install ARCH=$(LIBC_DEV_ARCH) INSTALL_HDR_PATH='$(CURDIR)'/$(OUT_DIR)
+	# XXX: Needs to be removed from libc6-dev
+	rm -rf $(OUT_DIR)/include/scsi
+	$(MAKE_SELF) install-base
+
+install-support: PACKAGE_NAME = linux-support-$(UPSTREAMVERSION)$(ABINAME)
+install-support: DH_OPTIONS = -p$(PACKAGE_NAME)
+install-support: PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-support: PACKAGE_ROOT = /usr/src/$(PACKAGE_NAME)
+install-support:
+	dh_testdir
+	dh_testroot
+	dh_clean -k -d
+	dh_installdirs $(PACKAGE_ROOT)/lib/python/debian_linux $(PACKAGE_ROOT)/modules
+	cp debian/config.defines.dump $(PACKAGE_DIR)$(PACKAGE_ROOT)
+	cp debian/lib/python/debian_linux/*.py $(PACKAGE_DIR)$(PACKAGE_ROOT)/lib/python/debian_linux
+	cp debian/modules/* $(PACKAGE_DIR)$(PACKAGE_ROOT)/modules
+	chmod a+x $(PACKAGE_DIR)$(PACKAGE_ROOT)/modules/gencontrol.py
+	dh_pycentral /usr/src/$(PACKAGE_NAME)/lib/python
+	$(MAKE_SELF) install-base
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): REAL_VERSION = $(UPSTREAMVERSION)$(ABINAME)$(LOCALVERSION)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_NAME = linux-image-$(REAL_VERSION)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): PACKAGE_DIR = debian/$(PACKAGE_NAME)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): INSTALL_DIR = $(PACKAGE_DIR)/boot
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): DH_OPTIONS = -p$(PACKAGE_NAME)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_kernel-package:
+	cd '$(DIR)'; $(kpkg_image) kernel-image
+	cat '$(DIR)/debian/files' >> debian/files
+	@for i in $$(awk '{ print $$1; }' '$(DIR)/debian/files'); do	\
+	  echo "mv \"$(BUILD_DIR)/$$i\" ..";				\
+	  mv "$(BUILD_DIR)/$$i" ..;					\
+	done
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	dh_installdirs 'boot'
+	$(MAKE_SELF) \
+	  install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_image \
+	  DIR='$(DIR)' PACKAGE_DIR='$(PACKAGE_DIR)' INSTALL_DIR='$(INSTALL_DIR)' REAL_VERSION='$(REAL_VERSION)'
+ifeq ($(MODULES),True)
+	$(MAKE_CLEAN) -C $(DIR) modules_install INSTALL_MOD_PATH='$(CURDIR)'/$(PACKAGE_DIR)
+	cp $(DIR)/.config $(PACKAGE_DIR)/boot/config-$(REAL_VERSION)
+	cp $(DIR)/System.map $(PACKAGE_DIR)/boot/System.map-$(REAL_VERSION)
+	rm $(PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/{build,source,modules.*}
+endif
+	$(MAKE_SELF) \
+	  install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates \
+	  PACKAGE_DIR='$(PACKAGE_DIR)' REAL_VERSION='$(REAL_VERSION)'
+	$(MAKE_SELF) \
+	  install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug \
+	  PACKAGE_DIR='$(PACKAGE_DIR)' PACKAGE_NAME='$(PACKAGE_NAME)' REAL_VERSION='$(REAL_VERSION)'
+	$(MAKE_SELF) install-base
+
+install-image_amd64_$(FEATURESET)_$(FLAVOUR)_plain_image \
+install-image_i386_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/arch/$(KERNEL_ARCH)/boot/bzImage' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+
+install-image_m68k_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/vmlinux.gz' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+
+install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_image: WRAPPER_INSTALL_DIR = '$(CURDIR)'/$(PACKAGE_DIR)/usr/lib/linux-image-$(REAL_VERSION)
+install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/vmlinux' $(INSTALL_DIR)/vmlinux-$(REAL_VERSION)
+ifeq ($(KERNEL_ARCH),ppc)
+	# TODO: GNA
+	$(MAKE_CLEAN) -C '$(DIR)/arch/ppc/boot' mkvmlinuz_support_install \
+	  INSTALL_MKVMLINUZ='$(WRAPPER_INSTALL_DIR)'
+else
+	$(MAKE_CLEAN) -C '$(DIR)' bootwrapper_install \
+	  WRAPPER_OBJDIR='$(WRAPPER_INSTALL_DIR)' \
+	  WRAPPER_DTSDIR='$(WRAPPER_INSTALL_DIR)'/dts \
+	  WRAPPER_BINDIR='$(WRAPPER_INSTALL_DIR)'
+endif
+
+install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_image:
+	install -m644 '$(DIR)/arch/s390/boot/image' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+
+ifneq ($(INITRAMFS),False)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_INITRD = YES
+endif
+
+install-image_powerpc_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_KIMAGE = vmlinux
+
+install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_BOOTLOADER = zipl
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates:
+	install -d $(PACKAGE_DIR)/DEBIAN
+	for i in $(wildcard debian/templates/temp.image.plain/*); do \
+	  sed \
+	    -e 's,=D,/boot,g' \
+	    -e 's/=OF/YES/g' \
+	    -e 's/=ST/linux/g' \
+	    -e 's@=A@$(DEB_HOST_ARCH)@g' \
+	    -e 's@=B@$(KERNEL_ARCH)@g' \
+	    -e 's/=IB//g' \
+	    -e 's/=I/$(ARG_INITRD)/g' \
+	    -e 's/=K/$(ARG_KIMAGE)/g' \
+	    -e 's/=L/$(ARG_BOOTLOADER)/g' \
+	    -e 's@=MK@$(INITRD_CMD)@g' \
+	    -e 's/=V/$(REAL_VERSION)/g' \
+	    -e 's/=M//g' \
+	    -e 's/=MD//g' \
+	    -e 's/=R//g' \
+	    -e 's/=S//g' \
+	    $$i > $(PACKAGE_DIR)/DEBIAN/$$(basename $$i); \
+	done
+	chmod 755 $(PACKAGE_DIR)/DEBIAN/{config,{pre,post}*}
+	chmod 644 $(PACKAGE_DIR)/DEBIAN/templates
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug:
+	dh_installdirs usr/share/bug/$(PACKAGE_NAME)
+	dh_install debian/templates/image.plain.bug/* usr/share/bug/$(PACKAGE_NAME)
+	chmod 755 $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/script
+	echo "RELEASE='$(REAL_VERSION)'" > $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/info
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-s390-tape:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	dh_installdirs 'boot'
+	install -m644 '$(DIR)/arch/s390/boot/image' $(PACKAGE_DIR)/boot/vmlinuz-$(REAL_VERSION)
+	$(MAKE_SELF) install-base
+
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: MODULES_PACKAGE_NAME = linux-modules-$(REAL_VERSION)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: MODULES_PACKAGE_DIR = debian/$(MODULES_PACKAGE_NAME)
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen: DH_OPTIONS =
+install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k
+	dh_installdirs -p$(PACKAGE_NAME) boot 'var/lib/$(PACKAGE_NAME)'
+	dh_installdirs -p$(MODULES_PACKAGE_NAME) boot
+	cp '$(DIR)'/arch/$(KERNEL_ARCH)/boot/vmlinuz $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
+	$(MAKE_CLEAN) -C $(DIR) modules_install INSTALL_MOD_PATH='$(CURDIR)'/$(MODULES_PACKAGE_DIR)
+	cp $(DIR)/.config $(MODULES_PACKAGE_DIR)/boot/config-$(REAL_VERSION)
+	cp $(DIR)/System.map $(MODULES_PACKAGE_DIR)/boot/System.map-$(REAL_VERSION)
+	rm $(MODULES_PACKAGE_DIR)/lib/modules/$(REAL_VERSION)/{build,source}
+	dh_installmodules -p$(MODULES_PACKAGE_NAME)
+	for i in $(XEN_VERSIONS); do echo $$i; done > $(PACKAGE_DIR)/var/lib/$(PACKAGE_NAME)/xen-versions
+	install -d $(PACKAGE_DIR)/DEBIAN
+	echo /var/lib/$(PACKAGE_NAME)/xen-versions >> $(PACKAGE_DIR)/DEBIAN/conffiles
+	$(MAKE_SELF) install-base DH_OPTIONS='-p$(PACKAGE_NAME) -p$(MODULES_PACKAGE_NAME)'
+
+install-patch: PACKAGE = linux-patch-debian-$(VERSION)
+install-patch: pbase := /usr/src/kernel-patches/all/$(UPSTREAMVERSION)
+install-patch: pfull := debian/$(PACKAGE)$(pbase)
+install-patch: DH_OPTIONS = -p$(PACKAGE)
+install-patch:
+	dh_testdir
+	dh_testroot
+	dh_clean -d -k $(DH_OPTIONS)
+	dh_installdirs $(DH_OPTIONS) '$(pbase)/apply' '$(pbase)/debian' '$(pbase)/unpatch'
+	dh_install $(DH_OPTIONS) debian/patches/* '$(pbase)/debian'
+	install debian/bin/patch.apply '$(pfull)/apply/debian'
+	install debian/templates/patch.unpatch '$(pfull)/unpatch/debian'
+	find '$(pfull)/debian' ! -path '*/series/*' -type f -execdir bzip2 '{}' ';' -execdir chmod 644 '{}.bz2' ';'
+	$(MAKE_SELF) install-base DH_OPTIONS='$(DH_OPTIONS)'
+
+install-source: DH_OPTIONS = -plinux-source-$(VERSION)
+install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2
+	dh_testdir
+	dh_testroot
+	dh_install $(DH_OPTIONS) '$<' /usr/src
+	$(MAKE_SELF) install-base DH_OPTIONS='$(DH_OPTIONS)'
+
+install-tree: DH_OPTIONS = -plinux-tree-$(VERSION)
+install-tree:
+	$(MAKE_SELF) install-dummy DH_OPTIONS='$(DH_OPTIONS)'
+
+# vim: filetype=make



More information about the Kernel-svn-changes mailing list