/ / Изграждане на Linux пакети за множество дистрибуции и версии - linux, build-process, build, cross-platform, packaging

Изграждане на Linux пакети за множество дистрибуции и версии - linux, build-process, build, cross-platform, packaging

Дружеството ми има софтуерен продукт, който е написанв C за Linux платформа, изградена с автотулове и разпространявана чрез двоични пакети. За да създадем двоични файлове, първо създаваме RPM на източника и след това компилираме източника от SRPM.

Понастоящем предоставяме само RPM пакети за 64-битовиFedora 10, но искаме да започнем да предлагаме пакети за множество Linux дистрибуции - 32-битови, както и 64-битови - и евентуално различни версии на всяка дистрибуция (например Fedora 11 и Fedora 10).

Чух, че най-добрият начин да се произвеждатза множество аромати на Linux е да имате единствен сървър за изграждане и да използвате различна хронологична среда за всеки набор от пакети, които искате да създадете. Има ли някой добър ресурс, който обяснява това по-подробно, може би с примери за добре познати проекти, които използват този механизъм за изграждане или имат по-добра алтернатива за постигане на същата цел?

Отговори:

2 за отговор № 1

Може би можете да проучите следните проекти, за да започнете:

Услуга на Novell Build

Федора Коджи


1 за отговор № 2

Можете да използвате LSB appchecker за тестване на съвместимостта на приложението / dynlib / shell скрипта: http://ldn.linuxfoundation.org/lsb/check-your-app, След това можете да използвате RPM за всички RPM дистрибуция и да използвате чужд за всички apt-get разпространение и tar.gz за други


1 за отговор № 3

Инструменти като checkinstall ще ви помогне да създадете пакети за различнидистрибуции. Лично, ако искате да се интегрирате със съществуващите системи за управление на пакети, вие също така ще искате да хоствате няколко хранилища на сървърите си и да им предоставяте пакети, а след това потребителите да конфигурират своите мениджъри на пакети да изтеглят приложенията от сървърите ви.


0 за отговор № 4

В зависимост от това, какво прави точно вашия софтуер икои зависимости има (ако има такива) в местните библиотеки, може да сте в състояние да създадете софтуера си с по-стара версия на glibc и да го работите в много различни дистрибуции. Това е, което правим InstallBuilder, Ако нямате зависимости от конкретнипакети, също така е възможно да създадете RPM или DEB пакети, които ще се изпълняват на повечето RPM или DEB базирани Linux дистрибуции там. Развитието на Cross-Linux, във всеки случай, не е лесно :) Успех!


0 за отговор № 5

Това е един от случаите, обхванати от Боб Айело в тази статия върху строителни агенти. ние има няколко клиенти, които използват този подход, за да изградят паралелно няколко платформи.