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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.