lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 2 Apr 2024 10:59:24 -0500
From: Robert Nelson <robertcnelson@...il.com>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: linux-kbuild@...r.kernel.org, Ben Hutchings <ben@...adent.org.uk>, 
	Nicolas Schier <n.schier@....de>, Nathan Chancellor <nathan@...nel.org>, 
	Nick Desaulniers <ndesaulniers@...gle.com>, Nicolas Schier <nicolas@...sle.eu>, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 6/6] kbuild: deb-pkg: use more debhelper commands in builddeb

On Tue, Dec 26, 2023 at 7:54 AM Masahiro Yamada <masahiroy@...nel.org> 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
>
> Set DEB_RULES_REQUIRES_ROOT to 'no' in case debian/rules is executed
> directly.
>
> Signed-off-by: Masahiro Yamada <masahiroy@...nel.org>
> Reviewed-by: Nicolas Schier <n.schier@....de>
> ---
>
>  scripts/package/builddeb     | 23 ++++++++---------------
>  scripts/package/debian/rules |  2 ++
>  scripts/package/mkdebian     |  2 +-
>  3 files changed, 11 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}
>  }
>
>  install_linux_image () {
> diff --git a/scripts/package/debian/rules b/scripts/package/debian/rules
> index 36d51f60f98d..1f56938ea5d4 100755
> --- a/scripts/package/debian/rules
> +++ b/scripts/package/debian/rules
> @@ -1,6 +1,8 @@
>  #!/usr/bin/make -f
>  # SPDX-License-Identifier: GPL-2.0-only
>
> +export DEB_RULES_REQUIRES_ROOT := no
> +
>  include debian/rules.vars
>
>  ifneq (,$(filter-out parallel=1,$(filter parallel=%,$(DEB_BUILD_OPTIONS))))
> 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)

make ARCH=arm  CROSS_COMPILE=  bindeb-pkg

I'm seeing a fun issue with Ubuntu 24.04 (Noble)... 13.14.1ubuntu5:
https://launchpad.net/ubuntu/+source/debhelper

dpkg-buildpackage --build=binary --no-pre-clean --unsigned-changes
-R'make -f debian/rules' -j1 -a$(cat debian/arch)
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 1noble
dpkg-buildpackage: info: source distribution noble
dpkg-buildpackage: info: source changed by rcn-ee <robertcnelson@...il.com>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper-compat (= 12)
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)

Where as Debian (testing) Trixie and Sid: 13.15.3
https://packages.debian.org/source/trixie/debhelper

dpkg-buildpackage --build=binary --no-pre-clean --unsigned-changes
-R'make -f debian/rules' -j1 -a$(cat debian/arch)
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 1trixie
dpkg-buildpackage: info: source distribution trixie
dpkg-buildpackage: info: source changed by rcn-ee <robertcnelson@...il.com>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 make -f debian/rules binary

dpkg-buildpackage --build=binary --no-pre-clean --unsigned-changes
-R'make -f debian/rules' -j1 -a$(cat debian/arch)
dpkg-buildpackage: info: source package linux-upstream
dpkg-buildpackage: info: source version 1sid
dpkg-buildpackage: info: source distribution trixie
dpkg-buildpackage: info: source changed by rcn-ee <robertcnelson@...il.com>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture armhf
 make -f debian/rules binary


Not really sure why Noble is failing, but wonder if, would fix it..
Build-Depends: debhelper-compat (>= 12)

Regards,

-- 
Robert Nelson
https://rcn-ee.com/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