aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2015-12-19 16:54:59 +0000
committerBen Hutchings <ben@decadent.org.uk>2015-12-19 16:57:10 +0000
commit8571d54a8b7a2cebdba0a317a813f8b7c3ed2bc6 (patch)
treee3b1f93109979573dd26bf596ce9ef377852b150
parentfa3d046a1346af5c8286638a4d93246b2a02c1c9 (diff)
downloadkernel_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-xdebian/bin/gencontrol.py21
-rw-r--r--debian/rules.real3
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)