/etc/portage/package.use
/etc/portage/package.use provides a more fine grained per-package control of USE flags than the USE variable in /etc/portage/make.conf.
/etc/portage/package.use может быть целиком в виде одного файла или в виде директории, которая содержит конфигурационные файлы для каждого отдельного пакета.
With the default USE_ORDER setting, the /etc/portage/package.use file or directory will override individual package settings coming from all locations except for the USE environment variable.
Пример
/etc/portage/package.use
Пример с расположением в одном файле# Глобально отключаем ненужные USE-флаги, включенные профилем
*/* -bluetooth -dbus -ldap -libnotify -nls -udisks
# Включаем USE-флаг "offensive" для app-admin/sudo
app-admin/sudo offensive
# Отключаем поддержку mysql для dev-lang/php
dev-lang/php -mysql
# Включаем java и устанавливаем версию интерпретатора для libreoffice
app-office/libreoffice java PYTHON_SINGLE_TARGET: python3_11
/etc/portage/package.use/openrct
Example with this location as a directory# Disable Vorbis support in OpenRCT2
games-simulation/openrct2 -vorbis
За более подробной информацией обращайтесь к Руководства пользователя.
Формат
- One DEPEND atom per line with space-delimited USE flags.
- Comment lines begin with
#
(hash).
See version specifier for information on how to format the package atoms.
If a package atom specifies a version, a comparison operator must be used.
Автоматически генерируемое содержимое
У emerge параметр --autounmask
включен по умолчанию (смотрите man 1 emerge). Поэтому он может генерировать настройки в package.use по необходимости, чтобы разрешить зависимости.
When /usr/portage/package.use is a directory,
--autounmask
will write its changes to the lexicographically last file in that directory. Users might find it useful to create such a file ahead of time. Otherwise, a confusing (but otherwise harmless) situation can result where changes for one package are appended to a file pertaining to a different package.Finding USE flags set
With all the will in the world, mistakes will happen so below are some tips to help find a USE flag that was set and can no longer be found.
In this example, the lua USE flag was set for media-video/obs-studio, but is no longer required.
user $
grep --recursive "lua" /etc/portage/
/etc/portage/package.use/obs:media-video/obs-studio nvenc browser speex fdk lua python qsv v4l vlc
/etc/portage/package.use/scummvm:games-engines/scummvm fluidsynth -fribidi lua mpeg2 sndio speech theora unsupported
/etc/portage/package.use/zz-automask:>=dev-lua/lgi-0.9.2-r100 lua_targets_luajit
It can be seen that the USE flag is in /etc/portage/package.use/obs and can be quickly added and removed.
Внешние ресурсы
- https://packages.gentoo.org/useflags - USE flags on Gentoo Packages Database
- Portage man page
- Setting USE_EXPAND flags in package.use - blog post by Bernard Cafarelli
- Cleaning /etc/portage/package.* from unused entries
- Find obsolete USE flags in /etc/portage/package.use - Gentoo forums thread