Сразу предупреждаю, в генте полный ноль, поэтому ногами сильно не бить :-)
Не секрет что в слаке готовых пакетов и слакбилдов для их сборки не очень то и много. Поэтому традиционный путь make install-создание пакета в ней традиционен. Но лень берет свое :-), и даже имея несколько самопальных скриптов для сборки пакетов слаки из сорцов хочется все это делать в один клик. Такое возможно, используя системы сборки других дистров, например abs и aur арча, По сути все что надо сделать в этом случае это вытянуть из него его makepkg c конфигом, напустить его на пакбилд, и затем собрать пакет уже makepkg из слаки. Тут все просто и примитивно.
Но даже в арче нет всего, а то что есть не всегда устраивает, поэтому заинтересовал вопрос как можно приспособить системы сборки генты для сборки пакетов слаки. Естественно никакие проверки зависимостей не нужны, нужно только  что то напустить на ебилд, скомпилировать , поставить куда нибудь во временную папку, остальное не составляет труда. Но что именно напустить на ебилд ( в арче это был makepkg из пакмана), что и как надо напустить на ебилд, и какие утилиты придется для этого из генты выдергивать ?

2

SergMarkov пишет:

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

Не до конца понял вопрос, но...
...в Gentoo есть возможность отдельно собирать бинарные пакеты для последующей «быстой» установки, как на основной машине, так и на других (разумеется, с учётом архитектуры и платформы).
Не думаю, что преобразовать их затем в формат Slackware непосильная задача bx Возможно, есть и готовые решения.

Был, был и весь вышел...

3

Lupo Alberto пишет:

Не думаю, что преобразовать их затем в формат Slackware непосильная задача ad

Можете глянуть, подойдёт ли вам формат «бинарников» из Gentoo — http://tinderbox.dev.gentoo.org/default-linux/amd64/

Был, был и весь вышел...

4 (23.12.2012 15:28:17 отредактировано SergMarkov)

Вопрос собственно один, что надо из генты перетащить в слаку чтобы из ебилда скомпилировать и поставить во временную папку.
Из арча для пакбилдов понадобился только его makepkg c конфигом. Что придется портировать из генты в слаку, чтобы из ебилда скомпилировать и поставить во временную папку.
ЗЫ Естественно что ставить саму генту, чтобы в ней собирать пакеты для слаки, даже мысли нет :-)

5

SergMarkov пишет:

что надо из генты перетащить в слаку чтобы из ебилда скомпилировать и поставить во временную папку.

Думаю, Gentoo и получится, если всё необходимое (portage, emerge) перетащить.
Как некоторый компромисс, можно тянуть готовые бинарные пакеты (tbz2: bzip2 compressed data) и преобразовывать их в пакеты для Slackware.
Либо, не устанавливая полностью Gentoo, развернуть stage3, войти в chroot и собирать.

Был, был и весь вышел...

6

SergMarkov пишет:

Вопрос собственно один, что надо из генты перетащить в слаку чтобы из ебилда скомпилировать и поставить во временную папку.

весь portage скорей всего нужен...
пользовать так: ebuild </path/to/ebuild> package
почитать, как минимум, man 1 ebuild

95% процентов проблем находятся между клавиатурой и стулом.

7 (23.12.2012 15:50:08 отредактировано SergMarkov)

Lupo Alberto пишет:
SergMarkov пишет:

что надо из генты перетащить в слаку чтобы из ебилда скомпилировать и поставить во временную папку.

Думаю, Gentoo и получится, если всё необходимое (portage, emerge) перетащить.
Как некоторый компромисс, можно тянуть готовые бинарные пакеты (tbz2: bzip2 compressed data) и преобразовывать их в пакеты для Slackware.
Либо, не устанавливая полностью Gentoo, развернуть stage3, войти в chroot и собирать.

Ну мне не нужно управление портежами, и из всех функций emerge нужна только сборка пакета из ебилда в папке без зависимостей. В пакмане тоже много чего наворочено и утилит в его составе вагон и маленькая тележка, но оттуда понадобился только простейший скрипт makepkg.
Мне же не нужна вся изощренность портежей генты и управления ими, вообще не нужно, нужна простейшая вещь, из ебилда без зависимостей установить во временную папку, и более ничего.
Неужели для этого придется ставить полгенты ?
В том же дебиане для этого достаточно dpkg c напильником, и больше ничего, ни апта, ни аптитуде ни синаптика.

8

Fat-Zer пишет:

весь portage скорей всего нужен...
пользовать так: ebuild </path/to/ebuild> package
почитать, как минимум, man 1 ebuild

Ага, то есть только портировать только ebuild и все ?

9

В конце концов, сама команда emerge — это скрипт на Python'е.

 Консоль:

gentoo-laptop ~ # cat $(which emerge) | wgetpaste
Your paste can be seen here: http://bpaste.net/show/66125/

Был, был и весь вышел...

10

SergMarkov пишет:

Ага, то есть только портировать только ebuild и все ?

весь portage... ты же не собираешься его самостоятельно выдирать....
там только питон и баш, так что, по идее, особых проблем со сборкой/работой не должно будет возникнуть...

Lupo Alberto пишет:

В конце концов, сама команда emerge — это скрипт на Python'е.

это только верхушка айсберга...

95% процентов проблем находятся между клавиатурой и стулом.

11

Lupo Alberto пишет:

В конце концов, сама команда emerge — это скрипт на Python'е.

...который использует вагон и маленькую тележку своих питоновских либ.

Йа тьомный эльф

12

Выдрать какой-то один маленький скрипт - станет очень большой проблемой. Почти уверен в этом. Проще сразу портаж целиком ставить.

Йа тьомный эльф

13

