locale.alias and charset.alias are included in INSTALL_MASK by profiles/features/musl/make.defaults, and this causes locale.alias not being installed into /usr/share/X11/locale. This causes segfaults in st and XOpenIM errors in dmenu if the locale is set to 'C.UTF-8' or unset(defaulted to 'C.UTF-8'). This does not occur on Alpine and Sabotage as /usr/share/X11/locale/locale.alias is present on both. The profile in question is the musl profile. Reproducible: Always Steps to Reproduce: 1. Install Gentoo following https://wiki.gentoo.org/wiki/Project:Hardened_musl 2. Setup xorg and set the locale to 'en_US.UTF-8' so that st runs the first time 3. ls /usr/share/X11/locale/locale.alias 4. emerge st 5. add st to .xinitrc and run startx In st, run 6. LC_ALL='C.UTF-8' st 6. emerge dmenu 7. echo 1 | LC_ALL='C.UTF-8' dmenu Actual Results: /usr/share/X11/locale/locale.alias is missing. st segfaults and dmenu warns about 'no locale support' and exits with 'XOpenIM failed: could not open input device' with exit code 1. Expected Results: /usr/share/X11/locale/locale.alias should be present. ST should open up a window and dmenu should appear with '1' in the upper part of the screen.
Okay, so we need INSTALL_MASK to be a full path, I suppose.
Seems to be a viable solution.
(In reply to Sam James from comment #1) > Okay, so we need INSTALL_MASK to be a full path, I suppose. Definitely no other occurrences of this elsewhere (on the fs)? I know the problem is usually in /etc/ iirc?
(In reply to Michael 'veremitz' Everitt from comment #3) > (In reply to Sam James from comment #1) > > Okay, so we need INSTALL_MASK to be a full path, I suppose. > > Definitely no other occurrences of this elsewhere (on the fs)? I know the > problem is usually in /etc/ iirc? According to the list of bugs in https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2db918ff33b15be6731b3cd87266b7f62efeacf3 it occurs only in /usr/share/locale/locale.alias. /etc/locale.alias doesn't seem to present on most systems and doesn't seem to have file conflict problems
OOf that's the one I meant, and slightly confused by the /usr/share/locale vs /usr/share/X11/locale similarity... Scratch the ref. to /etc then .. my mistake!
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=acc828b30f673d695cae4bb4010b4c0402a1e104 commit acc828b30f673d695cae4bb4010b4c0402a1e104 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-10-14 17:15:51 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-10-14 17:16:09 +0000 profiles/features/musl: use full path in INSTALL_MASK for locale.alias We want to allow e.g. /usr/share/X11/locale/locale.alias to be installed. Closes: https://bugs.gentoo.org/799437 Signed-off-by: Sam James <sam@gentoo.org> profiles/features/musl/make.defaults | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=713c81a6f76b62ea0f5a6d868c6189a1a438d320 commit 713c81a6f76b62ea0f5a6d868c6189a1a438d320 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-10-14 17:19:23 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-10-14 17:19:23 +0000 x11-misc/compose-tables: revbump to force reinstall on musl It's a tiny package and it'll mean that the locale files properly get installed following the INSTALL_MASK fix. Closes: https://bugs.gentoo.org/799437 Signed-off-by: Sam James <sam@gentoo.org> .../{compose-tables-1.7.2.ebuild => compose-tables-1.7.2-r1.ebuild} | 0 1 file changed, 0 insertions(+), 0 deletions(-)