staging.inyokaproject.org

Paketbau, Python(-Script)

Status: Gelöst | Ubuntu-Version: Xubuntu 13.04 (Raring Ringtail)
Antworten |

JörnS Team-Icon

Anmeldungsdatum:
25. November 2010

Beiträge: 2107

Hallo miteinander!

Ich möchte gerne mal ein Paket selber bauen. Bisher habe ich Pakete höchstens mal per checkinstall erstellt. Ich programmiere gerne, seit einiger Zeit in Python. Ich steige aber überhaupt nicht durch, die ich ein Paket erstellen soll. Es geht erstmal um den einfachsten Fall, ein einzelnes Script, sprich eine einzelne Datei, die wegen mir sonst wo landen kann: /usr/bin oder /opt oder oder, ist dem Script reichlich wurst. Im übrigen ein Link dazu: http://forum.ubuntuusers.de/topic/curse-client-fuer-linux-nicht-world-of-warcraf/

Die einzigen Schmankerl sind in meinen Augen:

* ein Eintrag im Menü, sprich eine .desktop in /usr/share/applications * Abhängigkeiten python-bs4, Python 2.7 selbst und PyQt4 * evtl noch ein Icon

Der Wikieintrag Paketbau hilft mir kaum weiter, mein Fall ist zu "speziell". Ich habe schließlich weder ein Makescript noch etwas anderes. Kann mir jemand einen nützlichen Link zu diesem Thema geben oder einen Rat? Ich finde auch per Google den berühmten roten Faden nicht. Danke schon mal!

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi JörnS,

wenn du kein Buildsystem hast, installiere die Dateien über die Datei debian/install. In der ersten Spalte "was", in der zweiten "wohin" (Ordner). Für die .desktop-Datei genauso (also einfach dort in der zweiten Zeile hinzufügen). Die debian/rules-kannst du minimal lassen, dann wird automatisch schon ein Befehl zum Aktualisieren der desktop-Dateien aufgerufen.

Gruss Lasall

JörnS Team-Icon

(Themenstarter)

Anmeldungsdatum:
25. November 2010

Beiträge: 2107

Erstelle ich das Grundgerüst "per Hand" oder dh_make? Bei dh_make müsste ich ja ein Archiv angeben, soll ich mein Script einfach packen, oder kann ich dh_make mit einem anderen Parameter für solche Fälle aufrufen?

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi JörnS,

ein Archiv brauchst du in jedem Fall, also kannst du das damit gleich erledigen.

Gruss Lasall

JörnS Team-Icon

(Themenstarter)

Anmeldungsdatum:
25. November 2010

Beiträge: 2107

Gut, ich habe rumexperimentiert, richtig schlau werde ich aber nicht draus. Mein erster Haken:

Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
 [s/i/m/l/k/n]

Bei mir trifft ja nix davon zu :-/ hatte gestern mal single bzw indep binary ausprobiert. Mit ein bisschen fummeln und probieren lief dpkg-buildpackage auch durch, aber es gab keine .deb - wenn ich es richtig sehe, ist ein Quellpaket rausgekommen. Was im Falle von Python ja keinen Sinn macht, es muss ja nicht kompiliert werden. Noch viel lernen ich muss, hat Yoda mir gesagt ☺

Mal davon ab, ich glaube, das ist so ein Thema, was erst sehr komplex ist, aber ganz einfach geht, wenn man es erstmal verstanden hat. Es wirkt erstmal sehr umständlich! Schon lustig, letztens hab ich einen Patch für das Lubuntu Software Center geschrieben, den ich selber nicht mal paketieren könnte *kicher* Gott sei dank haben die Jungs von Lubuntu-QA mir das abgenommen.

barcc

Avatar von barcc

Anmeldungsdatum:
13. Juli 2007

Beiträge: 696

Wenn du kein Archiv hast, kannst du auch ein "natives" Paket bauen mit:

1
dh_make -p paketname_versionsnummer --native

JörnS schrieb:

Gut, ich habe rumexperimentiert, richtig schlau werde ich aber nicht draus. Mein erster Haken:

Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch?
 [s/i/m/l/k/n]

Bei mir trifft ja nix davon zu :-/ …

Du willst ein einzelnes architektur-unabhängiges ("indep", weil nur Python) Paket ("binary") bauen. (Ja, wenn man weis, wie das gemeint ist… ☺ )

…hatte gestern mal single bzw indep binary ausprobiert. Mit ein bisschen fummeln und probieren lief dpkg-buildpackage auch durch, aber es gab keine .deb - wenn ich es richtig sehe, ist ein Quellpaket rausgekommen. Was im Falle von Python ja keinen Sinn macht, es muss ja nicht kompiliert werden. Noch viel lernen ich muss, hat Yoda mir gesagt ☺

Ein Quellpaket (*.dsc) kommt immer raus. Wenn du einfach dpkg-buildpackage aufrufst und das ohne Fehler durchläuft, sollte aber auch ein Binärpaket (*.deb) rauskommen. Mit

1
debc ../*.changes

kannst du dir dann ansehen, ob alle Dateien auch im Paket drin sind.

JörnS Team-Icon

(Themenstarter)

Anmeldungsdatum:
25. November 2010

Beiträge: 2107

Super herzlichen Dank, als natives Paket geht es wunderbar!

Antworten |