From 9b82c45d67dc4051cdf95ea22e1fafcb7e0a4d59 Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Thu, 20 Aug 2020 10:17:41 +0200 Subject: Factor out installer modules disable flag --- debian/bin/gencontrol.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index d5ee79be11c8..d2e52654919c 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -58,6 +58,10 @@ class Gencontrol(Base): } } + env_flags = [ + ('DEBIAN_KERNEL_DISABLE_INSTALLER', 'disable_installer', 'installer modules'), + ] + def __init__(self, config_dirs=["debian/config"], template_dirs=["debian/templates"]): super(Gencontrol, self).__init__( @@ -67,6 +71,17 @@ class Gencontrol(Base): self.process_changelog() self.config_dirs = config_dirs + for env, attr, desc in self.env_flags: + setattr(self, attr, False) + if os.getenv(env): + if self.changelog[0].distribution == 'UNRELEASED': + import warnings + warnings.warn(f'Disable {desc} on request ({env} set)') + setattr(self, attr, True) + else: + raise RuntimeError( + 'Unable to disable {desc} in release build ({env} set)') + def _setup_makeflags(self, names, makeflags, data): for src, dst, optional in names: if src in data or not optional: @@ -90,16 +105,7 @@ class Gencontrol(Base): self.installer_packages = {} - if os.getenv('DEBIAN_KERNEL_DISABLE_INSTALLER'): - if self.changelog[0].distribution == 'UNRELEASED': - import warnings - warnings.warn('Disable installer modules on request ' - '(DEBIAN_KERNEL_DISABLE_INSTALLER set)') - else: - raise RuntimeError( - 'Unable to disable installer modules in release build ' - '(DEBIAN_KERNEL_DISABLE_INSTALLER set)') - elif self.config.merge('packages').get('installer', True): + if not self.disable_installer and self.config.merge('packages').get('installer', True): # Add udebs using kernel-wedge kw_env = os.environ.copy() kw_env['KW_DEFCONFIG_DIR'] = 'debian/installer' -- cgit v1.2.3