Ist es möglich, mehrere Debian-Pakete mit unterschiedlichen Namen aus einer Quelle zu erstellen, indem bestimmte Optionen hinzugefügt werden?

Ist es möglich, mehrere Debian-Pakete mit unterschiedlichen Namen aus einer Quelle zu erstellen, indem bestimmte Optionen hinzugefügt werden?

Ich habe Debian-Pakete mit debuild erstellt.

Einer nach dem anderen mit einer Variable für einen Zieltyp:

debuild --set-envvar=TARGET=S_SS -b -us -uc -aarm64

und noch einer für noch einer:

debuild --set-envvar=TARGET=S_TT -b -us -uc -aarm64

Diese Variable wird im Makefile verwendet.

Das Ergebnis der Debuild-Kompilierung ist *.deb mit demselben Paketnamen in beiden Fällen. Ist es möglich, einen bestimmten Paketnamen oder Pfad zum Ordner mit den für die Kompilierung erforderlichen Dateien (also Steuerung, Änderungsprotokoll usw.) festzulegen, der sich vom Standard „debian“ unterscheidet?

Antwort1

Nun, debian/controlunterstützt Variablensubstitutionen.

Die saubersten Optionen, die mir eingefallen sind:

  1. (Dynamisch) Ändern Sie diebinärLegen Sie die Paketnamen fest, ${variable} in die Sie Ihre Variable einschließen möchten, und geben Sie sie debian/controldann debian/rulesdirekt an -Voder fügen Sie sie hinzu andebian/substvars

    Ref: Debian-Richtlinie4.10. Variablensubstitutionen: debian/substvarsund5.2. Quellpaket-Kontrolldateien – debian/control

  2. (Statisch) Führen Sie debian/rulesmehrere Konfigurations-/Build-Zyklen durch und generieren Sie geteilte Binärpakete. In diesem Fall debian/controlwerden sowohl Pakete vordeklariert als auch geteilte Build-Dateien verwendet .debian/<packagename>.install

    Referenz:Ändern Sie die Umgebungsvariablen in debian/rules entsprechend den debian/control-Zielen.(meine Antwort für einen anderen, verwandten Fall)

verwandte Informationen