On Fri, 2013-12-06 at 11:29 +0800, Niew, Sh. wrote:
> On Fri, Dec 6, 2013 at 10:07 AM, Ben Hutchings <ben@decadent.org.uk> 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@decadent.org.uk> 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@decadent.org.uk> 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@gmail.com>
> >> >> > Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
> >> > [...]
> >> >> 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@decadent.org.uk>
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@decadent.org.uk>
---
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