Message ID | 20231226135243.1393780-6-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/6] kbuild: deb-pkg: factor out common Make options in debian/rules | expand |
On Tue, Dec 26, 2023 at 7:54 AM Masahiro Yamada <masahiroy@kernel.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@kernel.org> > Reviewed-by: Nicolas Schier <n.schier@avm.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@gmail.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@gmail.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@gmail.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,
> > +++ 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@gmail.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.) Sorry for the noise, this looks to be a time32 related issue in Ubuntu's armhf Vs, arm64... As my arm64 Noble schroot just finished it's version of v6.9.0-rc2 package with no issues.. Regards,
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) Build-Depends-Arch: bc, bison, cpio, flex, kmod, libelf-dev:native, libssl-dev:native, rsync Homepage: https://www.kernel.org/