Debian-Paket mit optionalen Dateien

Debian-Paket mit optionalen Dateien

Es gibt Skripte zum Erstellen von Debian-Paketen, die funktionieren. Ich muss sie ändern. In einem neuen speziellen Fall gibt es möglicherweise einige optionale Dateien, die ich in das Paket aufnehmen möchte.

Wenn ich sie zu package.install hinzufüge, fehlschlägt es, da nur diese Dateien nicht existieren. Wenn ich sie nicht zu package.install hinzufüge, werden sie nie in das Paket aufgenommen, selbst wenn sie existieren.

Um den Sonderfall zu bestimmen, habe ich eine spezielle Umgebungsvariable:SPECIFIC_CASE=CASE

Wie richte ich Skripte zur Debian-Paketerstellung ein, um im Einzelfall nach diesen Dateien zu suchen?

In der Datei rules(die als Makefile konzipiert ist) habe ich Ziele:

copy_files:
override_dh_install:
override_dh_auto_install: (empty)
...list of other overrides...
install:
postbuild:
clean:

Antwort1

packageBei den meisten Paketierungstools in Debian ist der Inhalt eines Pakets das, was sich debian/packagebeim dpkg-debAusführen darin befindet. Sie können Dateien dort auf jede beliebige Weise platzieren und müssen sich nicht darauf verlassen dh_install(welches Tool die .installDateien verarbeitet).

Daher:

override_dh_install:
        dh_install
        install blah debian/package/wherever

und so weiter. Hier würden Sie Ihre bedingte Dateiverwaltung hinzufügen.

JedochEs ist wichtig zu erkennen, dass eine Verpackungsspezifikation (und das ist nicht spezifisch für Debian) konsistent sein sollte:dhAuf einer bestimmten Architektur sollte das Erstellen eines Pakets immer den gleichen Paketinhalt ergeben. Das Verpacken optionaler Inhalte umfasst normalerweise das Erstellen des Projekts, sodass alle Dateien generiert werden, und das anschließende Verteilen dieser Dateien in verschiedene Pakete, von denen nicht alle installiert werden müssen. (Diesdürfengroße Anstrengungen erfordern,z.Bder GCC-Build, der ein paar Tricks hat, damit der Compiler-Treiber alle verfügbaren Sprachen kennt, aber nicht alle installiert werden müssen.)

verwandte Informationen