gevisz wrote:
> On July 25, 2025 my custom keyboard layout files located
> in /usr/share/X11/xkb/symbols/ were unexpectedly overwritten
> during system despite the fact that they were config-protected:
> # emerge --info | grep CONFIG_PROTECT
> CONFIG_PROTECT="/etc /usr/share/X11/xkb/symbols/ /usr/share/config
> /usr/share/gnupg/qualified.txt"
> CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d
> /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release
> /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d
> /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
>
> ChatGPT says to me that it was done when
> x11-misc/xkeyboard-config-2.45-r1 was updated.
>
> I do not use etc-update or dispatch-conf, and there were no ._cfg*
> files left behind — the overwrite happened silently.
>
> After examining the ebuild, ChatGPT noticed that src_install() uses
> meson_src_install,
> and then moves the entire installed /usr/share/X11/xkb tree to
> /usr/share/X11/xkb.workaround/
> as a workaround for bug #957712. In pkg_preinst(), that tree is then
> forcibly moved back to /usr/share/X11/xkb, overwriting any existing
> files.
>
> This manual move bypasses Portage’s CONFIG_PROTECT mechanism entirely,
> as pkg_preinst()
> runs before Portage has a chance to apply config file protection.
>
> While I understand the intention behind the workaround, the result was
> a total loss of my custom layout files,
> despite explicitly protecting the directory. I’ve been using Gentoo
> for 12 years, and I have never been so
> disappointed by the Gentoo as I was when this happened to say the least.
>
> Is there a Gentoo-compliant way to preserve customized layouts that
> replace system-provided ones under such circumstances?
>
> Thanks in advance for any suggestions or guidance.
>

I'm no guru at this but in the past, when something in a config file in
/usr needs to be changed, there is usually a place in /etc to put the
settings.  Software looks in /usr first for default settings then looks
in /etc for custom user settings.  The config in /etc overrides the
settings in /usr. 

If it were me, I'd find out if you can put those settings in /etc
somewhere.  Odds are, that is where they should be.  I'd suspect they
would go in the /etc/X11/ directory somewhere.  Also, /etc is routinely
updated and the config protect seems to work well there.  Might solve
that problem. 

Just a thought. 

Dale

:-)  :-) 

Reply via email to