diff mbox series

[3/3] kbuild: deb-pkg: use more debhelper commands

Message ID 20231219181957.1449958-3-masahiroy@kernel.org (mailing list archive)
State New
Headers show
Series [1/3] kbuild: deb-pkg: do not query DEB_HOST_MULTIARCH | expand

Commit Message

Masahiro Yamada Dec. 19, 2023, 6:19 p.m. UTC
Commit 36862e14e316 ("kbuild: deb-pkg: use dh_listpackages to know
enabled packages") started to require the debhelper tool suite.

Use more dh_* commands in create_package():

 - dh_installdocs to install copyright
 - dh_installchangelogs to install changelog
 - dh_compress to compress changelog
 - dh_fixperms to replace the raw chmod command
 - dh_gencontrol to replace the raw dpkg-gencontrol command
 - dh_md5sums to record the md5sum of included files
 - dh_builddeb to replace the raw dpkg-deb command

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---

 scripts/package/builddeb | 23 ++++++++---------------
 scripts/package/mkdebian |  2 +-
 2 files changed, 9 insertions(+), 16 deletions(-)

Comments

Nicolas Schier Dec. 22, 2023, 2:27 p.m. UTC | #1
On Wed, Dec 20, 2023 at 03:19:57AM +0900, Masahiro Yamada wrote:
> Commit 36862e14e316 ("kbuild: deb-pkg: use dh_listpackages to know
> enabled packages") started to require the debhelper tool suite.
> 
> Use more dh_* commands in create_package():
> 
>  - dh_installdocs to install copyright
>  - dh_installchangelogs to install changelog
>  - dh_compress to compress changelog
>  - dh_fixperms to replace the raw chmod command
>  - dh_gencontrol to replace the raw dpkg-gencontrol command
>  - dh_md5sums to record the md5sum of included files
>  - dh_builddeb to replace the raw dpkg-deb command
> 
> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
> 
>  scripts/package/builddeb | 23 ++++++++---------------
>  scripts/package/mkdebian |  2 +-
>  2 files changed, 9 insertions(+), 16 deletions(-)
> 
> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index 2eb4910f0ef3..436d55a83ab0 100755
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -26,23 +26,16 @@ if_enabled_echo() {
>  
>  create_package() {
>  	local pname="$1" pdir="$2"
> -	local dpkg_deb_opts
>  
> -	mkdir -m 755 -p "$pdir/DEBIAN"
> -	mkdir -p "$pdir/usr/share/doc/$pname"
> -	cp debian/copyright "$pdir/usr/share/doc/$pname/"
> -	cp debian/changelog "$pdir/usr/share/doc/$pname/changelog.Debian"
> -	gzip -n -9 "$pdir/usr/share/doc/$pname/changelog.Debian"
> -	sh -c "cd '$pdir'; find . -type f ! -path './DEBIAN/*' -printf '%P\0' \
> -		| xargs -r0 md5sum > DEBIAN/md5sums"
> +	export DH_OPTIONS="-p${pname} -P${pdir}"
>  
> -	# a+rX in case we are in a restrictive umask environment like 0077
> -	# ug-s in case we build in a setuid/setgid directory
> -	chmod -R go-w,a+rX,ug-s "$pdir"
> -
> -	# Create the package
> -	dpkg-gencontrol -p$pname -P"$pdir"
> -	dpkg-deb --root-owner-group ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" ..
> +	dh_installdocs
> +	dh_installchangelogs
> +	dh_compress
> +	dh_fixperms
> +	dh_gencontrol
> +	dh_md5sums
> +	dh_builddeb -- ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS}
>  }

That looks much cleaner, thanks!

Reviewed-by: Nicolas Schier <n.schier@avm.de>
diff mbox series

Patch

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 2eb4910f0ef3..436d55a83ab0 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -26,23 +26,16 @@  if_enabled_echo() {
 
 create_package() {
 	local pname="$1" pdir="$2"
-	local dpkg_deb_opts
 
-	mkdir -m 755 -p "$pdir/DEBIAN"
-	mkdir -p "$pdir/usr/share/doc/$pname"
-	cp debian/copyright "$pdir/usr/share/doc/$pname/"
-	cp debian/changelog "$pdir/usr/share/doc/$pname/changelog.Debian"
-	gzip -n -9 "$pdir/usr/share/doc/$pname/changelog.Debian"
-	sh -c "cd '$pdir'; find . -type f ! -path './DEBIAN/*' -printf '%P\0' \
-		| xargs -r0 md5sum > DEBIAN/md5sums"
+	export DH_OPTIONS="-p${pname} -P${pdir}"
 
-	# a+rX in case we are in a restrictive umask environment like 0077
-	# ug-s in case we build in a setuid/setgid directory
-	chmod -R go-w,a+rX,ug-s "$pdir"
-
-	# Create the package
-	dpkg-gencontrol -p$pname -P"$pdir"
-	dpkg-deb --root-owner-group ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" ..
+	dh_installdocs
+	dh_installchangelogs
+	dh_compress
+	dh_fixperms
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb -- ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS}
 }
 
 install_linux_image () {
diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
index 93a24712b9a1..070149c985fe 100755
--- a/scripts/package/mkdebian
+++ b/scripts/package/mkdebian
@@ -193,7 +193,7 @@  Section: kernel
 Priority: optional
 Maintainer: $maintainer
 Rules-Requires-Root: no
-Build-Depends: debhelper
+Build-Depends: debhelper-compat (= 12)
 Build-Depends-Arch: bc, bison, cpio, flex, kmod, libelf-dev:native, libssl-dev:native, rsync
 Homepage: https://www.kernel.org/