Re: [PATCH v6 05/12] kbuild: deb-pkg: hide KDEB_SOURCENAME from Makefile

Nicolas Schier
2023-02-24T22:34:41Z

[-- Attachment #1: Type: text/plain, Size: 3225 bytes --]

On Wed, Feb 15, 2023 at 10:20:27AM +0900 Masahiro Yamada wrote:
> scripts/Makefile.package does not need to know the value of
> KDEB_SOURCENAME because the source name can be taken from
> debian/changelog by using dpkg-parsechangelog.
>
> Move the default of KDEB_SOURCENAME (i.e. linux-upstream) to
> scripts/package/mkdebian.
>
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
>
> (no changes since v5)
>
> Changes in v5:
> - Copy linux.tar.gz to .orig tarball
>
> Changes in v3:
> - Move cmd_debianize
>
> Changes in v2:
> - New patch
>
> scripts/Makefile.package | 23 +++++++++++++++--------
> scripts/package/mkdebian | 2 +-
> 2 files changed, 16 insertions(+), 9 deletions(-)
>
> diff --git a/scripts/Makefile.package b/scripts/Makefile.package
> index 7266a11855f4..c207f4ec47ac 100644
> --- a/scripts/Makefile.package
> +++ b/scripts/Makefile.package
> @@ -4,9 +4,7 @@
> include $(srctree)/scripts/Kbuild.include
>
> KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
> -KDEB_SOURCENAME ?= linux-upstream
> KBUILD_PKG_ROOTCMD ?="fakeroot -u"
> -export KDEB_SOURCENAME
> # Include only those top-level files that are needed by make, plus the GPL copy
> TAR_CONTENT := Documentation LICENSES arch block certs crypto drivers fs \
> include init io_uring ipc kernel lib mm net rust \
> @@ -87,17 +85,26 @@ binrpm-pkg:
> +rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \
> $(UTS_MACHINE)-linux -bb $(objtree)/binkernel.spec
>
> +quiet_cmd_debianize = GEN $@
> + cmd_debianize = $(srctree)/scripts/package/mkdebian
> +
> +debian: FORCE
> + $(call cmd,debianize)
> +
> +PHONY += debian-orig
> +debian-orig: private source = $(shell dpkg-parsechangelog -S Source)
> +debian-orig: private version = $(shell dpkg-parsechangelog -S Version | sed 's/-[^-]*$$//')
> +debian-orig: private orig-name = $(source)_$(version).orig.tar.gz
> +debian-orig: linux.tar.gz debian
> + $(Q)cp $< ../$(orig-name)
> +
> PHONY += deb-pkg
> -deb-pkg: linux.tar.gz
> - $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
> - origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\
> - cp linux.tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz
> +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
>
> PHONY += bindeb-pkg
> -bindeb-pkg:
> - $(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
> +bindeb-pkg: debian
> +dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) $(DPKG_FLAGS) -b -nc -uc
>
> PHONY += intdeb-pkg
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 68b13ef590ba..534e9713761a 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -95,7 +95,7 @@ else
> revision=$($srctree/init/build-version)
> packageversion=$version-$revision
> fi
> -sourcename=$KDEB_SOURCENAME
> +sourcename=${KDEB_SOURCENAME:-linux-upstream}
>
> if [ "$ARCH" = "um" ] ; then
> packagename=user-mode-linux
> --
> 2.34.1

Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]