appstreamcli - Verarbeiten Sie AppStream-Metadatenformate und fragen Sie AppStream-Daten ab
appstreamcli [COMMAND]
Diese Handbuchseite dokumentiert kurz den Befehl appstreamcli.
appstreamcli ist ein kleines Hilfstool zum Arbeiten mit AppStream-Metadaten und zum Zugriff auf den AppStream-Komponentenindex über die Befehlszeile. Der AppStream-Komponentenindex enthält eine Liste aller verfügbaren Softwarekomponenten für Ihre Distribution, zugeordnet zu ihren Paketnamen. Es wird mithilfe von AppStream XML- oder Debian DEP-11-Daten generiert, die von Ihrem Distributor bereitgestellt werden.
Weitere Informationen zum AppStream-Projekt und den anderen Komponenten, die Teil davon sind, finden Sie auf den AppStream-Seiten unter Freedesktop.org[1].
get ID
Rufen Sie eine Komponente anhand ihrer Kennung aus dem Metadatenpool ab.
Durchsuchen Sie den AppStream-Komponentenpool nach einem bestimmten Suchbegriff.
Gibt Komponenten zurück, die einen bestimmten Artikel bereitstellen. Ein Elementtyp kann mit dem Parameter TYPE angegeben werden, ein zu suchender Wert muss mit dem Parameter TERM angegeben werden.
Beispiele:
Holen Sie sich Komponenten, die den Medientyp „text/xml“ verarbeiten.
appstreamcli what-provides mediatype "text/xml"
Holen Sie sich die Komponente, die die Bibliothek „libfoo.so.2“ bereitstellt.
appstreamcli what-provides lib libfoo.so.2
Lösen Sie bei Bedarf eine Datenbankaktualisierung aus. Wenn Sie den Neuaufbau der Datenbank erzwingen möchten, geben Sie das Flag --force an.
Dieser Befehl muss mit Root-Berechtigung ausgeführt werden.
Verschiedene Informationen zu den installierten Metadaten und dem Metadaten-Cache anzeigen.
Informationen zum aktuellen Betriebssystem aus dem Metadatenindex anzeigen. Dies erfordert, dass das Betriebssystem selbst eine Betriebssystemkomponente bereitstellt.
Geben Sie die vollständigen XML-Beschreibungen der Komponenten mit der angegebenen ID aus, die im Metadatenpool gefunden wurden.
Validieren Sie AppStream-XML-Metadaten auf Übereinstimmung mit der Spezifikation.
Beide XML-Metadatentypen, Upstream- und Distributions-XML, werden verarbeitet. Der zu validierende Formattyp wird automatisch ermittelt.
Das Flag --pedantic löst eine umständlichere Validierung der Datei aus, einschließlich kleinerer und stilistischer Probleme im Bericht.
Validieren Sie die in einem Dateibaum gefundenen AppStream-XML-Metadaten.
Dies führt eine Standardvalidierung aller gefundenen Metadaten durch, prüft aber auch auf zusätzliche Fehler, wie das Vorhandensein von .desktop-Dateien und die Gültigkeit anderer zusätzlicher Metadaten.
Testen Sie eine Lizenzzeichenfolge oder einen Lizenzausdruck auf Gültigkeit und zeigen Sie Details dazu an.
Dadurch wird überprüft, ob die Lizenzzeichenfolge als gültig für AppStream angesehen wird, und es wird ein Exit-Code ungleich Null zurückgegeben, wenn dies nicht der Fall ist. Der Befehl zeigt auch nützliche Informationen an, wie z. B. die kanonische ID einer Lizenz, ob sie als Lizenz für AppStream-Metadaten geeignet ist und ob die Lizenz für freie und Open-Source-Software oder proprietäre Software gilt.
AppStream betrachtet jede Lizenz als kostenlos und Open Source, die entweder von der Free Software Foundation (FSF), der Open Source Initiative (OSI) oder einer expliziten Lizenzliste der Debian Free Software Guidelines (DFSG) als geeignet gekennzeichnet ist.
Installieren Sie eine Softwarekomponente anhand ihrer ID mit dem Paketmanager oder Flatpak.
Dadurch wird die AppStream-Komponenten-ID in einen Installationskandidaten aufgelöst und dann entweder der native Paketmanager oder Flatpak (falls verfügbar) aufgerufen, um die Komponente zu installieren.
Deinstallieren Sie eine Softwarekomponente anhand ihrer ID mit dem Paketmanager oder Flatpak.
Dadurch wird Software, die der ausgewählten ID entspricht, entweder mit dem nativen Paketmanager oder Flatpak (falls verfügbar) deinstalliert.
Installieren Sie eine Metadatendatei im richtigen Verzeichnis auf dem aktuellen Computer.
Vergleichen Sie zwei Versionsnummern. Wenn zwei Versionsnummern als Parameter angegeben werden, werden die Versionen verglichen und das Vergleichsergebnis auf stdout ausgegeben.
Wenn eine Versionsnummer, ein Vergleichsoperator und eine andere Versionsnummer als Parameter übergeben werden, wird das Ergebnis des Vergleichsvorgangs auf stdout ausgegeben und appstreamcli wird in diesem Fall mit einem Exit-Status ungleich Null beendet Der Vergleich ist fehlgeschlagen. Der Vergleichsoperator kann einer der folgenden sein:
Gleich
Nicht gleichzusetzen mit
Weniger als
Größer als
Gleich oder kleiner als
Größer als oder gleich wie
Erstellen Sie eine Metainfo-Dateivorlage zur Verwendung durch Softwareprojekte. Mit der Option --from-desktop kann eine .desktop-Datei als Vorlage für die Generierung der Beispieldatei verwendet werden.
Die generierten Dateien enthalten Beispieleinträge, die vom Projektautor mit den tatsächlich gewünschten Werten abgelegt werden müssen.
Der erste TYPE-Parameter ist der Name eines AppStream-Komponententyps. Eine vollständige Liste finden Sie in der Dokumentation [2] oder in der Hilfeausgabe von appstreamcli für diesen Unterbefehl.
Erstellen Sie eine XDG-Desktop-Eintragsdatei aus einer Metainfo-Datei. Wenn die in DESKTOP_FILE angegebene Desktop-Eintragsdatei bereits vorhanden ist, wird sie um die neuen Informationen erweitert, die aus der Metainfo-Datei extrahiert werden. Andernfalls wird eine neue Datei erstellt.
Dieser Befehl verwendet die erste in einem Provides-Tag der Komponente erwähnte Binärdatei für das Exec=-Feld der neuen Desktop-Eintragsdatei. Wenn dies nicht das gewünschte Verhalten ist, kann das Flag --exec verwendet werden, um explizit eine zu startende Binärdatei zu definieren. Andere Methoden zum Starten der Anwendung werden derzeit nicht unterstützt.
Um einen ordnungsgemäßen Desktop-Eintrag zu generieren, geht dieser Befehl davon aus, dass nicht nur die minimal erforderlichen Tags für eine AppStream-Komponente festgelegt sind, sondern auch, dass sie über ein
Dieser Befehl konvertiert eine NEWS-Datei, wie sie von vielen Open-Source-Projekten verwendet wird, in das von AppStream verwendete XML. Da es sich bei NEWS-Dateien um Freitextdateien handelt, werden zahlreiche Heuristiken angewendet, um vernünftige Ergebnisse zu erzielen. Der Konverter kann auch eine YAML-Version der AppStream-Versionsbeschreibung lesen und diese ebenfalls in XML konvertieren. Wenn die Metainfo-Datei MI_FILE bereits existiert, wird sie mit den neuen Release-Einträgen ergänzt, andernfalls werden die Release-Einträge ohne Wrapping-Komponente geschrieben. Wenn [OUT_FILE] angegeben ist, werden die geänderten Daten nicht auf MI_FILE angewendet, sondern in die jeweilige Datei geschrieben. Wenn einer der Ausgabedateinamen auf „-“ gesetzt ist, wird die Ausgabe stattdessen nach stdout geschrieben.
Die Option --format kann verwendet werden, um das Lesen der Eingabedatei in einem bestimmten Format („text“ oder „yaml“) zu erzwingen, falls die automatische Formaterkennung fehlschlägt. Die Option --limit wird verwendet, um die Anzahl der geschriebenen Release-Einträge zu begrenzen (die neuesten Einträge werden immer zuerst sein).
Dieser Befehl kehrt den Befehl news-to-metainfo um und schreibt eine NEWS-Datei als Text oder YAML unter Verwendung des in einer Metainfo-Datei enthaltenen XML. Wenn NEWS_FILE auf „-“ gesetzt ist, werden die resultierenden Daten nach stdout statt in eine Datei geschrieben.
Mit der Option --format kann das Ausgabeformat („yaml“ oder „text“) explizit angegeben werden. Wenn es nicht festgelegt ist, errät appstreamcli, welches Format am besten geeignet ist.
Konvertiert AppStream-XML-Metadaten in ihre YAML-Darstellung und umgekehrt.
Erstellt einen AppStream-Metadatenkatalog aus einem Verzeichnisbaum mit Metainfo-Dateien. Dieser Befehl ist nur verfügbar, wenn die Komponente org.freedesktop.appstream.compose installiert ist. Weitere Informationen finden Sie unter appstreamcli-compose(1).
Weitere Informationen zu einer gefundenen Komponente ausdrucken.
Drucken Sie keine farbige Ausgabe.
Greifen Sie beim Validieren von Metadaten nicht auf das Netzwerk zu.
Der gleiche Effekt kann erzielt werden, indem die Umgebungsvariable AS_VALIDATE_NONET vor der Ausführung von appstreamcli festgelegt wird.
Zeigt die Versionsnummer von appstreamcli an
pkcon(1).
Diese Handbuchseite wurde von Matthias Klumpp
Copyright © 2012-2022 Matthias Klumpp
1. Freedesktop.org: https://www.freedesktop.org/wiki/Distributions/AppStream/
2. Die Dokumentation: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html