ACCEPT_KEYWORDS

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page ACCEPT KEYWORDS and the translation is 100% complete.


Переменная 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, но ~* не включает в себя *. Чтобы использовать последнюю версию пакета, которая помечена как стабильная или нестабильная на любой архитектуре, укажите "* ~*".

Смотрите также

Ссылки

  1. Gentoo Portage, Manual page for Portage. Проверено 30 января 2015.