Re: Бинарный пакет и версия LIBC
От: zaufi Земля  
Дата: 18.09.13 13:04
Оценка: 6 (1)
Здравствуйте, elgoog, Вы писали:

E>Появилась необходимость быстрого деплоя программы под множество линукс-машин. Раньше не сильно заморачивался этим вопросом т.к. машин было мало и все собиралось ручками из исходников, но теперь нужно ставить в бинарнике. Отсюда вопрос: как собирать этот бинарник, чтобы он гарантированно шел и под Debian 6 и под Debian 7 (а желательно и под более древние)?


E>Когда-то эту программу было лень в очередной раз собирать, перекинул с одной машины на другую, а она нифига не запустилась из-за того, что версия LIBC не та. Может можно как-то принудительно при сборке говорить компилятору под что линковать?


рекомендую освоить процесс создания .deb пакетов для целевого дистра. например с помощью cpack, если твой проект использует cmake. хотя в целом всякие debhelperы освоить тоже довольно просто.

сборку можно делать в chroot окружении соответствующего дистра (легко делается debootstrap'ом). в целом все это легко переносится на билд сервер (teamcity в моем случае), и там же, после сборки, собранные пакеты подписываются (dpkg-sig) и деплоятся в репу (reprepro). собственно клиенты берут твою софтину просто используя apt (с настроенным source на твою репу) сразу же для своего дистра (для которого заранее известно какие версии пакетов имеются, и эти зависимости были прописаны при создании .deb -- поэтому никаких конфликтов и проблем не возникает).

ЗЫ. сам пользую cmake/cpack и свои модули еще более упрощающие задачу создания .debов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.