LINUX.ORG.RU
ФорумAdmin

Gentoo и сторонние ибилды


0

0

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

anonymous

Об установке или написании? Если установке - там всё просто: создаёшь оверлей дерева портежей (если его ещё нет - его стандартное размещение - /usr/local/portage, он должен быть прописан в переменной PORTDIR_OVERLAY в make.conf), там помещаешь ебилд в каталог соответствующий его категории (аналогичный каталогам в /usr/portage - типа media-video например), затем в этом каталоге говоришь `ebuild megaproga-0.1.ebuild digest` - эта команда создаст файл с хешами исходников и файл Manifest (исходники скачаются при необходимости). После этого говоришь `emerge megaproga`. Всё.

slav ★★
()
Ответ на: комментарий от slav

Да, если в ебилде не прописано откуда качать исходники - их надо положить в /usr/portage/distfiles.

По написанию ебилдов - man 5 ebuild

slav ★★
()
Ответ на: комментарий от slav

>Об установке или написании?

Пока что только об установке :-)

>там помещаешь ебилд в каталог соответствующий его категории

Вот, я сам должен определить категорию? 8-o

anonymous
()
Ответ на: комментарий от slav

>затем в этом каталоге говоришь `ebuild megaproga-0.1.ebuild digest`

Спасибо, сделал все это. Только "emerge foobar" говорит "emerge: there are no ebuilds to satisfy "foobar"." Хотя автокомплит в bash (из app-shells/gentoo-bashcomp) новый пакет показывает. Чего-то я еще не сделал?

anonymous
()
Ответ на: комментарий от anonymous

Возможные причины:
1) категория пакета (элемент места размещения ебилда /usr/local/portage/категория/) нестандартная (имя категории должно быть одно из тех, которые есть в /usr/portage - их список находится в /usr/portage/profiles/categories - по-моему при желании можно добавить и свою, но ИМХО в большинстве случаев проще подобрать существующую подходящую по смыслу). Ебилды из категорий не включенных в файл categories портеж не видит.
2) оверлей прописан в make.conf? emerge --info его показывает (должна быть строка вида PORTDIR_OVERLAY="/usr/local/portage").

Ебилд должен лежать в месте примерно таком:
/usr/local/portage/app-misc/megaproga/megaproga-0.1.ebuild

slav ★★
()
Ответ на: комментарий от slav

> /usr/local/portage/app-misc/megaproga/megaproga-0.1.ebuild

Скорее всего дело в этом - я явно не указал в первом сообщении что ебилд должен лежать в каталоге с именем, совпадающим с именем ебилда.

Вообще, посмотри где они размещаются в /usr/portage и делай по аналогии в оверлее.

slav ★★
()
Ответ на: комментарий от slav

Еще раз большое спасибо, теперь все работает. Причина была в том, что я по-началу пошел по ложному пути и связался с layman. Я добавил в /etc/make.conf строку "source /usr/portage/local/layman/make.conf", а в /usr/portage/local/layman/make.conf было прописано PORTDIR_OVERLAY="" :-)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.