LINUX.ORG.RU

сборка пакетов под другие дистрибутивы


0

1

Привет!

подскажите, пожалуйста, как можно настроить окружение таким образом, чтобы было возможно из одной системы собирать пакеты под другую? например, у меня есть приложение, которое будет устанавливаться под SLES, но при этом работать мне комфортнее в Fedora. Интуитивно понимаю, что мне скорее всего поможет chroot, а как можно настроить окружение с минимальными усилиями?

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

спасибо

Мда, линукскапец не за горами ..... спекфайл rpm-пакета нет времени освоить, но

из одной системы собирать пакеты под другую


мы уже готовы .... Истину говорю вам, земля налетит на небесную ось! (цэ)

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

Мда, линукскапец не за горами ..... спекфайл rpm-пакета нет времени освоить, но

честно говоря, не понял из чего сделаны какие-то выводы, и почему мне поставлен странный диагноз.

но в любом случае, спасибо за совет, сразу ощутил настоящего профессионала.

nonunimous
() автор топика

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

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

спасибо!

ломаю голову, гуглом нашел mach/mock, но как сделать минимальный chroot для SLES? не нашел для suse никаких аналогов debootstrap.

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

> но как сделать минимальный chroot для SLES?

Поставь SLES в самой наиминимальнейшей конфигурации на какой-нибудь раздел, выбери указание руками пакетов руками и поснимай все галки со всех пакетов. Поставится как раз самая минимальнейшая конфигурация. Потом из этого раздела просто скопируешь к себе всё содержимое, или можно монтировать этот раздел и чрутиться в точку монтирования.

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

действительно, так и сделаю. сам не знаю, как не додумался.

большое спасибо!

nonunimous
() автор топика
Ответ на: комментарий от Lumi

>Поставь SLES в самой наиминимальнейшей конфигурации на какой-нибудь раздел, выбери указание руками пакетов руками и поснимай все галки со всех пакетов. Поставится как раз самая минимальнейшая конфигурация.

йопжеж наших ближайших родственников, ну и как ТС из этого предлагаемого окружения соберёт бинарь????
Нет, раньше я был о тебе лучшего мнения ..... не зря я написал про небесную ось .....

Спешл фор ТС: ну почитай же ты как собирать rpm-пакеты, особенно дистрибутивонезависимые ..... Нет, грядёт линуксокапец ибо хомяки возомнили себя и забыли место своё .......

//captch: siger collange

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

> ну и как ТС из этого предлагаемого окружения соберёт бинарь????
Чрутнится, доставит в чруте недостающие gcc, binutils, make, *-devel и соберёт. Что не так?

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

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

>Чрутнится, доставит в чруте недостающие gcc, binutils, make, *-devel и соберёт.

тогда зачем:

Поставь SLES в самой наиминимальнейшей конфигурации на какой-нибудь раздел, выбери указание руками пакетов руками и поснимай все галки со всех пакетов.


или я что-то упустил по этой жизни?

Что не так?


мне ответить, или как ;)

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

> тогда зачем:
Чтобы не поставить полный комплект зюзе-роутера с иксами и поэтессами.

или я что-то упустил по этой жизни?

Я это писал со своей колокольни, потому что чрут и сборка в основном работа консольная, а чего там инсталлятору приспичит поставить никогда не известно.
Это не единственный путь и не факт, что самый правильный и оптимальный, его не надо рассматривать как единственную рекомендацию, которая имеет право на существование.

мне ответить, или как ;)

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

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

ps:
В чруте для сборки нужно не так много пакетов. Причём инсталлятор даже в таком варианте наставит заведомо кучу всего лишнего, что можно (да даже и нужно) потом дополнительно подчистить.

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

какие сложности, берется сусестудия, собирается образ usb\hdd на основе sles, и в нужное место просто распаковывается.

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

Я исходил из предположения, что у человека уже есть диск со SLES.
В таком случае никаких сусестудий не надо. А OBS ему уже давно предложили.

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

>Причём инсталлятор даже в таком варианте наставит заведомо кучу всего лишнего, что можно (да даже и нужно) потом дополнительно подчистить.

а вот единожды собрать бинарь и потом, грамотно поправив спек, завернуть его в rpm-пакет, ну совсем никак не судьба?;)

ПС: всего месяц в анонах и я начинаю их понимать, с этой мозголомной и нечитаемой капчей;)

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

>Причём инсталлятор даже в таком варианте наставит заведомо кучу всего лишнего

ктате и о птичках, а что, почитать ./configure и install(readme) перед сборкой бинаря и немного подумать уже не приветствуется? О_О

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

> ктате и о птичках, а что, почитать ./configure и install(readme) перед сборкой бинаря и немного подумать уже не приветствуется?

Это вообще к чему? Читаешь, думаешь, ставишь недостающие -devel.
Но, нафейхоа в чруте пакет ядра, например? Не заголовки ядра, а само ядро.

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

> а вот единожды собрать бинарь и потом, грамотно поправив спек, завернуть его в rpm-пакет, ну совсем никак не судьба?;)

Ты никогда не сталкивался с тем, что даже несмотря на указание правильных ключиков у configure в проект может насосать каких-нибудь ошмётков? Бывает не у всех накетов, но нарываться один фиг неприятно. Всё-таки в чистом окружении собирать пакет правильнее, даже из кошерных спеков.

Lumi ★★★★★
()

debootstrap для debian chroot?

чем VirtualBox не кошерен?

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

> Спешл фор ТС: ну почитай же ты как собирать rpm-пакеты, особенно дистрибутивонезависимые ..... Нет, грядёт линуксокапец ибо хомяки возомнили себя и забыли место своё .......

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

nonunimous
() автор топика
Ответ на: комментарий от Lumi

> Ну а помучается с десятком чрутов, там, глядишь, и про дистрибутивонезависимые вспомнит.

научите делать это счастье?

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

Всё своё ношу с собой (в смысле либы по зависимостям в том же пакете, а не системные), скомпилено в один каталог куда-нибудь в /opt (например firefox-bin — куда хочешь туда и распакуешь, хоть в хомяк) и возможно даже статически (например opera-static, skype-static).
Различаться будет только по архитектуре и возможно заточкой под минимальное требованием к инструкциям процессора (например не ниже пня 3).

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

так и делаю, у меня есть в зависимостях библиотеки более новых версий, чем есть в SLES. а как поступать с glibc?

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

> а как поступать с glibc?

Никак, glibc есть везде (ну, или хотя бы её полный аналог). Поэтому имеет смысл собирать со старенькой, в надежде, что уж с более новенькой программа точно запустится.

так и делаю, у меня есть в зависимостях библиотеки более новых версий, чем есть в SLES.


Дело не в новизне, а в том, что все библиотеки от которых есть зависимость собрать в одном дереве и поставить вместе с программой. Чтобы не доставлять в системе вообще ничего.

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

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

а как можно собрать со старенькой, если у меня на рабочей машине более новая система?

вернее, переформулирую вопрос: имеет ли этот вопрос значение в моем случае, или ABI настолько стабилен, что мне имеет смысл не заморачиваться, и можно спокойно собирать на более новой системе пакеты для более старых (в разумных пределах)?

спасибо за ответы!

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

Мне джента даунгрейдить glibc с 2.12.1 на 2.11.2 например категорически отказывается. Поэтому сам решай, нужна ли лотерея, или прокатит.

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