it-swarm.com.de

Wie erstelle ich eine PPA für ein Arbeitsprogramm?

Nehmen wir an, ich habe eine funktionierende Anwendung, die in C, C++ oder Python geschrieben ist. Ich möchte einen Launchpad-PPA erstellen, damit andere ihn problemlos aus einem Paket installieren können. Bitte geben Sie Schritt für Schritt Anweisungen, um dies von Anfang bis Ende zu tun. (Oder geben Sie einen Link an, der dasselbe tut;)

  • Ist die Programmiersprache wichtig? (Könnte es ein Bash-Skript sein?)
  • Muss ich meinem Build etwas hinzufügen?
  • Wohin soll sich der Build installieren?
  • Wie definiere ich Abhängigkeiten?
  • Wie verwende ich Abhängigkeiten?
  • Wie erstelle ich eine .deb?
  • Was muss ich tun, bevor ich auf Launchpad hochlade?
36
david.libremone

Das ist eine sehr weit gefasste Frage. Ich werde versuchen, so viel wie möglich zu beantworten, aber es ist definitiv ) + WIRD NICHT eine schrittweise Anleitung sein. Dies liegt daran, dass es keinen schrittweisen Algorithmus zum Erstellen eines Pakets gibt. Die Art und Weise, wie Sie dies tun, hängt von vielen Faktoren ab, hauptsächlich von der Art des Pakets (Anwendung, Bibliothek), der Struktur der Quelle und vielen Details.

Zum Glück gibt es eine ausführliche Anleitung unter http://packaging.ubuntu.com

Ich werde versuchen, Ihnen ein wenig dabei zu helfen, den gesamten Prozess zu verstehen, damit Sie sich ein wenig damit auskennen. Das Pakethandbuch enthält Ressourcen für zusätzliche Hilfe.


Zunächst sollten Sie sich darüber im Klaren sein, dass das Erstellen eines Pakets (einer .deb-Datei) ein anderer Prozess ist als das Erstellen eines PPA. Zum Erstellen eines PPA müssen Sie das Profil Ihres Launchpads aufrufen und auf den Link "Neuen PPA erstellen" klicken. Das ist alles. Es ist geschaffen, es funktioniert, aber es ist leer. Um ein Paket hochzuladen, müssen Sie zuerst ein Paket erstellen. Aber lassen Sie mich zuerst einige Ihrer kleinen Fragen beantworten.

  • Die Programmiersprache DOES NOT spielt überhaupt keine Rolle. Dies kann eine C++ - Anwendung, ein Bash-Skript, Brainfuck Hello World, eine einzelne README -Datei oder eine Reihe cooler Fotos sein. Pakete können beliebige Dateien enthalten. Während der Installation wird das Paket in das Stammverzeichnis ("/") Ihres Dateisystems extrahiert. Auf diese Weise können sie einige Dateien in den Ordner "binaries" stellen, einige Hintergrundbilder zum GNOME-Standardsatz hinzufügen oder dem Benutzer ein Bash-Skript zur Verfügung stellen.
  • Sie müssen der Quelle DO etwas hinzufügen. Es muss ein Verzeichnis der obersten Ebene mit dem Namen "debian" sein. Es gibt einige Dateien mit den Paketdetails - sie werden verwendet, um den Typ des Pakets usw. zu definieren.
  • Abhängigkeiten werden in einer dieser Dateien aufgelistet (unter anderem Details). Woher bekommen Sie sie? Es sind einfach andere Pakete, die Ihre Anwendung verwendet. Der Entwickler der Anwendung wird wissen, welche Bibliotheken und Ressourcen sein Programm benötigt, daher sollte er keine großen Probleme haben, sie aufzulisten.
    • Einige Tools, die zum Erstellen eines Pakets verwendet werden (pbuilder), können die Abhängigkeiten automatisch ausfüllen. Dies hängt wahrscheinlich davon ab, was Ihre App während der Kompilierung benötigt.
  • Es wird auch hoch empfohlen, AutoTools zu verwenden. Das ist eine andere Sache, die Sie möglicherweise hinzufügen müssen, aber wahrscheinlich werden sie bereits von fast jeder Software verwendet. AutoTools ist eine Reihe äußerst hilfreicher Programme - automake, autoconf und autoscan, um nur einige zu nennen. Wenn Sie ein Programm mit dem bekannten Befehl ./ configure && make && make install kompilieren und installieren, werden die Autotools verwendet, um automatisch mit der Quelle umzugehen und andere in der Quelle enthaltene Ressourcen für die Installation vorzubereiten , und um das Ergebnis der Kompilierung an einen geeigneten Ort zu extrahieren (um Ihre Frage zu beantworten: Der Build wird an VIELEN separaten Orten extrahiert. Die Binärdateien werden nach/usr/local/bin, die Dokumente nach/usr/local/share/docs usw. Außerdem werden Binärdateien aus einem Paket auch an anderen Stellen abgelegt, z. B. in/usr/bin. Verwenden Sie AutoTools, um dieses komplizierte Verzeichnislayout zu behandeln nützlich).

