Wenn unter Ubuntu 22.04 LTS (Jammy Jellyfish) Pakete mit dpkg-deb
erstellt werden, werden die im DEB-Paket enthaltenden control und data Archive mit Zstandard (zstd) komprimiert. In vorherigen LTS Versionen von Ubuntu, waren diese Archive mit xz komprimiert.
Grundsätzlich ist Zstandard ein sehr guter Datenkompressionsalgorithmus, aber um Abwärtskompatibilität zu erreichen, kann es gewollt sein den Default von Zstandard auf das alte xz zu verändern. Wenn dpkg-deb
direkt aufgerufen wird, kann mit der Option -Zxz
(ohne Leerzeichen zwischen -Z und dem Algorithmus) ein anderer Datenkompressionsalgorithmus für die control und data Archive verwendet werden. Es ginge neben xz, noch gzip oder zstd.
In den allermeisten Fällen wird dpkg-deb
aber nicht direkt aufgerufen. Sondern indirekt über debuild
, das auch nur dh_builddeb
aufruft, dass dann aber dpkg-deb
verwendet um das Debian-Paket zu erstellen.
Die Option kann nicht auf der Befehlszeile mit debuild
an dpkg-deb
übergeben werden, sondern nur über die rules Datei im Debian Verzeichnis. In der rules Datei wird eine override_dh_builddeb
Sektion eingefügt. Die Sektion kann einfach ans Ende der rules Datei angehängt werden. Dort wird dann angegeben welche Optionen oder Parameter dh_builddeb
an dpkg-deb
übergeben soll.
Das sieht zum Beispiel so aus:
override_dh_builddeb: dh_builddeb -- -Zxz
Damit wird dpkg-deb
angewiesen die control und data Archive mit xz zu komprimieren.