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.