Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #55883

Re: [PATCH] builddeb: add make fastdeb-pkg target

From Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Newsgroups linux.debian.kernel
Subject Re: [PATCH] builddeb: add make fastdeb-pkg target
Date 2016-11-29 04:10 +0100
Message-ID <sIGXT-2Bs-5@gated-at.bofh.it> (permalink)
References <sHpPs-1LD-29@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 26/11/16 01:15, riku.voipio@linaro.org wrote:
> From: Riku Voipio <riku.voipio@linaro.org>
>
> 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 <jim.epost@gmail.com>
> Cc: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>

Some comments below. With those addressed:

Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>

> ---
>  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'

Perhaps "kernel image deb package" to be more specific?

>  	@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.

This comment is no longer accurate as we split the move and the build.

> +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

How idiomatic is [ condition ] && command vs if [ condition ]; then 
command; fi? Perhaps it's just my lack of bash-fu but this took me a 
moment to parse.

> +
> +if [ -e "$fwdir/lib/firmware/$version" ]; then
> +	cat <<EOF >> 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 <<EOF >> 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 <<EOF >> 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
>

-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com  IBM Australia Limited

Back to linux.debian.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] builddeb: add make fastdeb-pkg target riku.voipio@linaro.org - 2016-11-25 15:40 +0100
  Re: [PATCH] builddeb: add make fastdeb-pkg target Andrew Donnellan <andrew.donnellan@au1.ibm.com> - 2016-11-29 04:10 +0100
    Re: [PATCH] builddeb: add make fastdeb-pkg target Andrew Donnellan <andrew.donnellan@au1.ibm.com> - 2017-01-13 08:20 +0100
      Re: [PATCH] builddeb: add make fastdeb-pkg target Riku Voipio <riku.voipio@linaro.org> - 2017-01-15 14:10 +0100

csiph-web