From patchwork Fri Dec 6 04:04:15 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Hutchings X-Patchwork-Id: 3293041 Return-Path: X-Original-To: patchwork-linux-kbuild@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id ECCEFC0D4A for ; Fri, 6 Dec 2013 04:04:26 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 31EF0204AF for ; Fri, 6 Dec 2013 04:04:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5E70620395 for ; Fri, 6 Dec 2013 04:04:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751663Ab3LFEEY (ORCPT ); Thu, 5 Dec 2013 23:04:24 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:36178 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751145Ab3LFEEY (ORCPT ); Thu, 5 Dec 2013 23:04:24 -0500 Received: from [192.168.4.220] (helo=deadeye.wl.decadent.org.uk) by shadbolt.decadent.org.uk with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1VomeL-0007U8-7u; Fri, 06 Dec 2013 04:04:21 +0000 Received: from ben by deadeye.wl.decadent.org.uk with local (Exim 4.80) (envelope-from ) id 1VomeK-0002ND-H1; Fri, 06 Dec 2013 04:04:20 +0000 Message-ID: <1386302655.3000.48.camel@deadeye.wl.decadent.org.uk> Subject: Re: [PATCH 1/2] deb-pkg: Fix cross-building linux-headers package From: Ben Hutchings To: "Niew, Sh." Cc: Michal Marek , linux-kbuild@vger.kernel.org, debian-kernel@lists.debian.org Date: Fri, 06 Dec 2013 04:04:15 +0000 In-Reply-To: References: <1386254255.3000.20.camel@deadeye.wl.decadent.org.uk> <1386294039.3000.29.camel@deadeye.wl.decadent.org.uk> <1386295673.3000.35.camel@deadeye.wl.decadent.org.uk> X-Mailer: Evolution 3.8.5-2+b1 Mime-Version: 1.0 X-SA-Exim-Connect-IP: 192.168.4.220 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_TVD_MIME_EPI, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Fri, 2013-12-06 at 11:29 +0800, Niew, Sh. wrote: > On Fri, Dec 6, 2013 at 10:07 AM, Ben Hutchings wrote: > > On Fri, 2013-12-06 at 09:45 +0800, Niew, Sh. wrote: > >> On Fri, Dec 6, 2013 at 9:40 AM, Ben Hutchings wrote: > >> > On Fri, 2013-12-06 at 09:35 +0800, Niew, Sh. wrote: > >> >> On Thu, Dec 5, 2013 at 10:37 PM, Ben Hutchings 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." > >> >> > Signed-off-by: Ben Hutchings > >> > [...] > >> >> 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. From ed10ade229438f3f4ce563e609093fa6362ff0f0 Mon Sep 17 00:00:00 2001 From: Ben Hutchings 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 --- 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 <> 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