LINUX.ORG.RU

История изменений

Исправление Pinkbyte, (текущая версия) :

Всё очень просто.

Допустим есть пакет(например lvm2). Который присутствует как в стабильной, так и в нестабильной ветках.

У него есть опциональная зависимость от, например cman. Включается она через USE=«cman». Но cman нет в стабильной ветке, по причине его крайне капризного поведения.

Как устабилить lvm2? Ведь для стабилизации, требуется чтобы все зависимости пакета были тоже из стабильной ветки.

И тут на сцену выходит package.use.stable.mask в профилях. Указанные там USE-флаги будут по умолчанию НЕДОСТУПНЫ на стабильной ветке.

Это преследует несколько целей. Во-первых, пользователю стабильной ветки не при каких условий не прилетит пакет из нестабильной, если он этого явно не захочет. Во-вторых, мэйнтэйнерам не нужно тестить при стабилизации дополнительные комбинации USE-флагов(софт который это делает перебирает все ДОПУСТИМЫЕ комбинации, за исключением замаскированных).

Далее - package.use.mask. Он чаще применяется в профилях других архитектур, но также имеет применение в основном(base) профиле. Например какая-то опциональная зависимость, контролируемая USE-флагом недоступна на определенной минорной архитектуре. Вывод - в профиле этой архитектуры USE-флаг для этой зависимости будет замаскирован. Следующее возможное применение - фичи, которые есть в самом пакете, но сломаны по своей природе. Такое использование практикуется реже, но всё же имеет место быть.

Например из недавнего:

# Maciej Mrozowski <reavertm@gmail.com> (23 Mar 2016)
# Experimental cairo-qt backend (see bug #568000).
app-text/poppler cairo-qt

Теперь поговорим о том, как пользователь может повлиять на это поведение. Если пакет замаскирован на stable ветке через package.use.stable.mask, размаскировать его можно как через package.use.mask в ./etc/portage/profile, так и через package.use.stable.mask. Отличие в том, что если позднее этот флаг будет замаскирован уже в package.use.mask, то при размаскировании через package.use.stable.mask - эта маскировка не спадёт.

Есть еще use.mask и use.stable.mask, они применяются соответственно для маскирования/размаскирования глобальных USE-флагов. И тоже могут быть применены в /etc/portage

Исходная версия Pinkbyte, :

Всё очень просто.

Допустим есть пакет(например lvm2). Который присутствует как в стабильной, так и в нестабильной ветках.

У него есть опциональная зависимость от, например cman. Включается она через USE=«cman». Но cman нет в стабильной ветке, по причине его крайне капризного поведения.

Как устабилить lvm2? Ведь для стабилизации, требуется чтобы все зависимости пакета были тоже из стабильной ветки.

И тут на сцену выходит package.use.stable.mask в профилях. Указанные там USE-флаги будут по умолчанию НЕДОСТУПНЫ на стабильной ветке.

Это преследует несколько целей. Во-первых, пользователю стабильной ветки не при каких условий не прилетит пакет из нестабильной, если он этого явно не захочет. Во-вторых, мэйнтэйнерам не нужно тестить при стабилизации дополнительные комбинации USE-флагов(софт который это делает перебирает все ДОПУСТИМЫЕ комбинации, за исключением замаскированных).

Далее - package.use.mask. Он чаще применяется в профилях других архитектур, но также имеет применение в основном(base) профиле. Например какая-то опциональная зависимость, контролируемая USE-флагом недоступна на определенной минорной архитектуре. Вывод - в профиле этой архитектуры USE-флаг для этой зависимости будет замаскирован. Следующее возможное применение - фичи, которые есть в самом пакете, но сломаны по своей природе. Такое использование практикуется реже, но всё же имеет место быть.

Например из недавнего:

# Maciej Mrozowski <reavertm@gmail.com> (23 Mar 2016)
# Experimental cairo-qt backend (see bug #568000).
app-text/poppler cairo-qt

Теперь поговорим о том, как пользователь может повлиять на это поведение. Если пакет замаскирован на stable ветке через package.use.stable.mask, размаскировать его можно как через package.use.mask в профиле, так и через package.use.stable.mask. Отличие в том, что если позднее этот флаг будет замаскирован уже в package.use.mask, то при размаскировании через package.use.stable.mask - эта маскировка не спадёт.

Есть еще use.mask и use.stable.mask, они применяются соответственно для маскирования/размаскирования глобальных USE-флагов. И тоже могут быть применены в /etc/portage