Das Erstellen eines .deb-Pakets mag sehr kompliziert erscheinen, ist aber nicht so schwierig. Ich kann Ihnen den offiziellen Ubuntu-Leitfaden zum Erstellen von Paketen nur empfehlen: http://packaging.ubuntu.com

Es ist RIESIG, aber Sie werden sehen, dass Sie wahrscheinlich die meisten Teile dieses Textes überspringen können (abhängig davon, welches Paket Sie erstellen werden). Grundsätzlich besteht der Verpackungsprozess aus diesen Teilen (alle werden im Handbuch klar erklärt) :

  1. Starten Sie einige Tools, die zum Erstellen von Paketen verwendet werden.
  2. Holen Sie sich die Quelle
  3. Erstellen Sie das Verzeichnis ./debian und füllen Sie es mit den erforderlichen Daten
  4. Erstellen Sie das Paket mit debuild [Das sollte eine Reihe von Dateien erstellen, einschließlich * .dsc, * _source.build, * _source.changes, die für die Daten des Pakets verantwortlich sind, und wie man damit umgeht damit (Sie werden auch eine Quelle haben .tar.gz)]
  5. Testen Sie, ob alles funktioniert, indem Sie pbuilder lokal ausführen (es werden alle oben genannten Dateien benötigt und versucht, sie zu einem .deb-Paket zu kombinieren, indem die Quelle automatisch mit Hilfe von AutoTools erstellt wird. Deshalb sind sie für das Packen von entscheidender Bedeutung [ehrlich gesagt - nicht - Sie können ohne sie oder mit einigen Alternativen auskommen, aber das ist der einfachste Ansatz, und für andere ist möglicherweise eine erweiterte Einrichtung erforderlich, da Sie den Builder anweisen müssen, wie der Quellcode erstellt wird ( mit ./debian/rules file) - aber das ist nichts für Anfänger] ) - wenn du nur ein .deb-Paket haben willst, ist es geschafft.

Jetzt müssen Sie upload auf Ihre PPA kopieren, was auf dieser Hilfeseite erklärt wird: https://help.launchpad.net/Packaging/PPA/ Hochladen

  1. Verwenden Sie dput, um diese Dateien auf Launchpad hochzuladen
  2. Launchpad führt pbuilder auf ihren Computern aus und generiert Pakete in einer sauberen Umgebung
  3. Schließlich sollten die Pakete in der PPA angezeigt werden.

Wie Sie sehen, ist das Erstellen eines PPA nicht so einfach . Aber keine Angst , es ist auch nicht so schwer. Darüber hinaus empfehle ich Ihnen, Entwickler nicht zur Verwendung eines PPA zu ermutigen, da sie Ihnen wahrscheinlich nicht zuhören werden, da sie einen zusätzlichen Job erledigen müssten (und wenn sie dies wollten, hätten sie dies bereits getan), aber Sie können Ich möchte versuchen, Ubuntu-Entwickler und die gesamte Community zu unterstützen und ihnen Pakete zur Verfügung zu stellen, die Sie vorbereitet haben :)

Ich wünsche Ihnen viel Glück beim Erstellen von Paketen, hoffe, Sie finden meine Antwort hilfreich :)

Dein Freund Rafał Cieślak

32
Rafał Cieślak
  • Bevor Sie Ihr Paket hochladen können, müssen Sie es für die .deb -Verpackung einrichten (siehe Ubuntu PackagingGuide ).

  • Sobald Sie ein Paket für Ihre Software erstellen können, lesen Sie Launchpads PPA-Dokumentation . Es führt Sie von der Erstellung des PPA bis zum Hochladen Ihres Pakets.

5
Isaiah