Savedconfig
savedconfig is Article description::a USE flag that, in general, preserves the saved configuration files upon package updates. It allows for the updating of other files from a package update while, at the same time, guaranteeing no changes will be made to some specific files defined under Portage's /etc/portage/savedconfig/ directory.
Prerequisites
To understand how Portage handles configuration files, it is wise to the review the CONFIGURATION FILES section of emerge's man page:
user $
man 1 emerge
By default, files under the /etc directory are protected from modification or deletion unless Portage has been explicitly instructed otherwise.
Usage
Although it is possible to add savedconfig
USE flag to the system's make.conf file, it is likely to define it on a per-package basis. Setting savedconfig
will restore the configuration files from the /etc/portage/savedconfig/${CATEGORY}/${P} file. Make sure the USE flags allow for appropriate dependencies.
Example
Enable the savedconfig
USE flag on the sys-kernel/gentoo-kernel package:
/etc/portage/package.use/gentoo-kernel
<pre> sys-kernel/gentoo-kernel savedconfig </pre>
Emerge the package; note that after package installation a message similar to the following will be displayed:
root #
emerge --ask --update --changed-use sys-kernel/gentoo-kernel
* Building using saved config directory "/etc/portage/savedconfig/sys-kernel/gentoo-kernel" * Your configuration for sys-kernel/gentoo-kernel-5.9.2 has been saved in * "/etc/portage/savedconfig/sys-kernel/gentoo-kernel" for your editing pleasure. * You can edit these files by hand and remerge this package with * USE=savedconfig to customise the configuration. * You can rename this file/directory to one of the following for * its configuration to apply to multiple versions: * ${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/ * [${CTARGET}|${CHOST}|""]/${CATEGORY}/[${PF}|${P}|${PN}]
On the next emerge of the package, Portage will use the saved configuration file located at /etc/portage/savedconfig/sys-kernel/gentoo-kernel as the .config file for compiling kernel. This file may be modified as necessary, or, for example, can be replaced by another .config entirely.
External resources
https://packages.gentoo.org/useflags/savedconfig - An online view of packages containing the savedconfig
USE flag.