Ich wollte versuchen, mein eigenes PPA zu erstellen. Das Projekt, das ich habe, ist ein Java-Projekt, das mit Maven erstellt wurde. Das habe ich bisher schon gemacht:
- Erstellt eine PPA.
- Richten Sie ein neues Projekt auf dem Launchpad ein.
- Es wurde ein Zweig hinzugefügt, der mein Projekt aus einem SVN-Repository importiert.
- Erstellt ein Rezept für diesen Zweig, der die Builds auf meiner PPA veröffentlicht.
Hier stecke ich fest.
Ich habe die Tutorials gelesen und viel gegoogelt. Aber ich konnte nicht herausfinden, wie ich mein Projekt erstellen sollte.
Ich kann einen Build für den Zweig starten. aber wie ich erwartet hatte, schlägt es fehl. Ich muss wohl einige Metainformationen wie ein Makefile in das Repository stellen. Ist es überhaupt möglich, Maven-Projekte auf Launchpad zu erstellen und zu verpacken? Ich habe auch versucht, eine .deb-Datei lokal mit bzr dh-make
und zu erstellen debuild
. bzr dh-make
hat viele Dateien im ./debian
Ordner erstellt, ist aber debuild
fehlgeschlagen. Ich denke, dass es funktionieren würde, wenn ich die richtigen Metainformationen in meinem Projekt angeben würde, so dass es das gleiche Problem wie auf Launchpad ist.
Ich weiß, dass dies eine ziemlich allgemeine Frage ist, aber ich denke, es fehlt an geeigneten Tutorials zum Verpacken von .deb
Dateien, selbst wenn Sie keinen "exotischen" Fall wie mich haben.
Etwas zusammenfassen:
Welche Dateien / Informationen muss ich in meinem Projekt bereitstellen, damit es ordnungsgemäß erstellt und verpackt werden kann?
Jede Hilfe wäre toll :-)
Antworten:
Schauen Sie in meinem Bookjar-Projekt nach: http://code.google.com/p/bookjar/source/browse/
Insbesondere das Debian-Verzeichnis (insbesondere die Datei debian / package.sh) und die Datei build.xml (ant). In dieser Datei befindet sich ein neues Ziel "Upload", das ein baubares Artefakt auf den Launchpad-Buildbot hochlädt.
Ich benutze Ivy und die Netbeans Ant-Infrastruktur, daher ist es wahrscheinlich etwas anders für Sie. Eines ist jedoch sicher: Sie können keinen Efeu oder Maven vom Remote-Buildserver verwenden. Sie müssen alle von Ihnen verwendeten Bibliotheken entweder in Form von Code oder in Form von Gläsern hochladen. ivy: retrive lädt die Dateien in die Datei current_dir / lib herunter, damit mein Projekt in netbeans so eingerichtet wird, dass dort nach Bibliotheken gesucht wird (nblibraries.properties ist dafür Teil der netbeans-Infrastruktur). Lesen Sie die build.xml für Details (im Grunde genommen rufen die Debian- / Regeldateien ein spezielles Ant-Ziel auf, um den Server zu erstellen, der nicht versucht, die JAR-Dateien zu verknüpfen - da sie dort bereits kopiert sind).
Ich nutze auch in meinem package.sh den Vorteil, dass mein Projekt in mercurial ist, um eine Änderungsprotokolldatei aus dem hg-Protokoll zu erstellen. Es gibt also andere Probleme, die gelöst werden müssen, wenn Sie den gleichen Grad an Automatismus wünschen und hg (in Tatsächlich denke ich, dass mein Changelog die Regeln von Debian-Changelogs verbiegt, indem jede Änderung eine "geringfügige" Veröffentlichung ist.
quelle