Summary: | sys-apps/portage does not include EPREFIX for some path entries in CONFIG_PROTECT and CONFIG_PROTECT_MASK | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Martin Mokrejš <mmokrejs> |
Component: | Core - Configuration | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | prefix |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Martin Mokrejš
2023-08-03 14:58:25 UTC
Many CONFIG_PROTECT and CONFIG_PROTECT_MASK entries come from env.d files installed by various packages. I think each package would need to be fixed independently. % grep -RF CONFIG_PROTECT /etc/env.d /etc/env.d/78kf:CONFIG_PROTECT=/usr/share/config /etc/env.d/51dconf:CONFIG_PROTECT_MASK="/etc/dconf" /etc/env.d/09sandbox:CONFIG_PROTECT_MASK="/etc/sandbox.d" /etc/env.d/50baselayout:CONFIG_PROTECT_MASK="/etc/gentoo-release" /etc/env.d/37fontconfig:CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf" /etc/env.d/99gentoolkit-env:CONFIG_PROTECT_MASK="/etc/revdep-rebuild" /etc/env.d/98ca-certificates:CONFIG_PROTECT_MASK="/etc/ca-certificates.conf" /etc/env.d/30gnupg:CONFIG_PROTECT=/usr/share/gnupg/qualified.txt % grep -RFl CONFIG_PROTECT /etc/env.d | xargs qfile app-crypt/gnupg: /etc/env.d/30gnupg app-misc/ca-certificates: /etc/env.d/98ca-certificates app-portage/gentoolkit: /etc/env.d/99gentoolkit-env gnome-base/dconf: /etc/env.d/51dconf kde-frameworks/kf-env: /etc/env.d/78kf media-libs/fontconfig: /etc/env.d/37fontconfig sys-apps/baselayout: /etc/env.d/50baselayout sys-apps/sandbox: /etc/env.d/09sandbox In general, you'll need to hunt down where each of the entries is coming from so we can fix it at the source. Wow! Here we go: $ grep -RF CONFIG_PROTECT /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/09sandbox:CONFIG_PROTECT_MASK="/etc/sandbox.d" /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/50baselayout:CONFIG_PROTECT_MASK="/etc/gentoo-release" /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/50ncurses:CONFIG_PROTECT_MASK="/etc/terminfo" /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/30gnupg:CONFIG_PROTECT=/usr/share/gnupg/qualified.txt $ grep -RFl CONFIG_PROTECT /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d | xargs qfile app-crypt/gnupg: /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/30gnupg app-misc/ca-certificates: /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/98ca-certificates sys-apps/baselayout: /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/50baselayout sys-apps/sandbox: /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/09sandbox sys-libs/ncurses: /auto/vestec1-elixir/projects/biocev/gentoo/etc/env.d/50ncurses $ I think Gentoo::Prefix used to have wrapper functions to EPREFIXify the paths during package install and qmerge steps. But at the moment only a few packages are the culprit. Since CONFIG_PROTECT and CONFIG_PROTECT_MASK comes from the profiles, they cannot respect EPREFIX. Therefore, they are an exception, and EPREFIX is prepended to the paths from them at runtime. So, these not being prefixed is intentional. It is not nice, but no other way possible, sorry. |