From: Petr Vorel <petr.vorel@gmail.com>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: linux-kbuild@vger.kernel.org, Guillem Jover <guillem@hadrons.org>,
Masahiro Yamada <masahiroy@kernel.org>
Subject: Re: [PATCH] builddeb: Fix build on non-Debian/Ubuntu distros
Date: Fri, 30 Oct 2020 19:57:55 +0100 [thread overview]
Message-ID: <20201030185755.GA559821@pevik> (raw)
In-Reply-To: <12abc099c30681e88107bb468ba1795f197f02f8.camel@decadent.org.uk>
Hi Ben,
first, thanks for your review.
> On Fri, 2020-10-30 at 17:56 +0100, Petr Vorel wrote:
> > This fixes make bindeb-pkg for RPM based distros, which don't have
> > dpkg-dev (and thus not /usr/bin/dpkg-buildpackage), which sets
> > $DEB_RULES_REQUIRES_ROOT.
> > Fixes: 3e8541803624 ("builddeb: Enable rootless builds")
> This doesn't seem to fix a bug, and in fact it would introduce one.
> > Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> [...]
> > --- a/scripts/package/builddeb
> > +++ b/scripts/package/builddeb
> > @@ -37,7 +37,7 @@ create_package() {
> > | xargs -r0 md5sum > DEBIAN/md5sums"
> > # Fix ownership and permissions
> > - if [ "$DEB_RULES_REQUIRES_ROOT" = "no" ]; then
> > + if [ -z "$DEB_RULES_REQUIRES_ROOT" -o "$DEB_RULES_REQUIRES_ROOT" = "no" ]; then
> > dpkg_deb_opts="--root-owner-group"
> > else
> > chown -R root:root "$pdir"
> This is the wrong default behaviour; it will cause a regression with
> older versions of dpkg that don't support this option.
Sorry for wrong report. I tested it on Debian, but only on unstable.
> If you invoke this script directly and do not use dpkg-buildpackage
> (which I don't think is really supported anyway) then you must either
> do so as root or use fakeroot (as dpkg-buildpackage does by default).
Well, both bindeb-pkg and deb-pkg use dpkg-buildpackage.
Thus fakeroot is used by default.
/bin/sh -c dpkg-buildpackage -r"fakeroot -u" -a$(cat debian/arch) -d -b -nc -uc
The root cause is that while calling chown -R root:root "$pdir" is ok on Debian,
it's refused for fakeroot in openSUSE. I can run it with
DEB_RULES_REQUIRES_ROOT=no, that should fix that, but I'd prefer it were working
by default (although I admit not many people need it).
I reported it because the default setup worked before 3e8541803624.
I'll have a look what configuration (permission) is missing on openSUSE to allow
chown -R root:root for non-root user.
> Ben.
Kind regards,
Petr
next prev parent reply other threads:[~2020-10-30 18:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-30 16:56 [PATCH] builddeb: Fix build on non-Debian/Ubuntu distros Petr Vorel
2020-10-30 17:14 ` Ben Hutchings
2020-10-30 18:57 ` Petr Vorel [this message]
2020-11-02 8:35 ` Masahiro Yamada
2020-11-02 19:05 ` Petr Vorel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201030185755.GA559821@pevik \
--to=petr.vorel@gmail.com \
--cc=ben@decadent.org.uk \
--cc=guillem@hadrons.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=masahiroy@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox