Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: tmpfiles-setup fails on startup (Read 894 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

tmpfiles-setup fails on startup

For a while now I see tmpfiles-setup fail with an error along the lines:
chgrp: invalid group: brlapi
I don't have a group with that name on my system.

Does someone know where this error comes from, i.e. why tmpfiles wants to change some file to that group?

Does current artix create that group upon system installation?

Re: tmpfiles-setup fails on startup

Reply #1
That's probably something to do with the brltty package:
https://mail.gnome.org/archives/orca-list/2012-February/msg00097.html
The opentmpfiles package is giving the error though, so perhaps the setup for that is the problem. Also there are brltty service scripts, possibly installing and enabling the appropriate one might help. That's just guessing though as I don't have brltty installed!

 

Re: tmpfiles-setup fails on startup

Reply #2
So, I'm not blind; it's a dependency of qemu. Not sure what to do now.

Ignore it? Or fix the package so pacman creates that group upon installation of brltty?
Does qemu really need this, or can this be an optional dependency?

Edit: So I'm digging right now. brlapi contains a sysusers.conf:
Code: [Select]
g brlapi -
, and we have a sysusers daemon/oneshot service that reads these files and creates the appropriate sysgroups/sysusers. But on my system (using runit),
1: tempfiles-setup runs before sysusers.
2: I don't have a brlapi group, even though sysusers should create it and does not show any errors...
(EDIT: tldr, jump to Edit 3)

What I found so far, is, that other sysusers.conf files have more columns, e.g.:
Code: [Select]
g wheel - - -


Edit 2: I straced sysusers and found this:
Code: [Select]
stat("\177/usr/lib/sysusers.d", 0x7ffd0a643e70) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
stat("/run/sysusers.d", 0x7ffd0a643e70) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
stat("/etc/sysusers.d", 0x7ffd0a643e70) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
I wonder if sysusers ever looks into /usr/lib/sysusers.d, as there is a \177 before in the stat call. Can someone look into this?

Edit 3: so this comes from /usr/lib/opensysusers/common.sh. On my system, that file ends in:
Code: [Select]
sysusers_dirs="${root:=}/usr/lib/sysusers.d:${root}/run/sysusers.d:${root}/etc/sysusers.d"
(notice the ${root:=} and the ':' as separator) and I don't know why. compare this.

Can someone explain, why on my system the package on version 0.5.1-4 has a line, that does not occur in any git commit?

Edit 4: so this does com from this branch. The last line triggers a bash bug, where the \177 is inserted.