Re: [PATCH 1/1] deb-pkg: fix cross-compile build

Robert Gordon
2011-05-05T18:34:20Z

On 5/5/11 11:23 AM, Robert Gordon wrote:
> On 5/5/11 10:10 AM, Nuno Subtil wrote:
>> This patch is not meant to fix that case, only the case where
>> KBUILD_DEBARCH is used.
>>
>> KBUILD_DEBARCH seems to be meant to be used as an override for what
>> Debian wants to see as the target architecture. Arguably, the right
>> thing to do here might be to do the same arch detection sequence
>> that's done in create_package(), which looks at UTS_MACHINE first and
>> the KBUILD_DEBARCH override after that (though I'm not entirely sure).
>>
>> This patch only adds the KBUILD_DEBARCH override, but that is still
>> better than the current situation. I can easily get the rest in later
>> if needed.
>>
>> Nuno
>>
>> On Thu, May 5, 2011 at 08:42, Robert Gordon
>> <robert@greenroomsoftware.com> wrote:
>>> On 05/05/2011 02:07 AM, maximilian attems wrote:
>>>> On Wed, May 04, 2011 at 10:48:07PM +0200, Michal Marek wrote:
>>>>> Adding Maks to CC.
>>>> thanks, this one looks, good please disguard the other patch.
>>>>
>>>>> On Tue, May 03, 2011 at 10:59:10PM -0700, Nuno Subtil wrote:
>>>>>> When generating the header package, scripts/package/builddeb was
>>>>>> inferring the
>>>>>> target architecture by looking at the output of dpkg
>>>>>> --print-architecture. This
>>>>>> allows KBUILD_DEBARCH to override that.
>>>>>>
>>>>>> Signed-off-by: Nuno Subtil<subtil@gmail.com>
>>>> Acked-by: maximilian attems<max@stro.at>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe
>>>> linux-kbuild" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> Greetings,
>>>
>>> Compile breaks when using the following command:
>>> fakeroot make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- deb-pkg
>>>
>>> With 'set -x' in scripts/package/builddeb, the relevant output is:
>>> + '[' -n '' ']'
>>> ++ dpkg --print-architecture
>>> + arch=i386
>>> This indicates that KBUILD_DEBARCH is not set.
>>>
>>> The debian/control file is written with the following section:
>>> Package: linux-headers-2.6.39-rc5+
>>> Provides: linux-headers, linux-headers-2.6
>>> Architecture: i386
>>> Description: Linux kernel headers for 2.6.39-rc5+ on i386
>>> This package provides kernel header files for 2.6.39-rc5+ on i386
>>>
>>> This produces the following error output:
>>> + forcearch=-DArchitecture=armel
>>> + dpkg-gencontrol -isp -DArchitecture=armel
>>> -plinux-headers-2.6.39-rc5+ -P/opt/kernel-linus/linux-2.6/debian/hdrtmp
>>> dpkg-gencontrol: error: current host architecture 'armel' does not
>>> appear in package's architecture list (i386)
>>>
>>> Regards,
>>> Robert
>>>
>>>
> Nuno,
> Thanks for the response. I am very new at this process, but I am trying
> to learn. Yesterday, I submitted a patch that was intended to address
> the same issue that you have addressed. I did what you are suggesting by
> mimicking what is done in create_package(), but leaving i386/x86_64
> untouched. Here is the subject of the patch I sent:
>
> [PATCH] kbuild, deb-pkg: set host machine $arch correctly when
> cross-compiling or not
>
> Please advise if I should resend.
>
> Regards,
> Robert
>
> -- *
> *
>

Apologies, resending because messages were rejected by the mailing lists
(probably due to html) - Robert

--