On Fri, Oct 25, 2013 at 10:11:24PM +0100, Ben Hutchings wrote: > The meta-packages do not exist and cross-architecture dependencies are > not supported by dak or britney. So for now, introduce our own > meta-packages where we need them. Okay as a workaround, but your solution is a bit overengineered. I would do it this way: - Add linux-compiler-@version@-x86/linux-compiler-@version@-s390 to linux-tools:template/config.extra.in (not sure if support is currently in there or if it needs to be copied from linux-latest) and don't try to auto-generate them, it is a workaround, no solution. - Add some sort of override to the relations: [relations] headers%gcc-4.8: linux-compiler-@version@-x86 > + 'base': { > + 'compiler-multilib-names': config.SchemaItemList(), > + }, "base" looks wrong as you introduce a new compiler-section. > cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags] > + for compiler_multilib in self.config['base',]['compiler-multilib-names']: > + if arch in self.config['base', 'compiler', compiler_multilib]['arches']: > + cmds_binary_arch.append( > + "$(MAKE) -f debian/rules.real install-dummy" > + " DH_OPTIONS='-plinux-compiler-%s-%s' %s" % > + (self.version.linux_version, compiler_multilib, makeflags)) This is the wrong direction. The real arch needs to specify what compiler it needs, not the compiler which arch. > + if compiler_multilib: > + # We cannot directly depend on all valid compilers > + # without specifying package:arch, which is not > + # supported by dak. Use an intermediate meta-package. > + package_headers['Depends'].extend( > + PackageRelation('linux-compiler-%s-%s' % > + (self.version.linux_version, > + compiler_multilib))) Needs to be specified as relation in the config, not hardcoded. > + for compiler_multilib in self.config['base',]['compiler-multilib-names']: > + if arch in self.config['base', 'compiler', compiler_multilib]['arches']: > + vars['compiler-multilib'] = compiler_multilib > + vars['compiler-arches'] = ' '.join( > + self.config['base', 'compiler', compiler_multilib]['arches']) > + vars['compiler-desc'] = \ > + self.config['base', 'compiler', compiler_multilib]['description'] > + package_compiler_meta, = \ > + self.process_packages(self.templates["control.compiler"], > + vars) > + # XXX: Should check that the compiler is the same for > + # all arches building this meta-package. > + package_compiler_meta['Depends'].extend(relations_compiler) > + packages.append(package_compiler_meta) Urgs. > + [ Ben Hutchings ] > + * [x86,s390,s390x] Introduce linux-compiler meta-packages to allow use of > + foreign linux-headers packages with a native compiler You miss arm. Or is armel and armhf not compatible? Bastian -- Where there's no emotion, there's no motive for violence. -- Spock, "Dagger of the Mind", stardate 2715.1
Attachment:
signature.asc
Description: Digital signature