Dies ist ein Ort, an dem mir die Dokumentation immer gefehlt hat. Ich habe so ziemlich nur gelernt, wie das funktioniert, indem ich mir ansah, wie es in anderen Paketen gemacht wird. Wie bei den meisten Dingen in Debian-Paketen gibt es einige Möglichkeiten, dies zu tun. Am einfachsten finde ich die Verwendung von debian/package.install
Dateien. Hier ist ein Beispiel für ein Paket, an dem ich gearbeitet habe: Imagination (bzr-Zweig) .
Zuerst müssen wir das Paket in erstellen debian/control
. Es gibt jetzt drei Strophen. Eine für das Quellpaket und eine für jedes Binärpaket. Beachten Sie, dass das foo-Datenpaket sein sollte Architecture: all
. Beachten Sie auch, dass die Vorstellungskraft davon abhängt imagination-common (= ${source:Version})
.
Als nächstes erstellen wir eine debian/imagination.install
Datei. Dies enthält die spezifischen Dateien oder Pfade, die wir in das Imaginationspaket aufnehmen möchten. Für dieses Paket benötigen wir alle architekturabhängigen Dateien. Die Desktop-Datei ist in der Binärdatei enthalten, die sie in ihrer Exec:
Zeile aufruft .
usr/bin/
usr/lib/
/usr/share/applications/imagination.desktop
Wir müssen eine debian/imagination-common.install
Datei erstellen . Dies wird alle architekturunabhängigen Dateien, Bilder, Übersetzungen, Dokumente und dergleichen enthalten.
/usr/share/doc/
/usr/share/icons/
/usr/share/imagination/
/usr/share/locale/
man dh_install
beschreibt, was hier eigentlich los ist:
Vielleicht haben Sie ein großes Paket, das mehrere Binärpakete erstellt. Sie können das Upstream-Makefile verwenden, um alles in debian / tmp zu installieren, und dann mit dh_install Verzeichnisse und Dateien von dort in die richtigen Package-Build-Verzeichnisse kopieren.
Mit "den richtigen Paketerstellungsverzeichnissen" ist gemeint, dass am Ende des Erstellungsprozesses alles, was im Ergebnis enthalten foo.deb
ist, in gefunden wird src/debian/foo
. Die Dateien, in denen Sie landen foo-data.deb
, finden Sie in src/debian/foo-data
. Da debian/rules
es sich im Wesentlichen nur um ein Makefile handelt, können Sie sich andere Möglichkeiten vorstellen, um das gleiche Ergebnis zu erzielen.