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