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

Re: Bug#344833: attached an ugly and hacky patch which allows me to build 2.6.15 on powerpc.



On Mon, Dec 26, 2005 at 10:23:20PM -0600, Manoj Srivastava wrote:
> Hi,
> 
>         Umm. I'll accept part of this patch -- the part where you set
>  KERNEL_ARCH  based on KPKG_SUBARCH. I'm not going to change the
>  common/* stuff just for ppc. If it appears that needs changing, then
>  there is a bug elsewhere.

Well, Then you didn't fix anything at all, really. You make a wrong assumption
on the kernel ARCH vs the debian architecture, and this breaks in cases like
powerpc where there is not a 1-1 mapping between both, i guess amd64 also
suffer from this problem, but i am not sure how you solved this.

The other day you complained i just filled a bug report without investigating,
and now i investigated, and you just refuse to fix the brokeness, claiming
there is a bug elsewhere or something.

So, to make things clear, the official powerpc debian/dpkg arch is powerpc,
the unnofficial andreas-jochens-pure64 debian/dpkg arch is ppc64, and the
future multi-arch 64bit powerpc debian/dpkg arch will be powerpc64, once we
have multi-arch support.

On the kernel side, upto now, we had two kernel archs (ARCH=ppc for 32bit and
ARCH=ppc64 for 64bit), and we are slowly merging this into a single
ARCH=powerpc. ARCH=ppc64 has dissapeared and is replaced by ARCH=powerpc since
2.6.15 (including the -rc ones), and the 32bit powerpc arch can build with
both ARCH=ppc and ARCH=powerpc as of 2.6.15, it is expected that ARCH=ppc will
go away in 2.6.16 or soon thereafter.

Since kernel-package aims to be able to build kernels for newer and older
kernels, we need to support all three cases. In order to do this, we need to
be able to set the ARCH field accordying to version and 32/64 bitness. I used
to hardcode the ARCH from the KPKG_SUBARCH (powerpc->ARCH=ppc,
powerpc64->ARCH=ppc64), but this is no more future proof, and i believe was
kind a suboptimal back then. The right way is to be able to tell make-kpkg the
ARCH to use, which i believe is what the --arch arg is supposed to be for, but
you are making a confusion between the debian/dpkg arch and the kernel arch,
which is the cause of this problem.

So, it would be nice if you could define clearly what the --arch is for, to
set the debian/dpkg arch or the kernel arch, and if we really need to be able
to set the debian/dpkg arch in this way, then you need also to provide an
option for setting the kernel arch.

Current code, apart from the purely powerpc case, and my unsureness of chosing
the ARCH=ppc or ARCH=powerpc for 2.6.15, make two broken assumptions about
this :

  1) the --arch seems clearly to be used only for cross compilation, and
  altough you have a funny and unexplained powerpc64 special casing, it
  doesn't really solve the problem in his generality.

  2) kernel-package goes under the assumption that the kernel ARCH is the same
  as the debian architecture, which is obviously wrong.

So, all in all, i think the bug is in kernel-package, and we are dependent on
you fixing it properly to be able to again build kernels on powerpc, which
probably includes both 2.6.15 and 2.6.14 and all older kernels in the current
state of things.

Friendly,

Sven Luther



Reply to: