Dependency redistribute package
От: sjukov Украина  
Дата: 08.08.15 13:17
Оценка: -1
Коллеги, нужна помощь.

у меня есть такая ситуация:

1. софт под Lunux (Ubuntu 14.04 LTS) который зависит от пакетов boost-1.55, wxWidgets-3.0.2(сам собирал), OSG 3.2.2(сам собирал) .
2. Каждый из этих пакетов можно поставить вручную черех apt-get, но это будут не те версии которые мне нужны.
3. я не хочу чтобы пользователь что либо доустанавливал. Хочу сделать так чтобы все .so были включены в инсталляционный пакет софта.


Так вообще принято ? Или в мире *NIX принято немного иначе ?

Сам всю жизнь под виндовс маслал

Спасибо запомощь.
Re: Dependency redistribute package
От: wildwind Россия  
Дата: 08.08.15 13:26
Оценка:
Здравствуйте, sjukov, Вы писали:

s> 3. я не хочу чтобы пользователь что либо доустанавливал. Хочу сделать так чтобы все .so были включены в инсталляционный пакет софта.


Собери все статически.
Hardware eventually fails. Software eventually works. ::: avalon/1.0.442
Re: Dependency redistribute package
От: vsb Казахстан  
Дата: 08.08.15 15:52
Оценка: 2 (1) +1
Здравствуйте, sjukov, Вы писали:

S>у меня есть такая ситуация:


S>1. софт под Lunux (Ubuntu 14.04 LTS) который зависит от пакетов boost-1.55, wxWidgets-3.0.2(сам собирал), OSG 3.2.2(сам собирал) .

S>2. Каждый из этих пакетов можно поставить вручную черех apt-get, но это будут не те версии которые мне нужны.
S>3. я не хочу чтобы пользователь что либо доустанавливал. Хочу сделать так чтобы все .so были включены в инсталляционный пакет софта.

S>Так вообще принято ? Или в мире *NIX принято немного иначе ?


Не принято. Либо переписывай свой софт под старые версии, которые идут с Ubuntu 14.04, либо поставляй их в отдельном пакете. Ну или забей на то, как принято, и делай как хочешь. Хоть статически собирай.
Re: Dependency redistribute package
От: smeeld  
Дата: 08.08.15 15:58
Оценка: 2 (1)
Здравствуйте, sjukov, Вы писали:

Погуглите про создание .deb пакетов. Пакеты можно создавать из стандартного дерева исходников с Makefile-ами с добавлением
каких угодно .so файлов. Вы можете в пакет поместить все файлы проги и требуемые либы, требуемой версии,
после чего устанавливать пакет стандартной командой dpkg или поместить в локальный репо и оттуда ставить и обслуживать его apt-get-том.
Re[2]: Dependency redistribute package
От: sjukov Украина  
Дата: 08.08.15 16:16
Оценка:
Здравствуйте, vsb, Вы писали:


S>>у меня есть такая ситуация:


S>>3. я не хочу чтобы пользователь что либо доустанавливал. Хочу сделать так чтобы все .so были включены в инсталляционный пакет софта.

S>>Так вообще принято ? Или в мире *NIX принято немного иначе ?
vsb>Не принято. Либо переписывай свой софт под старые версии, которые идут с Ubuntu 14.04, либо поставляй их в отдельном пакете. Ну или забей на то, как принято, и делай как хочешь. Хоть статически собирай.

Спасибо за мысль.

Основаная проблема что у меня есть определенная несовместимость версий. Код OSG не копмпилируется с более старой версией заголовков которые идут с 14.04 ;
И я босюь что мне будет сложно поддерживать совместимость со всем этим разнообразием.

Буду думать — взвешивать, что лучше.
Re[2]: Dependency redistribute package
От: sjukov Украина  
Дата: 08.08.15 16:17
Оценка:
Здравствуйте, wildwind, Вы писали:


s>> 3. я не хочу чтобы пользователь что либо доустанавливал. Хочу сделать так чтобы все .so были включены в инсталляционный пакет софта.

W>Собери все статически.
Если не ошибаюсь то это для меня не вариант, ибо софт должен быть коммерческим с закрытым кодом.
А насколько я понимаю единственным способом обойти все сложности лицензии это динамическая линковка
к библиотекам .
Re[3]: Dependency redistribute package
От: Anton Batenev Россия https://github.com/abbat
Дата: 09.08.15 10:23
Оценка:
Здравствуйте, sjukov, Вы писали:

s> Если не ошибаюсь то это для меня не вариант, ибо софт должен быть коммерческим с закрытым кодом.

s> А насколько я понимаю единственным способом обойти все сложности лицензии это динамическая линковка
s> к библиотекам .

В этом случае библиотеки можно сделать как private libraries (/usr/lib/<pkgname>) — в этом случае исключается потенциальный конфликт с системными библиотеками, они однозначно идентифицируются как принадлежащие pkgname и т.д.
Управляю вселенной не привлекая внимания санитаров.
Re: Так вот оно как, Семён Семёныч...
От: Sheridan Россия  
Дата: 09.08.15 16:08
Оценка:
Здравствуйте, sjukov, Вы писали:

S>1. софт под Lunux (Ubuntu 14.04 LTS) который зависит от пакетов boost-1.55, wxWidgets-3.0.2(сам собирал), OSG 3.2.2(сам собирал) .

S>2. Каждый из этих пакетов можно поставить вручную черех apt-get, но это будут не те версии которые мне нужны.
S>3. я не хочу чтобы пользователь что либо доустанавливал. Хочу сделать так чтобы все .so были включены в инсталляционный пакет софта.

Не делают тут так. Категорически не рекомендуется. Иначе ад, холокост и змеиные гнёзда на машинах клиентов. И как следствие — посты в интернетах, обмазывающие линупс некоей известной субстанцией.
А разгребать это всё потом админам, вынужденным работать с таким, простите, софтом.


зы. Я начинаю понимать, откуда растут ноги у всей вони вокруг линупса...
Matrix has you...
Re: Dependency redistribute package
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 09.08.15 16:33
Оценка: -1
Здравствуйте, sjukov, Вы писали:

S>1. софт под Lunux (Ubuntu 14.04 LTS) который зависит от пакетов boost-1.55, wxWidgets-3.0.2(сам собирал), OSG 3.2.2(сам собирал) .

S>2. Каждый из этих пакетов можно поставить вручную черех apt-get, но это будут не те версии которые мне нужны.
S>3. я не хочу чтобы пользователь что либо доустанавливал. Хочу сделать так чтобы все .so были включены в инсталляционный пакет софта.

S>Так вообще принято ? Или в мире *NIX принято немного иначе ?

S>Сам всю жизнь под виндовс маслал

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

Re[3]: Куда вы обычно устанавливаете (распаковыете) проги на Linux?
Автор: velkin
Дата: 21.07.15


Что касается пакетов возникает вопрос проблематичности их пересборки. Вот здесь на помощь приходят системы непрерывной интеграции, типа Jenkins. За один шаг она способна скомпилировать и слинковать программу с исполняемым файлом и всеми библиотеками, сгенерировать документацию, причём сделать это для всех операционных систем, Windows (NSIS), GNU/Linux (deb, rpm) и так далее.

Непрерывная интеграция

https://www.youtube.com/watch?v=ij3E1uzreHA
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.