cups init script contains: checkpath -q -d -m 0775 -o root:lp /var/cache/cups checkpath -q -d -m 0775 -o root:lp /var/cache/cups/rss checkpath -q -d -m 0755 -o root:lp /run/cups checkpath -q -d -m 0511 -o lp:lpadmin /run/cups/certs and it fails to start with the follwoing error message: owner 'lp:lpadmin' not found /usr/portage/net-print/cups/cups-1.7.1.ebuild contains: pkg_setup() { enewgroup lp enewuser lp -1 -1 -1 lp enewgroup lpadmin 106 # ROOT=/target emerge -avD cups These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] net-print/cups-1.7.1 to /target/ USE="ssl threads -X -acl -dbus -debug -gnutls -java -kerberos -lprng-compat -pam -python (-selinux) -static-libs -usb -xinetd -zeroconf" LINGUAS="ca es fr it ja ru" PYTHON_SINGLE_TARGET="python2_7 -python2_6" PYTHON_TARGETS="python2_7 -python2_6" 0 kB ./configure --prefix=/usr --build=i486-pc-linux-gnu --host=i486-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib --localstatedir=/var --with-rundir=/run/cups --with-cups-user=lp --with-cups-group=lp --with-docdir=/usr/share/cups/html --with-languages=ru fr ca it es ja --with-system-groups=lpadmin --disable-acl --disable-avahi --disable-dbus --disable-debug --disable-debug-guards --disable-gssapi --disable-pam --disable-static --enable-threads --disable-libusb --disable-dnssd --without-java --without-perl --without-php --without-python --without-xinetd --enable-libpaper --with-systemdsystemunitdir=/usr/lib/systemd/system --disable-gnutls --enable-openssl # grep lp /target/etc/group lp:x:7:lp On the other hand: # grep lp /etc/group lp:x:7:lp lpadmin:x:106: Does anyone know why this happens? I'm supposing it's a bug.
/usr/portage/eclass/user.eclass doesn0t seem to handle the case when a ROOT variable is defined and using getent and groupadd will read/write to the parent system, not the "ROOT target". # see if group already exists if [[ -n $(egetent group "${egroup}") ]] ; then return 0 fi einfo "Adding group '${egroup}' to your system ..." [...] *) # ignore output if nscd doesn't exist, or we're not running as root nscd -i "${db}" 2>/dev/null getent "${db}" "${key}" ;;
*** This bug has been marked as a duplicate of bug 53269 ***