1 (29.12.2012 23:03:28 отредактировано SergMarkov)

Лень стало собирать пакеты вручную и портировал утилиты работы с портежем и оверлеями генты в слаку.
Пока все вроде работает как надо, то есть пакеты слаки собираются, но кто нибудь напарывался при этом на какие нибудь грабли по лбу ?

2

SergMarkov пишет:

но кто нибудь напарывался при этом на какие нибудь грабли по лбу ?

тут уместнее будет сказать, что грабли из красного дерева есть только у тебя  bt

3 (29.12.2012 23:11:47 отредактировано SergMarkov)

Не , ну а чего ? :-) Пакетов там до .. очень много, чего бы не использовать ? Просто интересно, какие могут быть грабли

4

Про «сделать из DISTRO_NAME слаку» я слыхал, и не раз.
Но про «сделать из слаки генту» …
Чёрт подери.

SergMarkov пишет:

Пока все вроде работает как надо, то есть пакеты слаки собираются

Я правильно понимаю, что Вы адаптировали emerge для сборки пакетов для Slackware?

«Я устал, я ухожу.»

5 (30.12.2012 05:07:27 отредактировано SergMarkov)

Vitri пишет:

Про «сделать из DISTRO_NAME слаку» я слыхал, и не раз.
Но про «сделать из слаки генту» …
Чёрт подери.

Это все таже слака, со своим управлением пакетами, просто ее пакеты можно собирать из портежей и оверлеев генты. Чуть раньше это проделал с арчем, из которого также можно собирать пакеты слаки.

Vitri пишет:

Я правильно понимаю, что Вы адаптировали emerge для сборки пакетов для Slackware?

Это не адаптация, я в их сорцах ничего не менял, только портировал на слаку portage, layman, eix и еще несколько пакетов. Вообще говоря никаких трудностей это не составило.

6

Я снимаю перед Вами шляпу.

have a lot of fun!
Ас-саля́му ‘алейкум Чака Хан!
уютный бложик

7

SergMarkov пишет:

Это не адаптация, я в их сорцах ничего не менял, только портировал на слаку portage, layman, eix и еще несколько пакетов. Вообще говоря никаких трудностей это не составило.

А Вы маленькую инструкцию по прикручиванию portage выложите пожалуйста.
С удовольствием поэкспериментирую на пару с Вами...
Чего, чего, а на грабли наступать умею... ab
А по другому не запоминается...

8 (23.01.2013 07:47:11 отредактировано SergMarkov)

cdrw пишет:

А Вы маленькую инструкцию по прикручиванию portage выложите пожалуйста.
С удовольствием поэкспериментирую на пару с Вами...
Чего, чего, а на грабли наступать умею... ab
А по другому не запоминается...

По памяти, ничего не записывал, а память дырявая.. :-)
Самая маленькая, поскольку сам пока еще не написал для нее сборочные скрипты, только портировал пакеты.
Для начала нужен epydoc, собрать его можно и из арча и самому, первое проще, там с патчами ( сам собирал из арча)
Затем собрать pax-utils отсюда - http://gentoo.arcticnetwork.ca/distfile … 0.5.tar.xz
Затем уже сам portage - http://git.overlays.gentoo.org/gitweb/? … ;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, больше ни для чего.
ЗЫЗЫ Питоньи проги не собираются, чтобы их собрать надо использовать совсем уж грязные хаки.

9

Спасибо большое.
Буду пробовать bs

10

SergMarkov пишет:

Пока все вроде работает как надо, то есть пакеты слаки собираются, но кто нибудь напарывался при этом на какие нибудь грабли по лбу ?

В gentoo скрипты отличаются от тех что используются в слаке, а следовательно грабли будут, если собранный пакет использует специфичные для gentoo конфигурационные файлы в каталоге /etc
То есть некоторые пакеты будут работать не так как надо, то есть придется либо переделывать ебилд для слаки, либо опять писать слакбилд с нуля.
Самое легкое правятся конфигурационные файлы вручную, создается патч изменений, который просто включается в ебилд в конце установки.
Например в функции pkg_postinst()

11

ormorph пишет:

В gentoo скрипты отличаются от тех что используются в слаке, а следовательно грабли будут, если собранный пакет использует специфичные для gentoo конфигурационные файлы в каталоге /etc
То есть некоторые пакеты будут работать не так как надо, то есть придется либо переделывать ебилд для слаки, либо опять писать слакбилд с нуля.
Самое легкое правятся конфигурационные файлы вручную, создается патч изменений, который просто включается в ебилд в конце установки.
Например в функции pkg_postinst()

Так это касается в первую очередь каких то специфичных именно для генты утилит, или нет ?

12 (01.01.2013 22:23:11 отредактировано ormorph)

SergMarkov пишет:

Так это касается в первую очередь каких то специфичных именно для генты утилит, или нет ?

Не обязательно, это может быть какой нибудь пакет, в котором окружение Environment, прописано в /etc/env.d/
Либо это может быть программа, требующая запуска определенного демона.

13

ormorph пишет:

Не обязательно, это может быть какой нибудь пакет, в котором окружение Environment, прописано в /etc/env.d/
Либо это может быть программа, требующая запуска определенного демона.

Ну, к счастью таких программ не так уж и много. Но  в них, да, придется править.