USE-флаги и маски для отдельных пакетов (/etc/portage/package.*)
В этой статье я опишу методы установки USE-флагов, масок и размаскировок для отдельных пакетов в Gentoo.
USE-флаги управляют процессом сборки ПО в Gentoo. Грубо говоря, это опции, передаваемые скрипту ./configure. Реально их функционал шире. Использование USE-флагов позволяет собрать систему без лишних, ненужных компонентов. Информацию по USE-флагам можно получить при помощи утилиты euse из пакета gentoolkit.
Маскировка пакетов применяется для недостаточно оттестированных или нестабильных версий ПО. Существует соответственно два вида маскировки - testing (перед версией пакета ставится ~) и unstable (перед версией пакета ставится **). Посмотреть доступные в дереве пакетов версии удобнее всего при помощи eix.
Пример строки с доступными версиями для media-video/mplayer:
Available versions: 1.0_rc4_p20091026-r1 (~)1.0_rc4_p20100506 (~)1.0_rc4_p20100612 **9999
1.0_rc4_p20091026-r1 является стабильной и хорошо протестированной версией, 1.0_rc4_p20100506 и 1.0_rc4_p20100612 являются недостаточно протестированными версиями, а 9999 - это версия из svn, работоспособность которой вообще не гарантируется.
Для разных архитектур могут указываться разные маски. Пакет может быть стабильным на x86, но замаскированным на amd64 и т.д.
Для того, чтобы задать USE-флаги, снять или установить маску для отдельных пакетов, используются следующие конфигурационные файлы /etc/portage/package.*:
- package.use для управления USE-флагами. Пример одной строки из файла:
media-video/mplayer mad -mp3
Mplayer будет собран с поддержкой libmad, а поддержка lame собрана не будет.
- package.keywords для снятия testing-масок. Пример одной строки из файла:
media-video/mplayer
Будет установлена версия 1.0_rc4_p20100612 (см. пример с eix выше).
- package.unmask для снятия unstable-масок. Синтаксис файла точно такой же, как и у package.keywords. Но, чтобы установить unstable-маскированный пакет, нужно также добавить его в package.keywords, причем с пометкой **:
media-video/mplayer **
- package.mask для маскировки пакетов. Например, в дереве пакетов PHP 5.3.x уже стабилен, но вы желаете остаться на ветке 5.2.x. Для этого пропишите в этом файле:
>=dev-lang/php-5.3
При этом при обновлении минорной версии 5.2 (например с 5.2.14 до 5.2.15) у вас она также обновится.
Еще нет отзывов
Идет загрузка формы...