Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 935378 - sys-boot/plymouth-openrc-plugin: 0.2.0 so file is not loaded by OpenRC in some cases
Summary: sys-boot/plymouth-openrc-plugin: 0.2.0 so file is not loaded by OpenRC in som...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Matt Jolly
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-02 22:33 UTC by Golui
Modified: 2024-09-19 01:36 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Golui 2024-07-02 22:33:46 UTC
On my setup (profile default/linux/amd64/23.0/split-usr/hardened/selinux, OpenRC 0.54.2) the plymouth.so from the emerged package is placed in the  /usr/lib64/rc/plugins folder. This is not then picked up by OpenRC.

Manually adding a symlink /lib64/rc -> /usr/lib64/rc fixes the issue, as does downgrading to v0.1.3, which installs the so file in the /lib64/rc/plugins directory.

Likely a bad interaction with the split-usr profile.
Comment 1 Matt Jolly gentoo-dev 2024-07-07 04:59:42 UTC
Thanks for the bug report, that's a great pointer.

I replaced the build system in 0.2.0, it should be pretty straightforward to resolve. Once I'm done with chromium I'll take a look.
Comment 2 Matt Jolly gentoo-dev 2024-08-02 08:57:40 UTC
A commit has been merged in OpenRC that enables the generation of pkgconfig files that include the appropriate path for module installation.

We'll need to wait for a new OpenRC release to fix this "properly" but I'll try and get a patch out shortly that should be better than the current behaviour.
Comment 3 Matt Jolly gentoo-dev 2024-09-10 21:31:27 UTC
This should "just work" for the new 0.3.0 release and onwards. It does require accepting the testing keyword for the 0.55 release of OpenRC because that's where we now source the 'where do I install my plugin' info.

Let me know how it goes when you have a chance to try it out. Thanks!
Comment 4 Golui 2024-09-11 10:53:22 UTC
Hi,

Thanks for the fix. Just updated OpenRC to 0.55 and the plymouth plugin to 0.3.0. The file ended up in /lib/rc/plugins (as per the pkg-config definitions) and is still not picked up by OpenRC. Symlinking /lib/rc -> /lib64/rc again fixes the issue. 

This may be more of a configuration issue (on the OpenRC side) at this point. When emerging the new OpenRC I get the following notice:

 * QA Notice: pkg-config files not respecting libdir found
 * (contains reference to either lib or lib64 in wrong directory)
 *   /usr/lib64/pkgconfig/openrc.pc

I don't have the time to dig into it right now, but if you need anything more to go on then feel free let me know.
Comment 5 Francois Chenier 2024-09-11 11:13:19 UTC
(In reply to Matt Jolly from comment #3)
> This should "just work" for the new 0.3.0 release and onwards. It does
> require accepting the testing keyword for the 0.55 release of OpenRC because
> that's where we now source the 'where do I install my plugin' info.
> 
> Let me know how it goes when you have a chance to try it out. Thanks!

Still doesn't work with openrc-0.55 because plymouth-openrc-plugin-0.3.0 now install plymouth.so in /lib/rc/plugins

OpenRC expect to find this file in /lib64/rc/plugins

Moving /lib/rc/plugins directory to /lib64/rc/ "fix" the issue for me.
Comment 6 Manuel Ullmann 2024-09-13 22:30:08 UTC
> Likely a bad interaction with the split-usr profile.

No, this is also broken on merged-usr profiles. Iā€™m using
default/linux/amd64/23.0/hardened

This is more likely related to amd64/multilib profiles, because /lib/rc is still symlinked to /usr/lib/rc on these profiles instead of /usr/lib64 where openrc appears to look for plugins. So the fix would be to set
#/usr/lib64/pkgconfig/openrc.pc
...
rc_path=/lib64/rc
...
Comment 7 Matt Jolly gentoo-dev 2024-09-19 01:36:20 UTC
To paraphase some discussion in IRC.

```
#define RC_PLUGINDIR            RC_LIBDIR "/plugins" -> #define RC_LIBDIR               "/lib64/rc"
```

We failed to catch this when implementing the pkgconfig stuff upstream.

The current plan is to evaluate moving plugins to `/usr/libexec/openrc/plugins` and libdir to `/lib/openrc`. We'll see what happens and I'll push a fix as soon as we have something (or an interim solution if it's not looking like a quick fix).

CC Anna to track this issue.

In the immediate short term symlinking the file to /lib64/ is a perfectly cromulent solution.