/ / Création de paquets Linux pour plusieurs distributions et versions - linux, processus de construction, construction, multiplate-forme, packaging

Construction de packages Linux pour plusieurs distributions et versions - linux, processus de construction, construction, multiplate-forme, packaging

Mon entreprise a un logiciel qui est écriten C pour une plate-forme Linux, construite avec autotools et distribuée via des paquets binaires. Pour créer les fichiers binaires, nous produisons d’abord un RPM source, puis nous compilons le source à partir du SRPM.

Actuellement, nous fournissons uniquement des packages RPM pour 64 bits.Fedora 10, mais nous souhaitons commencer à fournir des packages pour plusieurs distributions Linux - 32 bits ainsi que 64 bits - et éventuellement différentes versions de chaque distribution (par exemple, Fedora 11 et Fedora 10).

J'ai entendu dire que la meilleure façon de produire des buildsPour plusieurs versions de Linux, il est nécessaire de disposer d’un seul serveur de construction et d’utiliser un environnement chrooté différent pour chaque ensemble de packages que vous souhaitez générer. Quelqu'un at-il une bonne ressource qui explique cela plus en détail, peut-être avec des exemples de projets bien connus qui utilisent ce mécanisme de construction, ou a-t-il une meilleure alternative pour atteindre le même objectif?

Réponses:

2 pour la réponse № 1

Peut-être que vous pouvez rechercher les projets suivants pour commencer:

Service de construction Novell

Fedora Koji


1 pour la réponse № 2

Vous pouvez utiliser LSB appchecker pour tester la compatibilité de votre script application / dynlib / shell: http://ldn.linuxfoundation.org/lsb/check-your-app. Après cela, vous pouvez utiliser RPM pour toutes les distributions et utiliser alien pour toutes les distributions apt-get et tar.gz pour d’autres.


1 pour la réponse № 3

Des outils comme checkinstall vous aidera à produire des emballages pour différentsdistros. Personnellement, si vous souhaitez intégrer des systèmes de gestion de paquets existants, vous voudrez également héberger plusieurs référentiels sur vos serveurs et y fournir des packages, puis demander aux utilisateurs de configurer leurs gestionnaires de packages pour extraire les applications de vos serveurs.


0 pour la réponse № 4

En fonction de ce que votre logiciel fait exactement etQuelles que soient les dépendances dont il dispose (le cas échéant) sur les bibliothèques locales, vous pourrez peut-être créer votre logiciel en utilisant une distribution glibc plus ancienne et le faire fonctionner dans de nombreuses distributions différentes. C'est ce que nous faisons avec InstallBuilder. Si vous n’avez pas de dépendances spécifiquesIl est également possible de créer des packages RPM ou DEB qui fonctionneront sur la plupart des distributions Linux basées sur RPM ou DEB. Le développement multi-Linux, en tout cas, ce n’est pas facile :) Bonne chance!


0 pour la réponse № 5

C’est l’un des cas couverts par Bob Aiello dans Cet article sur les agents de construction. nous avoir plusieurs clients qui utilisent cette approche pour construire sur plusieurs plate-forme en parallèle.