[buildd-tools-devel] Bug#728422: Bug#728422: sbuild: fails to getent group sbuild when running with init=/bin/systemd
Cyril Brulebois
kibi at debian.org
Fri Nov 8 21:28:57 UTC 2013
Hi,
answering in a linear fashion, but you may want to read the comment at
the bottom first… (see arrow: →)
Roger Leigh <rleigh at codelibre.net> (2013-11-06):
> The failure is trying to run
>
> getent group sbuild >> ${chroot}/etc/group
>
> However, this only works as root, and it's only used as a fallback
> in the unusual case that the passwd/group databases in the chroot
> are out of sync with the base system. The real question here is
> why the system databases weren't copied over during the session
> setup.
>
> I would suggest trying to run schroot without sbuild and see that
> if you start a new session with
>
> schroot -b -n test -c sid-amd64-sbuild -v --debug=notice
I've recreated a new chroot ("under systemd"), named
experimental-amd64-sbuild, still using sid as the distribution.
sbuild-update -udcar experimental-amd64-sbuild fails the same way.
> and see if there is anything group-related in the output.
Let's see (2>&1):
| kibi at arya:~$ grep -i group /tmp/schroot.log
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=type
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=active
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=run-setup-scripts
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=run-session-scripts
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=run-exec-scripts
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=profile
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=script-config
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=priority
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=aliases
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=environment-filter
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=description
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=users
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=groups
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=root-users
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=root-groups
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=mount-location
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=name
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=command-prefix
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=message-verbosity
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=preserve-environment
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=shell
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=directory
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=location
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=personality
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=user-modifiable-keys
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=root-modifiable-keys
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=union-type
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=union-mount-options
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=union-overlay-directory
| D(2): Getting keyfile group=experimental-amd64-sbuild, key=union-underlay-directory
| D(2): Getting keyfile group=sid-amd64-sbuild, key=type
| D(2): Getting keyfile group=sid-amd64-sbuild, key=active
| D(2): Getting keyfile group=sid-amd64-sbuild, key=run-setup-scripts
| D(2): Getting keyfile group=sid-amd64-sbuild, key=run-session-scripts
| D(2): Getting keyfile group=sid-amd64-sbuild, key=run-exec-scripts
| D(2): Getting keyfile group=sid-amd64-sbuild, key=profile
| D(2): Getting keyfile group=sid-amd64-sbuild, key=script-config
| D(2): Getting keyfile group=sid-amd64-sbuild, key=priority
| D(2): Getting keyfile group=sid-amd64-sbuild, key=aliases
| D(2): Getting keyfile group=sid-amd64-sbuild, key=environment-filter
| D(2): Getting keyfile group=sid-amd64-sbuild, key=description
| D(2): Getting keyfile group=sid-amd64-sbuild, key=users
| D(2): Getting keyfile group=sid-amd64-sbuild, key=groups
| D(2): Getting keyfile group=sid-amd64-sbuild, key=root-users
| D(2): Getting keyfile group=sid-amd64-sbuild, key=root-groups
| D(2): Getting keyfile group=sid-amd64-sbuild, key=mount-location
| D(2): Getting keyfile group=sid-amd64-sbuild, key=name
| D(2): Getting keyfile group=sid-amd64-sbuild, key=command-prefix
| D(2): Getting keyfile group=sid-amd64-sbuild, key=message-verbosity
| D(2): Getting keyfile group=sid-amd64-sbuild, key=preserve-environment
| D(2): Getting keyfile group=sid-amd64-sbuild, key=shell
| D(2): Getting keyfile group=sid-amd64-sbuild, key=directory
| D(2): Getting keyfile group=sid-amd64-sbuild, key=location
| D(2): Getting keyfile group=sid-amd64-sbuild, key=personality
| D(2): Getting keyfile group=sid-amd64-sbuild, key=user-modifiable-keys
| D(2): Getting keyfile group=sid-amd64-sbuild, key=root-modifiable-keys
| D(2): Getting keyfile group=sid-amd64-sbuild, key=union-type
| D(2): Getting keyfile group=sid-amd64-sbuild, key=union-mount-options
| D(2): Getting keyfile group=sid-amd64-sbuild, key=union-overlay-directory
| D(2): Getting keyfile group=sid-amd64-sbuild, key=union-underlay-directory
| In groups: 1
| In root-groups: 1
| In groups: 1
| In root-groups: 1
| D(1): Inserted into environment: AUTH_RGROUP=kibi
| I: 00check: AUTH_RGROUP=kibi
| I: 20nssdatabases: Copying group database to /var/lib/schroot/mount/test/etc/group
> After this completes, is there a group file in the schroot
> directory?
Yes:
-rw-r--r-- 1 root root 941 Nov 8 22:18 /var/lib/schroot/mount/test/etc/group
That's a copy of /etc/group on the host.
> Does
>
> schroot -r -c test -- getent group sbuild
>
> succeed or fail?
Fail:
| kibi at arya:~$ schroot -r -c test -- getent group sbuild
| E: Failed to change to directory ‘/home/kibi’: No such file or directory
| I: The directory does not exist inside the chroot. Use the --directory option to run the command in a different directory.
| Hangup
| kibi at arya:~$ echo $?
| 129
> Does "getent group sbuild" work correctly on the base system when
> systemd is running? How about "getent group"?
Both work:
| kibi at arya:~$ getent group sbuild
| sbuild:x:127:kibi
| [ longer output for getent group ]
> sbuild and schroot don't really do anything which should be
> affected by the init system in use. Both just make use of
> standard POSIX interfaces, and if systemd causes changes in
> how these basic libc calls function, that's a bit worrying.
> The schroot db copy is as simple as
>
> getent $db >> $chroot/etc/$db
→ Reading the log again, and checking the initial output, the error is
EPERM, not exactly a getent failure? Something cgroup-ish could explain
some strange user/group issues, when running and storing things in the
chroot, maybe?
> Any more information you could provide regarding the above would
> be much appreciated.
Feel free to ask other questions, but I'm pretty sure I purged
everything related to schroot and sbuild, and that I never configured
anything under /etc for those (except for the file created by
sbuild-createchroot and the sid/experimental rename above).
Mraw,
KiBi.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20131108/720615f4/attachment.sig>
More information about the Buildd-tools-devel
mailing list