sys-boot/plymout-0.8.8 should install systemd units in /usr. Not in / In my case: eegorov@egorov-ey ~ $ emerge -pv plymouth These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ~] sys-boot/plymouth-0.8.8 USE="libkms pango systemd -debug -gdm -gtk -openrc -static-libs" VIDEO_CARDS="intel radeon -nouveau" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB eegorov@egorov-ey ~ $ qlist plymouth | grep systemd /lib/systemd/system/halt.target.wants/plymouth-halt.service /lib/systemd/system/poweroff.target.wants/plymouth-poweroff.service /lib/systemd/system/kexec.target.wants/plymouth-kexec.service /lib/systemd/system/reboot.target.wants/plymouth-reboot.service /lib/systemd/system/multi-user.target.wants/plymouth-quit-wait.service /lib/systemd/system/multi-user.target.wants/plymouth-quit.service /lib/systemd/system/sysinit.target.wants/plymouth-read-write.service /lib/systemd/system/sysinit.target.wants/plymouth-start.service /lib/systemd/system/initrd-switch-root.target.wants/plymouth-switch-root.service /lib/systemd/system/systemd-ask-password-plymouth.service /lib/systemd/system/systemd-ask-password-plymouth.path /lib/systemd/system/plymouth-halt.service /lib/systemd/system/plymouth-poweroff.service /lib/systemd/system/plymouth-kexec.service /lib/systemd/system/plymouth-reboot.service /lib/systemd/system/plymouth-quit-wait.service /lib/systemd/system/plymouth-quit.service /lib/systemd/system/plymouth-read-write.service /lib/systemd/system/plymouth-start.service /lib/systemd/system/plymouth-switch-root.service Reproducible: Always
Created attachment 341780 [details, diff] 0001-Fix-461478.patch
Why? What;s wrong with /?
CC'ing systemd. I am not sure where the systemd files should go either
I think the problem is even a little more deep then just systemd unit files. The build system doesn't handle a separate prefix for unit files and binary files. I can see a reason: if you have your binaries in / you want also the unit file associated to be accessible in the case /usr is a separate partition. That said, we can indeed move it /usr, but not only systemd unit files, but the whole plymouth package. We can say we don't support systemd stuff in /, which is the case right now since systemd is in /usr. I would like to hear systemd team too about this.
(In reply to comment #4) > I think the problem is even a little more deep then just systemd unit files. > The build system doesn't handle a separate prefix for unit files and binary > files. I can see a reason: if you have your binaries in / you want also the > unit file associated to be accessible in the case /usr is a separate > partition. Nope. If you have systemd on rootfs, unit files land there too. If you don't have systemd there, there's no point in having unit files there. > We can say we don't support systemd stuff in /, which is the case right now > since systemd is in /usr. I would like to hear systemd team too about this. Yep, we don't.
Fine for me. So moving everything to /usr then? Anybody ok with this?
(In reply to comment #6) > Fine for me. So moving everything to /usr then? Anybody ok with this? We'll have to patch dracut ... With my fixe been easier. But let's try.
(In reply to comment #7) > (In reply to comment #6) > > Fine for me. So moving everything to /usr then? Anybody ok with this? > > We'll have to patch dracut ... With my fixe been easier. But let's try. This is a blocker for me :). I'll also have a look at dracut code.
However, let's try. I'll try to prepare a patch for dracut. If need be, of course.
dracut definetely needs a patch since it searches for plymouth{,d} in /{,s}bin Look I call for keep it simple here. If the upstream dracut accept a patch and let it to be configured at compile time for searching plymouth in /usr, that's fine (I didn't checked if this is already possible). Otherwise I'm against doing a custom gentoo patch just to move plymouth to /usr. Systemd catches the unit files in /lib, so no technical problem on this side. If we really dislike this, I can move those unit files to /usr but I don't see the point doing that to be honest. It is incoherent with systemd paths or plymouth paths, one or the other. So what am I missing? :)
@mgorny What you think about this? In my system only plymouth install systemd-units into /lib. I do not like this.
(In reply to comment #11) > @mgorny > What you think about this? In my system only plymouth install systemd-units > into /lib. I do not like this. Well, it's a QA issue definitely. Not a killer one but still.
Just got a bugzilla notification on this, and I want to amend previous statements here: systemd system units should be installed in the directory specified in the systemd.pc pkg-config file. This is made accessible in an ebuild by calling systemd_get_systemunitdir from systemd.eclass. Please do not hard-code the path in ebuilds or build system patches.
just pointing out plymouth 0.9.2 ebuild uses systemd_with_unitdir() which in turn uses systemd_get_systemunitdir() (the former got deprecated now and only the second one should be used).
Perfect. So why is this bug still open then?
then close it
In tree both version 0.8.8-r4 and 0.8.8-r5 still install files in /lib, not in /usr/lib. Patch like in first comment is not applied. Why this bug is closed?
(In reply to Egor Y. Egorov from comment #17) It was closed because the issue has been resolved in newer version of plymouth. Stabilizing a newer version may be requested vhttps://bugs.gentoo.org/show_bug.cgi?id=461478#ia a new bug report.
0.8.8-r5 is not stable and not fixed. >=0.9 has some another issues (like #517572)...
(In reply to Egor Y. Egorov from comment #19) > 0.8.8-r5 is not stable and not fixed. >=0.9 has some another issues (like > #517572)... Regardless, this particular bug is resolved in >=0.9.