From patchwork Fri Nov 25 14:15:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Riku Voipio X-Patchwork-Id: 9447651 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id BCD4E6071B for ; Fri, 25 Nov 2016 14:15:50 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A92B827D5D for ; Fri, 25 Nov 2016 14:15:50 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9BABB280CF; Fri, 25 Nov 2016 14:15:50 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8080627D5D for ; Fri, 25 Nov 2016 14:15:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753714AbcKYOPq (ORCPT ); Fri, 25 Nov 2016 09:15:46 -0500 Received: from mail-lf0-f48.google.com ([209.85.215.48]:33878 "EHLO mail-lf0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753751AbcKYOPp (ORCPT ); Fri, 25 Nov 2016 09:15:45 -0500 Received: by mail-lf0-f48.google.com with SMTP id o141so51669542lff.1 for ; Fri, 25 Nov 2016 06:15:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=xifdBoQDWEDgfbTHGAie5qD38LK/IttFRbwe28XpTrE=; b=da2Pg+nt+NVG3MlSvbriiJyZbD8nD8oJh2wKw2XoJsg3k2nc0ZiH0oGv89x2e+9sSY mVVRwxsj40uV34Pc2aYTKHBSMCZv9Eqk8v4bAFdG+hEXKl/e/DQGECGhxRIVEbB9CvUn 1PJOQOqiUiBEPjXbOsBVh+twDL3ePV7Fw9VL0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=xifdBoQDWEDgfbTHGAie5qD38LK/IttFRbwe28XpTrE=; b=BmAig4AwXDU3GLI89/QsgMwUsCftxowKwbQrmuaSfZak/q8zS3Z7ZTd22Pit+iEORZ oqQkJzeNdW6PtNzlmXN9qgANiRFhnVwD5xyGbPGwt+Av33E9TXiciRQyzytrb0a/zTId kUenue2UNlrjaj7EdMokSj29HuWzpznbFhUb01b5w6Y6tZ9F1LHxIsT++4LYeXMCz9OJ xkTiVyPXkvqKMWcOSpHA6TdCgOl2h2v9HuGRGWJ+gGfJBr+ZzjqYe4DfQt9DP9Q8xHl9 AS/xJbtmCfsEkM8w0oUXfEOs3aTYRKRP8F0CjQ/ktLWdDDKRa82YgNwD+DETtckubsBO 3iMQ== X-Gm-Message-State: AKaTC03T96q3zlb8Y3x4Lno0F7znK/o7LhUSje5kyc1iMMXq20XCXP9zrrLsRZ0qiIKYnEhM X-Received: by 10.25.202.6 with SMTP id a6mr3481816lfg.30.1480083308954; Fri, 25 Nov 2016 06:15:08 -0800 (PST) Received: from localhost.localdomain (91-157-170-157.elisa-laajakaista.fi. [91.157.170.157]) by smtp.gmail.com with ESMTPSA id e37sm9293507lji.42.2016.11.25.06.15.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Nov 2016 06:15:07 -0800 (PST) From: riku.voipio@linaro.org To: linux-kbuild@vger.kernel.org, mmarek@suse.cz Cc: debian-kernel@lists.debian.org, Riku Voipio , Jim Davis , Andrew Donnellan Subject: [PATCH] builddeb: add make fastdeb-pkg target Date: Fri, 25 Nov 2016 16:15:06 +0200 Message-Id: <20161125141506.30094-1-riku.voipio@linaro.org> X-Mailer: git-send-email 2.10.2 Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Riku Voipio Currently, the deb-pkg and bindeb-pkg targets create multiple packages for the kernel binaries, headers, userspace headers and firmware. For developers who generate Debian packages as part of their development workflows, it's often not necessary to generate all these packages. Introduce new target, fastdeb-pkg, which only generates kernel packages. Re-order package build order so that kernel binary package is created first and we can exit cleanly unless generating rest packages with the old bindeb-pkg and deb-pkg targets. Cc: Jim Davis Cc: Andrew Donnellan Signed-off-by: Riku Voipio Reviewed-by: Andrew Donnellan --- scripts/package/Makefile | 7 ++++++- scripts/package/builddeb | 49 +++++++++++++++++++++++++----------------------- 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/scripts/package/Makefile b/scripts/package/Makefile index 71b4a8a..c858366 100644 --- a/scripts/package/Makefile +++ b/scripts/package/Makefile @@ -97,6 +97,10 @@ bindeb-pkg: FORCE $(MAKE) KBUILD_SRC= +$(call cmd,builddeb) +fastdeb-pkg: FORCE + $(MAKE) KBUILD_SRC= + +$(call cmd,builddeb) + clean-dirs += $(objtree)/debian/ @@ -142,7 +146,8 @@ help: FORCE @echo ' rpm-pkg - Build both source and binary RPM kernel packages' @echo ' binrpm-pkg - Build only the binary kernel RPM package' @echo ' deb-pkg - Build both source and binary deb kernel packages' - @echo ' bindeb-pkg - Build only the binary kernel deb package' + @echo ' bindeb-pkg - Build all binary kernel deb packages' + @echo ' fastdeb-pkg - Build only the binary kernel deb package' @echo ' tar-pkg - Build the kernel as an uncompressed tarball' @echo ' targz-pkg - Build the kernel as a gzip compressed tarball' @echo ' tarbz2-pkg - Build the kernel as a bzip2 compressed tarball' diff --git a/scripts/package/builddeb b/scripts/package/builddeb index 8ea9fd2..5035f57 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -185,11 +185,6 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then fi fi -if [ "$ARCH" != "um" ]; then - $MAKE headers_check KBUILD_SRC= - $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" -fi - # Install the maintainer scripts # Note: hook scripts under /etc/kernel are also executed by official Debian # kernel packages, as well as kernel packages built using make-kpkg. @@ -323,6 +318,32 @@ EOF fi +# Do we have firmware? Move it out of the way and build it into a package. +if [ -e "$tmpdir/lib/firmware" ]; then + mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/" + rmdir "$tmpdir/lib/firmware" +fi + +create_package "$packagename" "$tmpdir" +[ "x$1" = "xfastdeb-pkg" ] && exit 0 + +if [ -e "$fwdir/lib/firmware/$version" ]; then + cat <> debian/control + +Package: $fwpackagename +Architecture: all +Description: Linux kernel firmware, version $version + This package contains firmware from the Linux kernel, version $version. +EOF + + create_package "$fwpackagename" "$fwdir" +fi + +if [ "$ARCH" != "um" ]; then + $MAKE headers_check KBUILD_SRC= + $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" +fi + # Build kernel header package (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" (cd $srctree; find arch/*/include include scripts -type f) >> "$objtree/debian/hdrsrcfiles" @@ -354,22 +375,6 @@ Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This is useful for people who need to build external modules EOF -# Do we have firmware? Move it out of the way and build it into a package. -if [ -e "$tmpdir/lib/firmware" ]; then - mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/" - rmdir "$tmpdir/lib/firmware" - - cat <> debian/control - -Package: $fwpackagename -Architecture: all -Description: Linux kernel firmware, version $version - This package contains firmware from the Linux kernel, version $version. -EOF - - create_package "$fwpackagename" "$fwdir" -fi - cat <> debian/control Package: $libc_headers_packagename @@ -386,8 +391,6 @@ if [ "$ARCH" != "um" ]; then create_package "$libc_headers_packagename" "$libc_headers_dir" fi -create_package "$packagename" "$tmpdir" - if [ -n "$BUILD_DEBUG" ] ; then # Build debug package # Different tools want the image in different locations