Message ID | 20200920222556.10002-6-guillem@hadrons.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | builddeb: Improve Debian packaging | expand |
On Mon, Sep 21, 2020 at 7:48 AM Guillem Jover <guillem@hadrons.org> wrote: > > This makes it possible to build the Debian packages without requiring > (pseudo-)root privileges, when the build drivers support this mode > of operation. > > See-Also: /usr/share/doc/dpkg/rootless-builds.txt.gz > Signed-off-by: Guillem Jover <guillem@hadrons.org> > --- Applied to linux-kbuild. Thanks. > scripts/package/builddeb | 9 +++++++-- > scripts/package/mkdebian | 1 + > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/scripts/package/builddeb b/scripts/package/builddeb > index b14abbe5afbb..d428c0945d4b 100755 > --- a/scripts/package/builddeb > +++ b/scripts/package/builddeb > @@ -26,6 +26,7 @@ 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" > @@ -36,14 +37,18 @@ create_package() { > | xargs -r0 md5sum > DEBIAN/md5sums" > > # Fix ownership and permissions > - chown -R root:root "$pdir" > + if [ "$DEB_RULES_REQUIRES_ROOT" = "no" ]; then > + dpkg_deb_opts="--root-owner-group" > + else > + chown -R root:root "$pdir" > + fi > chmod -R go-w "$pdir" > # in case we are in a restrictive umask environment like 0077 > chmod -R a+rX "$pdir" > > # Create the package > dpkg-gencontrol -p$pname -P"$pdir" > - dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. > + dpkg-deb $dpkg_deb_opts ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. > } > > deploy_kernel_headers () { > diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian > index dae6c0ec0bd6..b98c382f967a 100755 > --- a/scripts/package/mkdebian > +++ b/scripts/package/mkdebian > @@ -188,6 +188,7 @@ Source: $sourcename > Section: kernel > Priority: optional > Maintainer: $maintainer > +Rules-Requires-Root: no > Build-Depends: bc, rsync, kmod, cpio, bison, flex | flex:native $extra_build_depends > Homepage: https://www.kernel.org/ > > -- > 2.28.0.297.g1956fa8f8d >
diff --git a/scripts/package/builddeb b/scripts/package/builddeb index b14abbe5afbb..d428c0945d4b 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb @@ -26,6 +26,7 @@ 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" @@ -36,14 +37,18 @@ create_package() { | xargs -r0 md5sum > DEBIAN/md5sums" # Fix ownership and permissions - chown -R root:root "$pdir" + if [ "$DEB_RULES_REQUIRES_ROOT" = "no" ]; then + dpkg_deb_opts="--root-owner-group" + else + chown -R root:root "$pdir" + fi chmod -R go-w "$pdir" # in case we are in a restrictive umask environment like 0077 chmod -R a+rX "$pdir" # Create the package dpkg-gencontrol -p$pname -P"$pdir" - dpkg-deb ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. + dpkg-deb $dpkg_deb_opts ${KDEB_COMPRESS:+-Z$KDEB_COMPRESS} --build "$pdir" .. } deploy_kernel_headers () { diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian index dae6c0ec0bd6..b98c382f967a 100755 --- a/scripts/package/mkdebian +++ b/scripts/package/mkdebian @@ -188,6 +188,7 @@ Source: $sourcename Section: kernel Priority: optional Maintainer: $maintainer +Rules-Requires-Root: no Build-Depends: bc, rsync, kmod, cpio, bison, flex | flex:native $extra_build_depends Homepage: https://www.kernel.org/
This makes it possible to build the Debian packages without requiring (pseudo-)root privileges, when the build drivers support this mode of operation. See-Also: /usr/share/doc/dpkg/rootless-builds.txt.gz Signed-off-by: Guillem Jover <guillem@hadrons.org> --- scripts/package/builddeb | 9 +++++++-- scripts/package/mkdebian | 1 + 2 files changed, 8 insertions(+), 2 deletions(-)