On Fri, 2013-12-06 at 11:29 +0800, Niew, Sh. wrote: > On Fri, Dec 6, 2013 at 10:07 AM, Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > > On Fri, 2013-12-06 at 09:45 +0800, Niew, Sh. wrote: > >> On Fri, Dec 6, 2013 at 9:40 AM, Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > >> > On Fri, 2013-12-06 at 09:35 +0800, Niew, Sh. wrote: > >> >> On Thu, Dec 5, 2013 at 10:37 PM, Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > >> >> > builddeb generates a control file that says the linux-headers package > >> >> > can only be built for the build system primary architecture. This > >> >> > breaks cross-building configurations. We should use $debarch for this > >> >> > instead. > >> >> > > >> >> > Since $debarch is not yet set when generating the control file, set > >> >> > Architecture: any and use control file variables to fill in the > >> >> > description. > >> >> > > >> >> > Fixes: cd8d60a20a45 ('kbuild: create linux-headers package in deb-pkg') > >> >> > Reported-by: "Niew, Sh." <shniew@xxxxxxxxx> > >> >> > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> > >> > [...] > >> >> I can't patch this to my linux-3.2.y tree which i clone from linux-stable > >> >> I check that the patches number line are different... > >> >> What i missed? > >> > > >> > This is for mainline; it should apply cleanly to 3.12. > > What ever i try, is failed. Even with 3.12 tree of debian. > I check the failure, the following part can't be patch: > > @@ -62,7 +62,7 @@ create_package() { > fi > > # Create the package > - dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir" > + dpkg-gencontrol -isp $forcearch -Vkernel:debarch="${debarch:-$ > (dpkg --print-architecture)}" -p$pname -P"$pdir" > dpkg --build "$pdir" .. > } I think this has been word-wrapped by your mail program. Here is the patch as an attachment; that should avoid the problem. Ben. > >> What if i want to test this to 3.2? > > > > Then you're on your own, sorry. -- Ben Hutchings Knowledge is power. France is bacon.
From ed10ade229438f3f4ce563e609093fa6362ff0f0 Mon Sep 17 00:00:00 2001 From: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Thu, 5 Dec 2013 04:12:54 +0000 Subject: [PATCH] deb-pkg: Fix cross-building linux-headers package builddeb generates a control file that says the linux-headers package can only be built for the build system primary architecture. This breaks cross-building configurations. We should use $debarch for this instead. Since $debarch is not yet set when generating the control file, set Architecture: any and use control file variables to fill in the description. Fixes: cd8d60a20a45 ('kbuild: create linux-headers package in deb-pkg') Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> --- scripts/package/builddeb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 90e521f..301acdc 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -62,7 +62,7 @@ create_package() { fi # Create the package - dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir" + dpkg-gencontrol -isp $forcearch -Vkernel:debarch="${debarch:-$(dpkg --print-architecture)}" -p$pname -P"$pdir" dpkg --build "$pdir" .. } @@ -288,15 +288,14 @@ mkdir -p "$destdir" (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" -arch=$(dpkg --print-architecture) cat <<EOF >> debian/control Package: $kernel_headers_packagename Provides: linux-headers, linux-headers-2.6 -Architecture: $arch -Description: Linux kernel headers for $KERNELRELEASE on $arch - This package provides kernel header files for $KERNELRELEASE on $arch +Architecture: any +Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} + This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} . This is useful for people who need to build external modules EOF
Attachment:
signature.asc
Description: This is a digitally signed message part