суббота, 5 декабря 2009 г.

Что такое оверлеи и как ими пользоваться

Несмотря, что выбор программного обеспечения в Gentoo очень велик, довольно часто бывает так, что какого-то пакеты в дереве портежей нету. Приходится иметь дело с ebuild-ами, которые не вошли в официальное дерево.

Проще говоря overlay это дополнительный репозиторий. Оверлеи бывают двух видов. Локальный - тот, который вы обслуживаете сами, закидываете ебилды, создаете digest-файлы и т.д. И еще существуют, так называемые автоматизированные оверлеи. Эти оверлеи обслуживаются утилитой layman, которая все делает сама. У нее есть свой список оверлеев, который время от времени обновляется. Рассмотрим поочердно каждый тип.

Итак, для оверлеев, которые будут обрабатываться вручную, необходимо создать отдельный каталог, допустим /usr/local/portage/ Сюда будут закидываться ebuild-ы. Таким образом официальное дерево и дополнительные ebuild-ы смешиваться не будут. При помещении ebuild файла в этот каталог, необходимо использовать такую же схему иерархии каталогов как и в /usr/portage/
Еще нужно добавить в /etc/make.conf строчку
PORTDIR_OVERLAY="/usr/local/portage"
Пример установки пакетного менеджера pacman из ArchLinux, которого нету в официальном дереве:
mkdir -p /usr/local/portage/app-misc/pacman
cd /usr/local/portage/app-misc/pacman
wget http://gentoo-overlays.zugaina.org/arcon/portage/app-misc/pacman/pacman-3.3.2.ebuild
Теперь когда скачан ebuild-файл, нужно скачать исходники и создать файл Manifest, в котором будут указанны контрольная сумма md5 сборочного файла:
ebuild /usr/local/portage/app-misc/pacman/pacman-3.3.2.ebuild digest

Все. Тут уже можно устанавливать как обычно.

Второй тип оверлеев. Для начала нужно установить утилиту для автоматизации обслуживания оверлеев:
emerge layman

Затем добавить строчку в make.conf
source /usr/local/portage/layman/make.conf
Могут понадобится утилиты git, subversion, mercurial, bzr. Так как большинство оверлей-репозитории обновляются через эти системы контроля версий.

Краткий перечень основных команд:

layman -L - выводит список оверлеев подключаемых оверлеев
layman -a overlay - подключает оверлей
layman -d overlay - удаляет оверлей
layman -S - обновляет все подключенные оверлеи

4 комментария:

  1. Спасибо за идею с пакманом. С yaourt видимо таже история

    ОтветитьУдалить
  2. не совсем понятно зачем пакман в генту ))

    ОтветитьУдалить
  3. Pacman в gentoo - некошерный изврат...

    ОтветитьУдалить
    Ответы
    1. плять пакмын добавыли спицальна длеа тестераф
      проги каторай точна не будит ни в адном авирлеи =ю=

      Удалить