LINUX.ORG.RU

Оверлеи

 


4

1

Бывает так, что при обновлении какой-то пакет вытягивается из оверлея вместо того, чтоб вытянуться из ::gentoo. Поскольку в оверлеях понятия стабильности могут отличаться от основного дерева, при групповом обновлении можно получить из стороннего оверлея версии пакетов, которые из этого оверлея брать бы не хотелось. Так вот, как бы портежам сказать, что из оверлея можно ставить только когда я явно при вызове emerge указываю пакет::оверлей или запись аналогичного вида уже присутствует в файле world? Можно конечно, взять sed и пройтись им по файлу world, чтобы проставить везде ::gentoo, но это не затронет пакеты, которые подтягиваются как зависимости да и костыльно. Ваши предложения?

Deleted

Занеси в package.mask ::имя_оверлея, а потом вручную размаскируй пакеты из него по необходимости.

vurdalak ★★★★★
()

Убрать /var/lib/layman/имяоверлея из /var/lib/layman/make.conf
Пакеты из ::имяоверлея ставить: PORTDIR_OVERLAY=«/var/lib/layman/имяоверлея» emerge --foo bar
Может есть и более правильной путь.

imul ★★★★★
()

Вариант №1(универсальный)

/etc/portage/package.mask:

*/*::overlay_name

/etc/portage/package.unmask:

category/package

Где category/package - пакет, который нужен из оверлея.

Вариант №2(только для оверлеев где соблюдается правило - все пакеты unstable)

/etc/portage/package.accept_keywords:

category/package::gentoo

Будет брать unstable пакет только из основного дерева, но не из оверлея.

Pinkbyte ★★★★★
()
Ответ на: комментарий от qnikst

Хм, это наверно странно, но PORTDIR не определена на момент чтения make.conf. Поэтому тамошний пример, который

PORTDIR_OVERLAY="/home/user/overlay ${PORTDIR}"
Вернул мне пустую строку на месте $PORTDIR. Если подставить туда /usr/portage, то тогда если стабильная версия из оверлея больше той, что в основном дереве, она её перекроет. Так что придётся мне маскировать.

Deleted
()
Ответ на: комментарий от Deleted

да если такой оверлей один, то максировка - более простой выход.

qnikst ★★★★★
()

А в

man portage
если что это

Examples:

sys-apps/sed::gentoo # match sed from the 'gentoo' repository

kde-base/kdelibs::kde-testing # match kdelibs from the 'kde-testing' repository

net-im/empathy::gnome # match empathy from the 'gnome' repository

описано… Так же как и маскировать или наоборот размаскировывать.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Я читал. Целиком. Правда это было месяц назад.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.