pacutils-mtree(3) pacutils-mtree pacutils-mtree(3)

pacutils-mtree - Mtree-Daten installierter Pakete lesen

ÜBERSICHT

#include <pacutils/mtree.h>
typedef struct pu_mtree_t {
  char *path;
  char *type;
  uid_t uid;
  gid_t gid;
  mode_t mode;
  off_t size;
  char *md5digest;
  char *sha256digest;
} pu_mtree_t;
typedef struct {
  FILE *stream;
  int eof;
  pu_mtree_t defaults;
} pu_mtree_reader_t;
pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);
pu_mtree_reader_t *pu_mtree_reader_open_package(alpm_handle_t *h, alpm_pkg_t *p);
pu_mtree_t *pu_mtree_reader_next(pu_mtree_reader_t *reader, pu_mtree_t *dest);
void pu_mtree_reader_free(pu_mtree_reader_t *reader);
void pu_mtree_free(pu_mtree_t *mtree);
/* veraltet */
alpm_list_t *pu_mtree_load_pkg_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg);

Die Funktionen zum Lesen der Mtree-Informationen eines Pakets füllen Lücken im Mtree-Leser von Libarchive, insbesondere »md5digest« und »sha256digest«, die gegenwärtig von Libarchive nicht gelesen werden. Die Unterstützung ist unvollständig und sollte nur als Ergänzung zum nativen Mtree-Leser von Libalpm verwendet werden.

Einen Datei-Datenstrom zur Auswertung öffnen.
Eine Mtree-Datei eines installierten Pakets zur Auswertung öffnen. Die Ergebnisse sind nicht definiert, falls »p« kein lokal installiertes Paket ist.
Den nächsten Eintrag in der Mtree-Datei lesen und zurückliefern. Falls »dest« »NULL« ist, wird ein neues »pu_mtree_t«-Objekt zugewiesen, das vom Aufrufenden freigegeben werden sollte. Andernfalls wird es mit den ausgewerteten Daten gefüllt. Intern zugewiesener Speicher wird nach Bedarf automatisch freigegeben.
Eine »pu_mtree_t«-Struktur freigeben.
Ein »pu_mtree_reader_t«-Objekt freigeben.
Gibt eine Liste der Mtree-Einträge für »pkg« zurück. VERALTET: Verwenden Sie stattdessen »pu_mtree_reader_open_package«.

pu_mtree_t *m;
pu_mtree_reader_t *r;
if((r = pu_mtree_reader_open_package(handle, pkg)) == NULL) {
    fprintf(stderr, "error: unable to load mtree data for '%s'\n",
       alpm_pkg_get_name(pkg));
    return;
}
while((m = pu_mtree_reader_next(r, NULL))) {
    const char *md5 = m->md5digest;
    printf("%s: %s\n", m->path,
        md5 && md5[0] != '\0' ? md5 : "(no md5sum provided)");
    pu_mtree_free(m);
}
if(!reader->eof) {
    fprintf(stderr, "error: unable to read mtree data for '%s'\n",
       alpm_pkg_get_name(pkg));
}
pu_mtree_reader_free(r);

alpm_pkg_mtree_open(3), alpm_pkg_mtree_next(3), alpm_pkg_mtree_close(3)
mtree(5) - description of "pu_mtree_t" members

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

4. Dezember 2025 pacutils