On a open-rc system with masked systemd & systemd-* cryptsetup fails to build due to dependency on systemd-tmpfiles it's actually virtual/tmpfiles-0-r1 that depends on systemd-tmpfiles So other packages may be reported on this. Reproducible: Always Steps to Reproduce: 1.emerge -1vauDNt @world 2. 3. Actual Results: !!! All ebuilds that could satisfy "sys-apps/systemd-tmpfiles" have been masked. !!! One of the following masked packages is required to complete your request: - sys-apps/systemd-tmpfiles-248.3::gentoo (masked by: package.mask, ~amd64 keyword) - sys-apps/systemd-tmpfiles-246::gentoo (masked by: package.mask) (dependency required by "virtual/tmpfiles-0-r1::gentoo" [installed]) (dependency required by "sys-apps/openrc-0.42.1-r1::gentoo" [installed]) (dependency required by "net-misc/netifrc-0.7.3::gentoo" [installed]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. Expected Results: no need for systemd on a openrc based system..?? time for etmpfiles?
- sys-apps/systemd-tmpfiles-246::gentoo (masked by: package.mask) Seems like you should unmask it? systemd-tmpfiles isn't systemd, it won't affect openrc working.
systemd-tmpfiles is actually only a single binary, and openrc scripts this is _for_ openrc
sys-fs/cryptsetup depends on virtual/tmpfiles. virtual/tmpfiles has 2(3) providers: a) sys-apps/systemd-tmpfiles b) sys-apps/opentmpfiles [c) sys-apps/systemd] (Provider C is probably not an option when you are not using systemd) sys-apps/opentmpfiles was masked because of bug 751415 which leaves OpenRC systems only with one provider (sys-apps/systemd-tmpfiles). You have two options: 1) Just install sys-apps/systemd-tmpfiles -- it's the systemd implementation of systemd-style tmpfiles.d settings (if it's not available for you, please check that you didn't masked it because of "systemd" in its name). 2) If you want to stick with opentmpfiles implementation please read bug 751415. If you understand the issue and believe you are not affected by this theoretical vulnerability just unmask sys-apps/opentmpfiles by doing something like echo "<sys-apps/opentmpfiles-0.3" > /etc/portage/package.unmask/opentmpfiles NOTE: This will just unmask version <0.3 because version 0.3.1 has another issue (bug 751739) and shouldn't be used.
Correction: opentmpfiles is packagemasked ... and Which is auto uninstalled... so only systemd variants left. Another correction: Not cryptseetup related, other than the error was shown during a emerge which happened to only install cryptsetup after an earlier failed emerge which i didn;t notice.
if systemd-tmpfiles isn't systemd, then why is is called systemd...??? Isn't openrc-tmpfiles a better fitting name?
Yes there is a package mask active for everything with systemd in the name. Also an INSTALL_MASK filter against file placement as well.
(In reply to Nico Baggus from comment #5) > if systemd-tmpfiles isn't systemd, then why is is called systemd...??? > Isn't openrc-tmpfiles a better fitting name? It's tmpfiles from systemd itself, separated to be usable with other init systems like openrc.
I would expect openrc parts to have something like openrc in the name... systemd-login is also renamed to elogin.. So systemd-tmpfiles doesn't impress to be not systemd related.
After unmasking i think the package is incomplete: shouldn't there be a /etc/tmpfiles.d ?.. $ equery f systemd-tmpfiles /bin /bin/systemd-tmpfiles /etc /etc/conf.d /etc/conf.d/stmpfiles-dev /etc/conf.d/stmpfiles-setup /etc/init.d /etc/init.d/stmpfiles-dev /etc/init.d/stmpfiles-setup /usr /usr/share /usr/share/man /usr/share/man/man5 /usr/share/man/man5/tmpfiles.d.5.bz2 /usr/share/man/man8 /usr/share/man/man8/systemd-tmpfiles.8.bz2
No, /etc/tmpfiles.d is for overrides. If you don't have overrides, you don't need this directory.