/ / Erstellen von Linux-Paketen für mehrere Distributionen und Versionen - Linux, Build-Process, Build, Cross-Platform, Packaging

Erstellen von Linux-Paketen für mehrere Distributionen und Versionen - Linux, Build-Process, Build, Cross-Platform, Packaging

Mein Unternehmen hat ein Softwareprodukt, das geschrieben wurdein C für eine Linux-Plattform, mit Autotools erstellt und über Binärpakete verteilt. Um die Binärdateien zu erstellen, erstellen wir zuerst ein Quell-RPM und kompilieren dann die Quelle aus dem SRPM.

Derzeit bieten wir nur RPM-Pakete für 64-Bit anFedora 10, aber wir möchten Pakete für mehrere Linux-Distributionen bereitstellen - 32-Bit- und 64-Bit-Versionen - und möglicherweise auch unterschiedliche Versionen jeder Distribution (z. B. Fedora 11 und Fedora 10).

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

Antworten:

2 für die Antwort № 1

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

Novell Build-Dienst

Fedora Koji


1 für die Antwort № 2

Sie können den LSB-Appchecker verwenden, um die Kompatibilität zwischen Anwendung / Dynlib / Shell-Skript zu testen: http://ldn.linuxfoundation.org/lsb/check-your-app. Danach können Sie RPM für alle RPM-Distributionen und alien für alle apt-get-Distributionen und tar.gz für andere verwenden


1 für die Antwort № 3

Werkzeuge wie checkinstall hilft Ihnen, Pakete für verschiedene zu produzierenDistros. Wenn Sie in bestehende Paketverwaltungssysteme integrieren möchten, sollten Sie auch mehrere Repositorys auf Ihren Servern hosten und dort Pakete bereitstellen. Anschließend müssen Benutzer ihre Paketverwalter so konfigurieren, dass die Apps von Ihren Servern heruntergefahren werden.


0 für die Antwort № 4

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


0 für die Antwort № 5

Dies ist einer der Fälle, die von Bob Aiello in Dieser Artikel auf Build-Agenten. Wir haben mehrere Kunden, die diesen Ansatz verwenden, um parallel auf mehreren Plattformen aufzubauen.