Linux-Paketwerkzeug RPM unterstützt jetzt weiche Abhängigkeiten

Das von Fedora und Suse zur Software-Verwaltung verwendete RPM unterstützt jetzt weiche Abhängigkeiten. Sie sind etwa für Software interessant, die in Kombination mit anderen Software mehr Funktionen bietet.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Thorsten Leemhuis

Eine der Neuerungen des kürzlich veröffentlichten RPM 4.12 ist ein Plugin-System, das das Kommandozeilenprogramm zur Verwaltung von Software mit RPM-Paketen vorerst nur intern nutzt. Die größte Neuerung sind "Weak Dependecies". Zu ihnen gehört das RPM-Spec-File-Tag "Recommends", das für Pakete mit Programmen interessant ist, die alleine funktionstüchtig sind, am besten aber mit einer anderen Software kombiniert werden.

So lassen sich beispielsweise die Abhängigkeiten von Programmen besser ausweisen, die ihnen überlassene Daten in Text-Dateien speichern können, die Daten aber am besten bei einem Datenbank-System wie PostgreSQL ablegen. Paket-Management-Werkzeuge wie Dnf, Yum und Zypper können mit Hilfe einer Recommends-Auszeichnung dann besser entscheiden, ob sie PostgreSQL mitinstallieren oder nicht; alternativ können sie den Anwender auch fragen.

Schwächer ist die Abhängigkeit beim neuen RPM-Tag "Suggests". Bei der ebenfalls neuen Auszeichnung "Enhances" funktionieren die Abhängigkeit in die andere Richtung. Durch sie kann etwa ein Paket mit einer Firefox-Erweiterung ausweisen, dass es Firefox erweitert und bei der Installation des Firefox-Pakets am besten mitinstalliert wird. In dieselbe Richtung funktioniert auch das neue Tag "Supplements", bei dem die Abhängigkeit etwas stärker ist als bei "Enhances".

Fedora und OpenSuse setzen das bei rpm.org entwickelte RPM schon viele Jahre ein. Das OpenSuse beiliegende RPM enthält schon lange einige Erweiterungen, die Weak Dependecies ermöglichen; die jetzt in RPM eingeflossene Unterstützung implementiert einige Details jedoch anders. Die von Dnf und Zypper zur Auflösung von Paket-Abhängigkeiten genutzte Libsolv unterstützt Weak Dependecies bereits; ebenso einige andere Programme im Suse-Umfeld. Bei Fedora ist das noch nicht der Fall; es wird sich noch zeigen müssen, ob und wie Fedora die neuen Funktionen einsetzt. Der bei Debian und Ubuntu verwendete Paket-Manager Dpkg sowie darauf aufbauende Paket-Management-Tools wie Apt und Aptitude unterstützen Weak Dependencies schon länger.

Die RPM-Entwickler arbeiten derweil an "Rich Dependencies". Durch die sollen sich Abhängigkeiten bei künftigen RPM-Versionen logisch via "und", "oder" und "wenn dann" verknüpfen lassen. Komplexere Abhängkeits-Konstellationen sollen sich dadurch besser spezifizieren lassen; solche gibt es etwa bei Paketen, die Programm-spezifische Dateien zur Unterstützung verschiedener Sprachen enthalten. (thl)