Bug#379090: preparation for 2.6.18-6 kernel upload on monday 20th of november 2006.
* Goswin von Brederlow (brederlo@informatik.uni-tuebingen.de) [061120 10:47]:
> Bastian Blank <waldi@debian.org> wrote:
> > On Sat, Nov 18, 2006 at 07:12:49AM +0100, Goswin von Brederlow wrote:
> > The patch breaks crosscompilation and other things.
>
> > | diff -u linux-2.6.16-2.6.16/debian/arch/i386/xen-vserver/defines linux-2.6.16-2.6.16/debian/arch/i386/xen-vserver/defines
> > | --- linux-2.6.16-2.6.16/debian/arch/i386/xen-vserver/defines
> > | +++ linux-2.6.16-2.6.16/debian/arch/i386/xen-vserver/defines
> > | @@ -12 +12,9 @@
> > | +kernel-arch: i386
> > |
> > | +[amd64]
> > | +class: AMD64 / EM64T SMP
> > | +longclass: 64bit multi-processor AMD Athlon64/Opteron / Intel EM64T models
> > | +KPKG-ARCH: amd64
> > | +recommends: libc6-i686
> > | +kpkg-arch: amd64
>
> > kpkg always gets the debian arch of the system it compiles for.
> > Overwriting this is not allowed.
> See also man make-kpkg:
>
> | The value should be whatever DEB_HOST_ARCH_CPU contains when
> | dpkg-architecture is run on the target machine, or it can be an other
> | architecture in a multi-arch set (like i386/amd64).
>
> Which is what we do here.
Sounds sane.
> Anyway, leave the xen stuff disabled if that makes problems for
> you. As said in this bugreport before we probably don't need it.
Good.
> > | diff -u linux-2.6.16-2.6.16/debian/rules.real linux-2.6.16-2.6.16/debian/rules.real
> > | --- linux-2.6.16-2.6.16/debian/rules.real
> > | +++ linux-2.6.16-2.6.16/debian/rules.real
> > | @@ -35,7 +35,11 @@
> > | # replaced by the flavour for which the command is run.
> > | #
> > | kpkg_image := make-kpkg
> > | -kpkg_image += --arch '$(ARCH)'
> > | +ifdef KPKG_ARCH
> > | + kpkg_image += --arch '$(KPKG_ARCH)' --cross-compile='-'
> > | +else
> > | + kpkg_image += --arch '$(ARCH)'
> > | +endif
> > | kpkg_image += --stem linux
> > | ifneq ($(INITRAMFS),False)
> > | kpkg_image += --initrd
>
> > No. The cross compilation stuff is set intern and must not be overwriten
> > by the rules.
>
> Yes it must.
>
> We are building for a multi-arch set here and the synatx for that is
> to set the architecture but not to cross-compile. --cross-compile='-'
> does that.
The man page tells:
--cross-compile foo
This is useful for setting the target string when you
are cross compiling. Use the dummy target "-" if you are
building for other arches of a multiarch set, like
i386/amd64.
The supports Goswins view. There is however one negative side-effect:
You cannot crosscompile i386-kernel-package anymore. It might be better
to set --cross-compile to the right value for i386 - but that shouldn't
block application of this patch.
Goswin, I expect you actually tested this patch on an i386, and it
returned proper kernels (i.e. you tried at least one of them).
If so, I think this patch is now in a state where it can be applied.
Cheers,
Andi
--
http://home.arcor.de/andreas-barth/
Reply to: