From patchwork Mon Jan 23 11:40:11 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Riku Voipio X-Patchwork-Id: 9532279 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 CC06A6042F for ; Mon, 23 Jan 2017 11:40:28 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DA77926E82 for ; Mon, 23 Jan 2017 11:40:28 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id CF53927D9B; Mon, 23 Jan 2017 11:40:28 +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.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, 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 6496D26E82 for ; Mon, 23 Jan 2017 11:40:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750726AbdAWLk2 (ORCPT ); Mon, 23 Jan 2017 06:40:28 -0500 Received: from mail-lf0-f41.google.com ([209.85.215.41]:35505 "EHLO mail-lf0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750703AbdAWLk1 (ORCPT ); Mon, 23 Jan 2017 06:40:27 -0500 Received: by mail-lf0-f41.google.com with SMTP id n124so91658171lfd.2 for ; Mon, 23 Jan 2017 03:40:26 -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:in-reply-to:references; bh=dxsXwyRhLN1dkCCcg56iPz5QqR+FjLr0FgB8qk1PKJQ=; b=GY9n/V1TSKk0Zs2A1Rl82m1Ez04kIXM2+HuDiGz6+qQHvpz+Gy6Z6e2YaSXxjh9hWW ZLOStO2/58rLVEMp5JJeKtfBwBDc5aQWyeAdLD2eLfQWyD3kf3u0/KukOtaX/WhJSWjT bQu5dT1T9TRaY2/zYDQMoJaj6xX9Tms6oxBDY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=dxsXwyRhLN1dkCCcg56iPz5QqR+FjLr0FgB8qk1PKJQ=; b=YO+TPlwcIoPsM8U2gYHdTi885sf4hHyeVSoLthxDEpsLsHmnm3vTqxoUw6b1ptvF5D /99V4qOhSjXZxVGsjb2MWjrbbSy76w29LhU02hoYiumUjlKr5ANH01UcuDDRykn+mSxL tLw5jvBa5/UgdHNBoKppK9zM56lA6BZI5CAY4m3nz+idjTSl/j5nDIK9wYBwwMWxn/Tt aSAkNRfbjkvA3YsNOiexZjSNAAkEEf2cQ3X+DyAzaioiK4mkrpjfubgKBmxd7zUM7pgb mkpa1qrs2vpHFhf4X4xHhXRwxwImGf2CMxsmGFcrtsoQ5mdSeHwCZarXPv/NnGGGaU0h CtXg== X-Gm-Message-State: AIkVDXJgOMasLpG2knVp4FNbTFbWcOcKDwkh44pTNabG4OoLYS4fTqKr3QnXUwjCXqOpABbf X-Received: by 10.46.78.10 with SMTP id c10mr11094620ljb.24.1485171625885; Mon, 23 Jan 2017 03:40:25 -0800 (PST) Received: from localhost.localdomain (91-157-170-157.elisa-laajakaista.fi. [91.157.170.157]) by smtp.gmail.com with ESMTPSA id b145sm3417124lfg.46.2017.01.23.03.40.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Jan 2017 03:40:24 -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 Subject: [PATCH v2 3/3] builddeb: add make fastdeb-pkg target Date: Mon, 23 Jan 2017 13:40:11 +0200 Message-Id: <20170123114011.4189-4-riku.voipio@linaro.org> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170123114011.4189-1-riku.voipio@linaro.org> References: <20170123114011.4189-1-riku.voipio@linaro.org> 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 Reviewed-by: Andrew Donnellan Signed-off-by: Riku Voipio Tested-by: Jim Davis --- v2: Update comments as suggested by Andrew --- 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 71b4a8af9d4d..fc86cc3ae222 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 image 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 15e69e45cada..c5dc455272ee 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. @@ -321,6 +316,32 @@ EOF fi +# Move firmware out of kernel image 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" @@ -351,22 +372,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 @@ -383,8 +388,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