Как размаскировать пакет в gentoo

В связи с тем, что я стал замечать в статистике посещений блога переходы по ключевым фразам "как размаскировать пакет в gentoo", придется написать на эту тему, чтобы люди зря не ходили :) Итак, вам интересно, как же все-таки размаскировать пакет? Читайте в продолжении :)

paludis

Для размаскировки пакета при использовании paludis необходимо вписать этот пакет в файл /etc/paludis/package_unmask.conf одним из следующих способов:

#размаскировываем все версии пакетов ies4linux и gtk-engines-aurora:
app-emulation/ies4linux
x11-themes/gtk-engines-aurora
#размаскировываем какую-то конкретную версию:
=dev-util/cmake-2.6.0:0

Становится ясно, что если размаскировывать много всего то этот файл со временем станет трудночитаемым. Поэтому можно использовать альтернативный вариант - создавать тематические файлы в папке /etc/paludis/package_unmask.conf.d/ для того, чтобы в будущем было легче найти результаты своих размаскировок. Например, у меня в папке /etc/paludis/package_unmask.conf.d/ лежит файл qt.conf со следующим содержимым:

~x11-libs/qt-assistant-4.4.0_rc1:4
~x11-libs/qt-gui-4.4.0_rc1:4
~x11-libs/qt-script-4.4.0_rc1:4
~x11-libs/qt-test-4.4.0_rc1:4
~x11-libs/qt-opengl-4.4.0_rc1:4
~x11-libs/qt-4.4.0_rc1:4
~x11-libs/qt-sql-4.4.0_rc1:4
~x11-libs/qt-dbus-4.4.0_rc1:4
~x11-libs/qt-svg-4.4.0_rc1:4
~x11-libs/qt-core-4.4.0_rc1:4
~x11-libs/qt-qt3support-4.4.0_rc1:4
~x11-libs/qt-xmlpatterns-4.4.0_rc1:4

Кстати, в этом синтаксисе последняя цифра - номер слота. Очень удобно. Напоследок хотел бы отметить несколько моментов:

  • Подобным образом можно размаскировывать не только пакеты, но и целые сеты (пользователи paludis поняли о чем идет речь).
  • Аналогичный синтаксис используется не только для размаскировки, но и для маскировки.
  • Можно маскировать/размаскировывать пакеты по разным критериям, не только по версиям или слотам, но и по оверлеям. Например, я использую патченую версию ряда пакетов для более приятного (субъективно) сглаживания шрифтов, поэтому хочу замаскировать несколько пакетов из основного дерева и оставить только оверлейные:

    media-libs/fontconfig:1.0::gentoo
    media-libs/freetype:2::gentoo
    x11-libs/cairo::gentoo

    Этими нехитрыми строками я замаскировал вышеозначенные пакеты из основного дерева портежей.

  • Существует скрипт, который может сделать размаскировку за вас. Называется он gimme.rb Может работать с каталогами и имеет опцию --pretend.

emerge

К сожалению, я давно не пользовался системой emerge, поэтому не знаю как обстоит дело с маскировкой и размаскировкой сейчас. Думаю, что мало что изменилось с тех пор как я был молодым, да и синтаксис должен быть похожим. Где-то в /etc/portage/package.unmask можно вписать что-то а-ля

app-emulation/ies4linux
x11-themes/gtk-engines-aurora

Должно помочь.

Но все же я рекомендовал бы новичкам использовать утилиту autounmask:

emerge -av app-portage/autounmask
autounmask kde-base/kde-3.5.10

Вот как-то так. Надеюсь, теперь, перейдя по ссылке с ключевыми словами "как размаскировать пакет gentoo" Вы не уйдете обиженным :)

Запись опубликована в рубрике gentoo с тэгами , . Создать закладку наpermalink. Оставить комментарийили trackback:Trackback URL.

2 комментариев

  1. Опубликован 15 сентября 2010 в 19:28 | Прямая ссылка

    Интересно, а вот при установке php-5.3.3-r2 emerge просит eselect-php, но добавив этот пакет и в .unmask и в keywords продолжает ругаться что он замаскирован по кейворду.
    В make.conf добавлять «~» ?

  2. Опубликован 7 сентября 2011 в 13:53 | Прямая ссылка

    Никто не помнит как из терминала ставить пакет в слот?
    sudo emerge -av =gcc-4.5.3-r1 :1

    Так не получается

Оставить комментарий

Ваш e-mail никогда не будет опубликован или передан третьим лицам.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>