Вроде для слаки существовал свой проект портов, использующий порты crux
Это crux4slack
А так не вижу смысла в данном вопросе. Если не устраивает слака, то всегда можно перейти на gentoo или funtoo, а так если каких то пакетов не хватает в слаке, то всегда можно на основании ебилда написать свой слакбилд.

14 (23.12.2012 21:04:06 отредактировано SergMarkov)

Fat-Zer пишет:

весь portage... ты же не собираешься его самостоятельно выдирать....
там только питон и баш, так что, по идее, особых проблем со сборкой/работой не должно будет возникнуть...

Да я то как раз хочу по идее выдернуть из генты одну утилиту, которая собирает из ебилда пакет

15 (23.12.2012 21:08:19 отредактировано SergMarkov)

ormorph пишет:

Вроде для слаки существовал свой проект портов, использующий порты crux
Это crux4slack
А так не вижу смысла в данном вопросе. Если не устраивает слака, то всегда можно перейти на gentoo или funtoo, а так если каких то пакетов не хватает в слаке, то всегда можно на основании ебилда написать свой слакбилд.

Смысл вопроса был в простой сборке из дистра с множеством пакетов, в круксе их еще меньше, и гораздо меньше, чем в самой слаке. Зачем было нужно портировать непонятно.
Да не хочу я писать :-) мне это вообще не нужно, есть несколько самопальных скриптов для сборки из сорцов, но хочется это дело упростить до "одного клика". Ни генту ни  фунту ставить нет желания

16

SergMarkov пишет:

Зачем было нужно портировать непонятно.

Думаю затем, что там система сборки на много проще чем в самой Gentoo

SergMarkov пишет:

Да не хочу я писать :-) мне это вообще не нужно, есть несколько самопальных скриптов для сборки из сорцов, но хочется это дело упростить до "одного клика". Ни генту ни  фунту ставить нет желания

Ну я не пробовал, но если удастся собрать пакет portage под слакой, то по идее тут можно прикрутить и скрипт использующий утилиту ebuild для сборки из ебилда а далее можно переходить и к makepkg для создания пакета слаки.

17

ormorph пишет:

Ну я не пробовал, но если удастся собрать пакет portage под слакой, то по идее тут можно прикрутить и скрипт использующий утилиту ebuild для сборки из ебилда а далее можно переходить и к makepkg для создания пакета слаки.

А какой именно пакет надо собирать, в app-portage их чуть менее чем дофига ?

18

SergMarkov пишет:

А какой именно пакет надо собирать, в app-portage их чуть менее чем дофига ?

sys-apps/portage

19

ormorph пишет:

sys-apps/portage

спасибо

20

Прошу прощения, а не пробовали посмотреть в сторону emerde?
http://freecode.com/projects/emerde

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

21

raven_cler пишет:

Прошу прощения, а не пробовали посмотреть в сторону emerde?
http://freecode.com/projects/emerde

О, спасибо, вообще о нем не знал

22

Хотя как по мне, конечно, лучше сразу поставить чистую Gentoo. И да, с учётом

SergMarkov пишет:

в генте полный ноль

стоит напомнить: не забудтье прочитать мануал к emerge.
Прошу извинить, если напоминаю о слишком очевидных вещах.

Если бы люди умели пользоваться vim, find, sed и awk  то миллионы программных продуктов так никогда и не были бы созданы

23 (28.12.2012 19:07:11 отредактировано SergMarkov)

Ну вообщем portage с некоторыми примочками нормально собрался, синхронизируется, простенькие пакеты собираются, но так и не понял как в ebuild /path_ebuild  (fetch, unpack, compile, install) избавится от проверки зависимостей Или он вообще на них внимания не обращает ?
И еще, чего ему надо ? :-)

portage: 'portage' user or group missing.
         For the defaults, line 1 goes into passwd, and 2 into group.
         portage:x:250:250:portage:/var/tmp/portage:/bin/false
         portage::250:portage
*** WARNING ***  For security reasons, only system administrators should be
*** WARNING ***  allowed in the portage group.  Untrusted users or processes
*** WARNING ***  can potentially exploit the portage group for attacks such as
*** WARNING ***  local privilege escalation.

И где вот это брать

/usr/lib/portage/bin/ebuild-helpers/prepstrip: line 243: scanelf: команда не найдена
/usr/lib/portage/bin/ebuild-helpers/prepstrip: line 292: scanelf: команда не найдена

24

Рут должен быть членом группы portage?

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

25

SergMarkov пишет:

И где вот это брать

 Консоль:

lupo@gentoo-laptop ~ % equery b `which scanelf`
* Searching for /usr/bin/scanelf ...
app-misc/pax-utils-0.5 (/usr/bin/scanelf)

Был, был и весь вышел...

26

yars пишет:

Рут должен быть членом группы portage?

 Консоль:

gentoo-laptop ~lupo # id
uid=0(root) gid=0(root) группы=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),26(tape),27(video)

Был, был и весь вышел...

27 (28.12.2012 19:26:35 отредактировано SergMarkov)

yars пишет:

Рут должен быть членом группы portage?

Ну, он вроде там и  так уже есть. Но да :-) добавил пользователя portage в группу portage, ошибка исчезла

28 (28.12.2012 19:18:06 отредактировано SergMarkov)

Lupo Alberto пишет:

 Консоль:

lupo@gentoo-laptop ~ % equery b `which scanelf`
* Searching for /usr/bin/scanelf ...
app-misc/pax-utils-0.5 (/usr/bin/scanelf)

Ага, thanks. Сорри за тупые вопросы :-)

29

Да, вот еще что. Насколько понимаю ничем фатальным это не грозит, да и в данном случае , похоже, вообще ни на что влияет

!!! /etc/portage/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)

Или все таки на что то влияет ?