Erstellen von Linux-Paketen für mehrere Distributionen und Versionen

8

Meine Firma hat ein Softwareprodukt, das in C für eine Linux-Plattform geschrieben ist, mit Autotools erstellt und über Binärpakete verteilt wird. Um die Binärdateien zu erstellen, erzeugen wir zunächst ein Quell-RPM und kompilieren dann die Quelle aus dem SRPM.

Momentan bieten wir nur RPM-Pakete für 64-Bit Fedora 10 an, aber wir wollen damit beginnen, Pakete für mehrere Linux-Distributionen - sowohl 32-Bit- als auch 64-Bit - und möglicherweise verschiedene Versionen jeder Distribution (zB Fedora) bereitzustellen 11 sowie Fedora 10).

Ich habe gehört, dass der beste Weg, Builds für mehrere Linux-Varianten zu erstellen, darin besteht, einen einzigen Build-Server zu haben und für jede Gruppe von Paketen, die Sie erstellen möchten, eine andere chroot-Umgebung zu verwenden. Hat jemand eine gute Ressource, die das genauer erklärt, vielleicht mit Beispielen bekannter Projekte, die diesen Build-Mechanismus nutzen oder eine bessere Alternative haben, um dasselbe Ziel zu erreichen?

    
gareth_bowles 12.05.2009, 21:40
quelle

5 Antworten

2

Vielleicht können Sie die folgenden Projekte erforschen, um loszulegen:

Novell Build-Service

Fedora Koji

    
Bash 12.05.2009 22:24
quelle
1

Sie können den LSB-Appchecker verwenden, um Ihre Anwendungs- / Dynylib / Shell-Skriptkompatibilität zu testen: Ссылка . Danach können Sie RPM für alle RPM-Distributionen verwenden und alien für alle apt-get-Distributionen und tar.gz für andere verwenden.

    
Johan Moreau 13.05.2009 07:15
quelle
1

Tools wie checkinstall helfen Ihnen, Pakete für verschiedene Distributionen zu erstellen. Wenn Sie mit vorhandenen Paketverwaltungssystemen arbeiten möchten, möchten Sie auch mehrere Repositorys auf Ihren Servern hosten und dort Pakete bereitstellen. Anschließend müssen die Benutzer ihre Paketmanager so konfigurieren, dass sie die Anwendungen von Ihren Servern abziehen.

    
sybreon 13.05.2009 07:28
quelle
0

Je nachdem, was Ihre Software genau macht und welche Abhängigkeiten (falls vorhanden) in lokalen Bibliotheken vorhanden sind, können Sie Ihre Software möglicherweise mit einer älteren glibc-Distribution erstellen und sie in vielen verschiedenen Distributionen einsetzen. Das machen wir mit InstallBuilder . Wenn Sie keine Abhängigkeiten zu bestimmten Paketen haben, können Sie auch RPM- oder DEB-Pakete erstellen, die auf den meisten RPM- oder DEB-basierten Linux-Distributionen ausgeführt werden. Cross-Linux-Entwicklung, auf jeden Fall ist es nicht einfach :) Viel Glück!

    
Daniel Lopez 12.09.2009 11:15
quelle
0

Dies ist einer der Fälle, die Bob Aiello in diesem Artikel behandelt auf Build-Agenten. Wir haben mehrere Kunden, die diesen Ansatz nutzen, um auf mehreren Plattformen parallel zu bauen.

    
Jeffrey Fredrick 12.09.2009 15:18
quelle