[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PATCH] Allow use of foreign linux-headers packages with a native compiler



On Sun, 2013-10-27 at 13:27 +0100, Bastian Blank wrote:
> 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.

I did think of doing it that way, but though it better to use a single
package template.  But I suppose there will be very little to duplicate.

> - Add some sort of override to the relations:
>   [relations]
>   headers%gcc-4.8: linux-compiler-@version@-x86

Maybe.

[...]
> >          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.

I think this is all required if we use just a single template for the
linux-compiler packages, but avoidable if there is a template per
compiler architecture.

[...]
> > +  [ 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?

I'm not sure.  They probably are, with a native compiler.

Ben.

-- 
Ben Hutchings
If at first you don't succeed, you're doing about average.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: