On Tue, May 5, 2020 at 4:22 PM Peter Stuge <pe...@stuge.se> wrote:
> Hi,
> I'm trying something out over here and I'm surprised to find that
> acct-group/* do not work with ROOT+SYSROOT != "/".
> Should I file yet another bug about this?
> I suppose the limitation is in user.eclass, but what about the 11 bugs
> already filed about exactly this problem?
> They are easy to see in the dup bug list at https://bugs.gentoo.org/53269
> Unfortunately mgorny closed 53269 WONTFIX because GLEP-27 is Deferred,
> causing all dup and dep bugs to be forgotten. Sad panda.
> --8<-- reproduce
> # export r=$(mktemp -d)
> # ROOT=$r SYSROOT=$r strace -fe execve emerge baselayout acct-group/ftp 2>&1 
> | grep groupadd
> [pid 13269] execve("/usr/sbin/groupadd", ["groupadd", "-r", "-g", "21", 
> "ftp"], 0x5d7e299e2340 /* 227 vars */) = 0
> groupadd: cannot lock /etc/group; try again later.
>  *               groupadd -r ${opts} "${egroup}" || die
>  *               groupadd -r ${opts} "${egroup}" || die
> -->8--
> In my particular case -R $r would work just fine, but as can be seen
> in several of those 11 dup bugs it is not a general solution.
> Any ideas on how to solve this?

I know it's not a general fix, but my solution for building a separate
systemd root was to use sysusers.  You could try the eclass patch(es)
at https://bugs.gentoo.org/702624 if you're using at least systemd
245.  (Older versions work if you apply the upstream commit linked in
the bug.)  If you're running a systemd host with a non-systemd target,
you can still probably run "systemd-sysusers --root=$ROOT" after
emerge to generate the accounts that way.



Reply via email to