Лень стало собирать пакеты вручную и портировал утилиты работы с портежем и оверлеями генты в слаку.
Пока все вроде работает как надо, то есть пакеты слаки собираются, но кто нибудь напарывался при этом на какие нибудь грабли по лбу ?
Слака и портежи генты
но кто нибудь напарывался при этом на какие нибудь грабли по лбу ?
тут уместнее будет сказать, что грабли из красного дерева есть только у тебя ;D
Не , ну а чего ? :-) Пакетов там до .. очень много, чего бы не использовать ? Просто интересно, какие могут быть грабли
Про «сделать из DISTRO_NAME слаку» я слыхал, и не раз.
Но про «сделать из слаки генту» …
Чёрт подери.
Пока все вроде работает как надо, то есть пакеты слаки собираются
Я правильно понимаю, что Вы адаптировали emerge для сборки пакетов для Slackware?
Про «сделать из DISTRO_NAME слаку» я слыхал, и не раз.
Но про «сделать из слаки генту» …
Чёрт подери.
Это все таже слака, со своим управлением пакетами, просто ее пакеты можно собирать из портежей и оверлеев генты. Чуть раньше это проделал с арчем, из которого также можно собирать пакеты слаки.
Я правильно понимаю, что Вы адаптировали emerge для сборки пакетов для Slackware?
Это не адаптация, я в их сорцах ничего не менял, только портировал на слаку portage, layman, eix и еще несколько пакетов. Вообще говоря никаких трудностей это не составило.
Я снимаю перед Вами шляпу.
Это не адаптация, я в их сорцах ничего не менял, только портировал на слаку portage, layman, eix и еще несколько пакетов. Вообще говоря никаких трудностей это не составило.
А Вы маленькую инструкцию по прикручиванию portage выложите пожалуйста.
С удовольствием поэкспериментирую на пару с Вами...
Чего, чего, а на грабли наступать умею... :)
А по другому не запоминается...
А Вы маленькую инструкцию по прикручиванию portage выложите пожалуйста.
С удовольствием поэкспериментирую на пару с Вами...
Чего, чего, а на грабли наступать умею... :)
А по другому не запоминается...
По памяти, ничего не записывал, а память дырявая.. :-)
Самая маленькая, поскольку сам пока еще не написал для нее сборочные скрипты, только портировал пакеты.
Для начала нужен epydoc, собрать его можно и из арча и самому, первое проще, там с патчами ( сам собирал из арча)
Затем собрать pax-utils отсюда - http://gentoo.arcticnetwork.ca/distfiles/pax-utils-0.5.tar.xz
Затем уже сам portage - http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=summary
Мне пришлось править makefile чтобы не подхватывал при установке какой то док
Заводится группа portage c пользователем portage (нужно ли это не очень понял, собирается и без нее но сыплет варнингами)
Далее утягивается сам портеж - emerge --sync в /usr/portage
Ну а потом можно собирать уже из портежа (естественно что никакие зависимости не разрешаются, делать с их разрешением это половину мегатонны питоньего кода portage надо переписывать)
ebuild *.ebuild fetch
ebuild *.ebuild unpack
ebuild *.ebuild compile
ebuild *.ebuild install
в папке с нужным ебилдом
ставится все это во временную папку /var/tmp/portage/../image,
в нем переносится ..usr/share/man в ..usr/man и ..usr/share/doc в ..usr/doc и далее стандартная процедура создания пакета через слаковский makepkg
Теперь пересобираем automake из портежа.
Для работы с оверлеями нужен layman, для нормального поиска в портеже и в оверлеях eix (c push)
Как и что с ними делать вот здесь -
http://ru.gentoo-wiki.com/wiki/Portage_Overlay
поиск через eix -R что-то, будет искать в портеже и во всех оверлеях (даже неустановленных). Все операции с eix только от пользователя, в отличии от всех остальных где нужен рут. Поиск штатными средствами emerge таков, что проще удавиться :-) чем им пользоваться
Вот вкратце, может что то уже и подзабыл
Всего там более 20000 пакетов (в портеже и во всех оверлеях)
ЗЫ И да, больше там ничего трогать не надо, особенно экспериментировать с emerge, одна неверная команда с ним и систему можно будет выбрасывать. еmerge только и исключительно как emerge --sync, больше ни для чего.
ЗЫЗЫ Питоньи проги не собираются, чтобы их собрать надо использовать совсем уж грязные хаки.
Спасибо большое.
Буду пробовать *YES*
Пока все вроде работает как надо, то есть пакеты слаки собираются, но кто нибудь напарывался при этом на какие нибудь грабли по лбу ?
В gentoo скрипты отличаются от тех что используются в слаке, а следовательно грабли будут, если собранный пакет использует специфичные для gentoo конфигурационные файлы в каталоге /etc
То есть некоторые пакеты будут работать не так как надо, то есть придется либо переделывать ебилд для слаки, либо опять писать слакбилд с нуля.
Самое легкое правятся конфигурационные файлы вручную, создается патч изменений, который просто включается в ебилд в конце установки.
Например в функции pkg_postinst()
В gentoo скрипты отличаются от тех что используются в слаке, а следовательно грабли будут, если собранный пакет использует специфичные для gentoo конфигурационные файлы в каталоге /etc
То есть некоторые пакеты будут работать не так как надо, то есть придется либо переделывать ебилд для слаки, либо опять писать слакбилд с нуля.
Самое легкое правятся конфигурационные файлы вручную, создается патч изменений, который просто включается в ебилд в конце установки.
Например в функции pkg_postinst()
Так это касается в первую очередь каких то специфичных именно для генты утилит, или нет ?
Так это касается в первую очередь каких то специфичных именно для генты утилит, или нет ?
Не обязательно, это может быть какой нибудь пакет, в котором окружение Environment, прописано в /etc/env.d/
Либо это может быть программа, требующая запуска определенного демона.
Не обязательно, это может быть какой нибудь пакет, в котором окружение Environment, прописано в /etc/env.d/
Либо это может быть программа, требующая запуска определенного демона.
Ну, к счастью таких программ не так уж и много. Но в них, да, придется править.