Что такое оверлеи и как ими пользоваться
Несмотря, что выбор программного обеспечения в 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 — обновляет все подключенные оверлеи
