Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 945390 - >=sys-apps/systemd-utils-255 /lib to /usr/lib migration causes preserved symlink elog messages (split-usr profile)
Summary: >=sys-apps/systemd-utils-255 /lib to /usr/lib migration causes preserved syml...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo systemd Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-30 07:21 UTC by Torbjörn Lönnemark
Modified: 2025-03-22 17:02 UTC (History)
1 user (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 Torbjörn Lönnemark 2024-11-30 07:21:27 UTC
>=sys-apps/systemd-utils-255 contains code in pkg_preinst to migrate files from /lib/{systemd,udev} into /usr/lib/ (replacing the former by symlinks) on systems using a split-usr profile.

Installing >=systemd-utils-255 causes subsequent upgrades of other packages installing files into /lib/systemd or /lib/udev to generate preserved symlink warnings:

 * One or more symlinks to directories have been preserved in order to
 * ensure that files installed via these symlinks remain accessible. This
 * indicates that the mentioned symlink(s) may be obsolete remnants of an
 * old install, and it may be appropriate to replace a given symlink with
 * the directory that it points to.
 *
 *      /lib/systemd

Notably, this includes every package using systemd_dounit from systemd.eclass which installs into /lib/systemd (when systemd is not installed).

These messages are not actionable by users (unless you want a bug report for every package installing into /lib/{systemd,udev}), so they should probably be silenced.

Here's a couple of examples of others encountering (what is likely) this same issue, one of which solved it by adding "/lib/systemd /lib/udev" to UNINSTALL_IGNORE in make.conf:

https://forums.gentoo.org/viewtopic-t-1170378-start-0.html
https://forums.gentoo.org/viewtopic-t-1169435-start-0.html
Comment 1 Mike Gilbert gentoo-dev 2024-12-01 19:54:35 UTC
The messages will stop once the user has rebuilt all packages that install files under /lib/systemd or /lib/udev.

Adding the paths to UNINSTALL_IGNORE is completely unnecessary and will eventually result in dangling symlinks that are not owned by any package.
Comment 2 Mike Gilbert gentoo-dev 2024-12-01 19:57:26 UTC
(In reply to Torbjörn Lönnemark from comment #0)
> Notably, this includes every package using systemd_dounit from
> systemd.eclass which installs into /lib/systemd (when systemd is not
> installed).

I will update the eclass default to /usr/lib/systemd soon.
Comment 3 Mike Gilbert gentoo-dev 2024-12-01 19:59:10 UTC
The issue may also be resolved by migrating to a merged-usr profile.
Comment 4 Mike Gilbert gentoo-dev 2024-12-01 20:02:53 UTC
Hmm, I suppose I could add the paths to UNINSTALL_IGNORE in profiles until I drop the symlinks from systemd-utils.
Comment 5 Larry the Git Cow gentoo-dev 2024-12-01 20:11:55 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f0cf971a940c24b9f5e7a3164ee2c3a995a6760

commit 2f0cf971a940c24b9f5e7a3164ee2c3a995a6760
Author:     Mike Gilbert <floppym@gentoo.org>
AuthorDate: 2024-12-01 20:10:29 +0000
Commit:     Mike Gilbert <floppym@gentoo.org>
CommitDate: 2024-12-01 20:11:49 +0000

    profiles/features/split-usr: UNINSTALL_IGNORE="/lib/systemd /lib/udev"
    
    Closes: https://bugs.gentoo.org/945390
    Signed-off-by: Mike Gilbert <floppym@gentoo.org>

 profiles/features/split-usr/make.defaults | 3 +++
 1 file changed, 3 insertions(+)
Comment 6 Daniel Pielmeier gentoo-dev 2025-03-22 17:02:08 UTC
(In reply to Mike Gilbert from comment #2)
> (In reply to Torbjörn Lönnemark from comment #0)
> > Notably, this includes every package using systemd_dounit from
> > systemd.eclass which installs into /lib/systemd (when systemd is not
> > installed).
> 
> I will update the eclass default to /usr/lib/systemd soon.

Are you still planning to do this?