.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Titel "pacutils\-mtree 3" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pacutils\-mtree 3 "4. Dezember 2025" pacutils pacutils\-mtree .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH BEZEICHNUNG pacutils\-mtree \- Mtree\-Daten installierter Pakete lesen .SH ÜBERSICHT .IX Überschrift ÜBERSICHT .Vb 1 \& #include \& \& 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); .Ve .SH BESCHREIBUNG .IX Überschrift BESCHREIBUNG 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. .IP "pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);" 4 .IX Eintrag "pu_mtree_reader_t *pu_mtree_reader_open_stream(FILE *stream);" Einen Datei\-Datenstrom zur Auswertung öffnen. .IP "pu_mtree_reader_t *pu_mtree_reader_open_package(alpm_handle_t *h, alpm_pkg_t *p);" 4 .IX Eintrag "pu_mtree_reader_t *pu_mtree_reader_open_package(alpm_handle_t *h, alpm_pkg_t *p);" Eine Mtree\-Datei eines installierten Pakets zur Auswertung öffnen. Die Ergebnisse sind nicht definiert, falls »p« kein lokal installiertes Paket ist. .IP "pu_mtree_t *pu_mtree_reader_next(pu_mtree_reader_t *reader, pu_mtree_t *dest);" 4 .IX Eintrag "pu_mtree_t *pu_mtree_reader_next(pu_mtree_reader_t *reader, pu_mtree_t *dest);" 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. .IP "void pu_mtree_free(pu_mtree_t *mtree);" 4 .IX Eintrag "void pu_mtree_free(pu_mtree_t *mtree);" Eine »pu_mtree_t«\-Struktur freigeben. .IP "void pu_mtree_reader_free(pu_mtree_reader_t *reader);" 4 .IX Eintrag "void pu_mtree_reader_free(pu_mtree_reader_t *reader);" Ein »pu_mtree_reader_t«\-Objekt freigeben. .IP "alpm_list_t *pu_mtree_load_pkg_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg);" 4 .IX Eintrag "alpm_list_t *pu_mtree_load_pkg_mtree(alpm_handle_t *handle, alpm_pkg_t *pkg);" Gibt eine Liste der Mtree\-Einträge für »pkg« zurück. \fBVERALTET\fP: Verwenden Sie stattdessen »pu_mtree_reader_open_package«. .SH BEISPIELE .IX Überschrift BEISPIELE .IP "MD5\-Summen der Dateien eines Pakets ausgeben:" 4 .IX Eintrag "MD5\-Summen der Dateien eines Pakets ausgeben:" .Vb 2 \& 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 \*(Aq%s\*(Aq\en", \& alpm_pkg_get_name(pkg)); \& return; \& } \& \& while((m = pu_mtree_reader_next(r, NULL))) { \& const char *md5 = m\->md5digest; \& printf("%s: %s\en", m\->path, \& md5 && md5[0] != \*(Aq\e0\*(Aq ? md5 : "(no md5sum provided)"); \& pu_mtree_free(m); \& } \& if(!reader\->eof) { \& fprintf(stderr, "error: unable to read mtree data for \*(Aq%s\*(Aq\en", \& alpm_pkg_get_name(pkg)); \& } \& \& pu_mtree_reader_free(r); .Ve .SH "SIEHE AUCH" .IX Überschrift "SIEHE AUCH" .IP "\fBalpm_pkg_mtree_open\fP\|(3), \fBalpm_pkg_mtree_next\fP\|(3), \fBalpm_pkg_mtree_close\fP\|(3)" 4 .IX Eintrag "alpm_pkg_mtree_open, alpm_pkg_mtree_next, alpm_pkg_mtree_close" .PD 0 .ie n .IP "\fBmtree\fR\|(5) \- description of ""pu_mtree_t"" members" 4 .el .IP "\fBmtree\fR\|(5) \- description of \f(CWpu_mtree_t\fR members" 4 .IX Eintrag "mtree \- Beschreibung der pu_mtree_t\-Elemente" .PD .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .