ACCEPT_KEYWORDS
Переменная ACCEPT_KEYWORDS сообщает пакетному менеджеру, какие значения KEYWORDS в файлах ebuild он должен принимать. Эта переменная используется для выбора стабильной или тестовой ветви по умолчанию.
Где задается эта переменная?
Значение этой переменной обычно устанавливается в профиле Gentoo, но его можно переопределить на уровне системы в /etc/portage/make.conf , попакетно в /etc/portage/package.accept_keywords , или даже для определённого пакета в командной строке, хотя это и не рекомендуется.
Обычно считается плохой идеей переназначать переменную ACCEPT_KEYWORDS из командной строки, например, используя ACCEPT_KEYWORDS=<архитектура> emerge -av <название_пакета> , так как указанное значение не будет постоянным, что может привести к нежелательному поведению пакетного менеджера.
Стабильные и нестабильные keyword
В большинстве профилей значение переменной
ACCEPT_KEYWORDS
по умолчанию содержит только архитектуру профиля. Например,
amd64
или
arm
. В этих случаях пакетный менеджер будет «видеть» ebuild’ы только с такой же переменной
KEYWORDS
. Если пользователь хочет установить тестируемый ebuild и работать с ним, то можно добавить ту же архитектуру, но с префиксом
~
перед ним. Например так:
ACCEPT_KEYWORDS="~amd64"
Не нужно указывать стабильный keyword ( amd64 ), когда добавляете тестовое ( ~amd64 ), так как ACCEPT_KEYWORDS — инкрементальная переменная.
Если нужно переопределить переменную не для целой системы, а для отдельных пакетов, то делается это через файл или каталог package.accept_keywords :
# games
games-fps/doomsday ~amd64
Вдобавок к обычным значениям из ACCEPT_KEYWORDS в package.accept_keywords поддерживается три специальных токена [1]
-
*— Пакет виден, если он стабилен на любой архитектуре. -
~*— Пакет виден, если он тестируется на любой архитектуре. -
**— Пакет всегда виден ( KEYWORDS игнорируются полностью).
Последнее значение полезно для «живых» версий пакетов (т. е. версий из SVN/Git/Mercurial или т. п.), которые не включают переменную KEYWORDS .
Поведение ~ arch и ~* отличается: ~ arch включает в себя arch , но ~* не включает в себя *. Чтобы использовать последнюю версию пакета, которая помечена как стабильная или нестабильная на любой архитектуре, укажите "* ~*".
Смотрите также
- KEYWORDS — the KEYWORDS variable informs in which architectures the ebuild is stable or still in testing phase.
- Knowledge Base:Accepting a keyword for a single package
- Knowledge Base:Accepting a keyword for all packages
Ссылки
- ↑ Gentoo Portage, Manual page for Portage . Проверено 30 января 2015.