Re: [PATCH v6 07/12] kbuild: deb-pkg: switch over to source format 3.0 (quilt)

From: Nicolas Schier
Date: Fri Feb 24 2023 - 17:48:22 EST


On Wed, Feb 15, 2023 at 10:20:29AM +0900 Masahiro Yamada wrote:
> Change the source format from "1.0" to "3.0 (quilt)" because it works
> more cleanly.
>
> All files except .config and debian/ go into the orig tarball.
> Add a single patch, debian/patches/config, and delete the ugly
> extend-diff-ignore patterns.
>
> The debian tarball will be compressed into *.debian.tar.xz by default.
> If you like to use a different compression mode, you can pass the
> command line option, DPKG_FLAGS=-Zgzip, for example.
>
> The orig tarball only supports gzip for now. The combination of
> gzip and xz is somewhat clumsy, but it is not a practical problem.
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---

Thanks, that switch to 3.0/quilt sounds really good to me.

>
> Changes in v6:
> - Fix error when KCONFIG_CONFIG is set
>
> Changes in v4:
> - New patch
>
> scripts/Makefile.package | 2 +-
> scripts/package/mkdebian | 41 ++++++++++++++++++----------------------
> 2 files changed, 19 insertions(+), 24 deletions(-)
>
> diff --git a/scripts/Makefile.package b/scripts/Makefile.package
> index 80a96eb61426..5538deacb136 100644
> --- a/scripts/Makefile.package
> +++ b/scripts/Makefile.package
> @@ -105,7 +105,7 @@ debian-orig: linux.tar.gz debian
> PHONY += deb-pkg
> deb-pkg: debian-orig
> +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) \
> - --build=source,binary --source-option=-sP -nc -us -uc
> + --build=source,binary -nc -us -uc
>
> PHONY += bindeb-pkg
> bindeb-pkg: debian
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 534e9713761a..22fc73a5e4f2 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -135,29 +135,24 @@ else
> fi
>
> mkdir -p debian/source/
> -echo "1.0" > debian/source/format
> -
> -# Ugly: ignore anything except .config or debian/
> -cat<<'EOF' > debian/source/local-options
> -diff-ignore
> -
> -extend-diff-ignore = ^[^.d]
> -
> -extend-diff-ignore = ^\.[^c]
> -extend-diff-ignore = ^\.c($|[^o])
> -extend-diff-ignore = ^\.co($|[^n])
> -extend-diff-ignore = ^\.con($|[^f])
> -extend-diff-ignore = ^\.conf($|[^i])
> -extend-diff-ignore = ^\.confi($|[^g])
> -extend-diff-ignore = ^\.config.
> -
> -extend-diff-ignore = ^d($|[^e])
> -extend-diff-ignore = ^de($|[^b])
> -extend-diff-ignore = ^deb($|[^i])
> -extend-diff-ignore = ^debi($|[^a])
> -extend-diff-ignore = ^debia($|[^n])
> -extend-diff-ignore = ^debian[^/]
> -EOF
> +echo "3.0 (quilt)" > debian/source/format
> +
> +{
> + echo "diff-ignore"
> + echo "extend-diff-ignore = .*"
> +} > debian/source/local-options
> +
> +# Add .config as a patch
> +mkdir -p debian/patches
> +{
> + echo "Subject: Add .config"
> + echo "Author: ${maintainer}"
> + echo
> + echo "--- /dev/null"
> + echo "+++ linux/.config"

bike-shedding:

cat <<-eof
Subject: Add .config
Author: ${maintainer}

--- /dev/null
+++ linux/.config
eof


> + diff -u /dev/null "${KCONFIG_CONFIG}" | tail -n +3
> +} > debian/patches/config
> +echo config > debian/patches/series
>
> echo $debarch > debian/arch
> extra_build_depends=", $(if_enabled_echo CONFIG_UNWINDER_ORC libelf-dev:native)"
> --
> 2.34.1

Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>

Attachment: signature.asc
Description: PGP signature