diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2015-12-19 16:54:59 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2015-12-19 16:57:10 +0000 |
commit | 8571d54a8b7a2cebdba0a317a813f8b7c3ed2bc6 (patch) | |
tree | e3b1f93109979573dd26bf596ce9ef377852b150 | |
parent | fa3d046a1346af5c8286638a4d93246b2a02c1c9 (diff) | |
download | kernel_replicant_linux-8571d54a8b7a2cebdba0a317a813f8b7c3ed2bc6.tar.gz kernel_replicant_linux-8571d54a8b7a2cebdba0a317a813f8b7c3ed2bc6.tar.bz2 kernel_replicant_linux-8571d54a8b7a2cebdba0a317a813f8b7c3ed2bc6.zip |
Add config parameter to disable linux-headers-all packages
The linux-grsec source package needs a way to explicitly disable these
binary packages which are already built by the linux source package.
We already do that when there are no actual kernels for the target
architecture. Rename the FOREIGN_KERNEL make variable and combine the
two conditions.
Based on work by Yves-Alexis Perez.
-rwxr-xr-x | debian/bin/gencontrol.py | 21 | ||||
-rw-r--r-- | debian/rules.real | 3 |
2 files changed, 14 insertions, 10 deletions
diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index e5ab76d6486c..9c0070f1ee9b 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -44,6 +44,7 @@ class Gencontrol(Base): }, 'packages': { 'docs': config.SchemaItemBoolean(), + 'headers-all': config.SchemaItemBoolean(), 'installer': config.SchemaItemBoolean(), 'libc-dev': config.SchemaItemBoolean(), @@ -134,10 +135,6 @@ class Gencontrol(Base): self._setup_makeflags(self.arch_makeflags, makeflags, config_base) def do_arch_packages(self, packages, makefile, arch, vars, makeflags, extra): - # Some userland architectures require kernels from another - # (Debian) architecture, e.g. x32/amd64. - foreign_kernel = not self.config['base', arch].get('featuresets') - if self.version.linux_modifier is None: try: abiname_part = '-%s' % self.config['abi', arch]['abiname'] @@ -146,14 +143,19 @@ class Gencontrol(Base): makeflags['ABINAME'] = vars['abiname'] = \ self.abiname_version + abiname_part - if foreign_kernel: - packages_headers_arch = [] - makeflags['FOREIGN_KERNEL'] = True - else: + # Some userland architectures require kernels from another + # (Debian) architecture, e.g. x32/amd64. + # And some derivatives don't need the headers-all packages + # for other reasons. + if (self.config['base', arch].get('featuresets') and + self.config.merge('packages').get('headers-all', True)): headers_arch = self.templates["control.headers.arch"] packages_headers_arch = self.process_packages(headers_arch, vars) packages_headers_arch[-1]['Depends'].extend(PackageRelation()) extra['headers_arch_depends'] = packages_headers_arch[-1]['Depends'] + else: + packages_headers_arch = [] + makeflags['DO_HEADERS_ALL'] = False if self.config.merge('packages').get('libc-dev', True): libc_dev = self.templates["control.libc-dev"] @@ -364,7 +366,8 @@ class Gencontrol(Base): package_headers = self.process_package(headers[0], vars) package_headers['Depends'].extend(relations_compiler_headers) packages_own.append(package_headers) - extra['headers_arch_depends'].append('%s (= ${binary:Version})' % packages_own[-1]['Package']) + if extra.get('headers_arch_depends'): + extra['headers_arch_depends'].append('%s (= ${binary:Version})' % packages_own[-1]['Package']) build_debug = config_entry_build.get('debug-info') diff --git a/debian/rules.real b/debian/rules.real index 403bfe0b88b5..4861fce359fb 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -50,7 +50,8 @@ MAKEOVERRIDES = # # Targets # -ifneq ($(FOREIGN_KERNEL),True) +binary-arch-arch: +ifneq ($(DO_HEADERS_ALL),False) binary-arch-arch: install-headers_$(ARCH) endif ifneq ($(DO_LIBC),False) |