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