Fix support for per-architecture ABI name

In gencontrol.py 'abiname' now includes the upstream version whereas
the part after that is 'abiname_part'.  Update the per-architecture
ABI name handling accordingly.

Also use the per-architecture ABI name in udeb package names and when
generating the maintainer scripts.

svn path=/dists/sid/linux/; revision=20762
This commit is contained in:
Ben Hutchings 2013-10-31 03:58:28 +00:00
parent 2b65b3949c
commit 2e89994185
1 changed files with 9 additions and 8 deletions

View File

@ -128,10 +128,12 @@ class Gencontrol(Base):
if self.version.linux_modifier is None: if self.version.linux_modifier is None:
try: try:
vars['abiname'] = '-%s' % self.config['abi', arch]['abiname'] abiname_part = '-%s' % self.config['abi', arch]['abiname']
except KeyError: except KeyError:
vars['abiname'] = self.abiname abiname_part = self.abiname_part
makeflags['ABINAME'] = vars['abiname'] makeflags['ABINAME'] = vars['abiname'] = \
self.version.linux_upstream + abiname_part
makeflags['ABINAME_PART'] = abiname_part
if foreign_kernel: if foreign_kernel:
packages_headers_arch = [] packages_headers_arch = []
@ -175,8 +177,7 @@ class Gencontrol(Base):
kw_env['KW_DEFCONFIG_DIR'] = installer_def_dir kw_env['KW_DEFCONFIG_DIR'] = installer_def_dir
kw_env['KW_CONFIG_DIR'] = installer_arch_dir kw_env['KW_CONFIG_DIR'] = installer_arch_dir
kw_proc = subprocess.Popen( kw_proc = subprocess.Popen(
['kernel-wedge', 'gen-control', ['kernel-wedge', 'gen-control', vars['abiname']],
self.abiname],
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
env=kw_env) env=kw_env)
udeb_packages = read_control(kw_proc.stdout) udeb_packages = read_control(kw_proc.stdout)
@ -409,11 +410,11 @@ class Gencontrol(Base):
if config_entry_image['type'] == 'plain': if config_entry_image['type'] == 'plain':
substitute_file('headers.plain.postinst', substitute_file('headers.plain.postinst',
'debian/linux-headers-%s%s.postinst' % 'debian/linux-headers-%s%s.postinst' %
(self.abiname, vars['localversion'])) (vars['abiname'], vars['localversion']))
for name in ['postinst', 'postrm', 'preinst', 'prerm', 'templates']: for name in ['postinst', 'postrm', 'preinst', 'prerm', 'templates']:
substitute_file('image.plain.%s' % name, substitute_file('image.plain.%s' % name,
'debian/linux-image-%s%s.%s' % 'debian/linux-image-%s%s.%s' %
(self.abiname, vars['localversion'], name)) (vars['abiname'], vars['localversion'], name))
for path in glob.glob('debian/templates/po/*.po'): for path in glob.glob('debian/templates/po/*.po'):
substitute_file('po/' + os.path.basename(path), substitute_file('po/' + os.path.basename(path),
'debian/po/' + os.path.basename(path), 'debian/po/' + os.path.basename(path),
@ -421,7 +422,7 @@ class Gencontrol(Base):
if build_debug: if build_debug:
substitute_file('image-dbg.lintian-override', substitute_file('image-dbg.lintian-override',
'debian/linux-image-%s%s-dbg.lintian-overrides' % 'debian/linux-image-%s%s-dbg.lintian-overrides' %
(self.abiname, vars['localversion'])) (vars['abiname'], vars['localversion']))
def merge_packages(self, packages, new, arch): def merge_packages(self, packages, new, arch):
for new_package in new: for new_package in new: