Provided by: manpages-de_4.27.0-1_all bug

BEZEICHNUNG

       makepkg - Paketbauwerkzeug

ÜBERSICHT

       makepkg [Optionen] [UMGVAR=Wert] [UMGVAR+=Wert] …

BESCHREIBUNG

       makepkg ist ein Skript zur Automatisierung des Paketbaus. Das Skript benötigt eine zum Paketbau fähige
       *nix-Plattform sowie ein benutzerdefiniertes Bauskript für jedes Paket, das gebaut werden soll (als
       PKGBUILD bekannt). Siehe PKGBUILD(5) für Details zur Erstellung Ihrer eigenen Bauskripte.

       Der Vorteil eines skriptbasierten Bauvorgangs ist, das die Arbeit nur einmal getan werden muss. Sobald
       Sie das Bauskript für ein Paket haben, erledigt makepkg den Rest: Es lädt die Quellen herunter und
       überprüft sie, schaut nach Abhängigkeiten, konfiguriert die Einstellungen zum Bauvorgang, baut das Paket,
       installiert es in eine temporäre Systemwurzel, nimmt Anpassungen vor, erzeugt Metainformationen und
       paketiert letztendlich alles, so dass es von Pacman verarbeitet werden kann.

           Hinweis

           makepkg verwendet standardmäßig Ihre gegenwärtige Locale-Einstellung und setzt diese beim Bau von
           Paketen nicht zurück. Sollten Sie die Ausgaben des Bauvorgangs an andere weitergeben wollen, zum
           Beispiel wenn Sie Hilfe suchen oder für andere Zwecke, sollten Sie den Befehl »LC_ALL=C makepkg«
           aufrufen, damit die Protokolle und Ausgaben nicht lokalisiert werden.

OPTIONEN

       -A, --ignorearch
           ignoriert ein fehlendes oder unvollständiges »arch«-Feld im Bauskript. Dies kann hilfreich sein, wenn
           Pakete erneut aus den Quellen gebaut werden, wenn die Datei PKGBUILD nicht mehr vollständig auf dem
           neuesten Stand ist und nicht mit einem Feld arch=('Ihre_Architektur') geändert wurde.

       -c, --clean
           löscht die übriggebliebenen Arbeitsdateien und -verzeichnisse nach einem erfolgreichen Bauvorgang.

       --config <Datei>
           verwendet eine alternative Konfigurationsdatei anstelle der voreingestellten /etc/makepkgconf.

       -d, --nodeps
           führt keine Abhängigkeitsüberprüfung aus. Auf diese Weise können Sie sämtliche benötigten
           Abhängigkeiten außer Kraft setzen und ignorieren. Allerdings stehen die Chancen gut, dass dies den
           Bauprozess scheitern lässt, falls nicht alle Abhängigkeiten installiert sind.

       -e, --noextract
           entpackt keine Quelldateien und führt die prepare()-Funktion nicht aus, falls vorhanden; verwendet
           jegliche bereits vorhandene Quelldateien im Verzeichnis $srcdir/. Dies ist nützlich, wenn Sie den
           Code im Verzeichnis $srcdir/ manuell patchen oder anderweitig anpassen und daraus das Paket erstellen
           wollen. Denken Sie aber daran, dass das Erzeugen eines Patches die bessere Lösung sein kann, wenn
           auch andere in der Lage sein sollen, Ihre Datei PKGBUILD zu nutzen.

       --verifysource
           lädt jede der Dateien im »source«-Feld des PKGBUILDs herunter, falls notwendig, und führt die
           Integritätsprüfungen aus. Es wird nichts entpackt oder gebaut. Die im PKGBUILD angegebenen
           Abhängigkeiten werden nicht verarbeitet, es sei denn, --syncdeps wurde übergeben. Dies ist für
           aufeinanderfolgende Offline-Bauvorgänge nützlich.

       -f, --force
           erlaubt das Überschreiben eines gebauten Pakets. Normalerweise baut Makepkg kein Paket, falls ein
           solches bereits im Verzeichnis PKGDEST existiert (konfiguriert in makepkg.conf(5)). PKGDEST ist in
           der Voreinstellung das aktuelle Verzeichnis.

       -g, --geninteg
           lädt jede der Dateien im »source«-Feld des PKGBUILDs herunter, falls notwendig und führt die
           Integritätsprüfungen aus. Die ausgeführten Integritätsprüfungen werden durch die vorhandenen
           Anweisungen im PKGBUILD bestimmt. Falls diese fehlen, wird auf den Wert des Felds INTEGRITY_CHECK in
           makepkg.conf(5) ausgewichen. Diese Ausgabe kann für die Überprüfung der Quellen mittels »makepkg -g
           >> PKGBUILD« in Ihren PKGBUILD umgeleitet werden.

       --skipinteg
           führt keine Integritätsprüfung (Prüfsumme und PGP) von Quelldateien aus.

       --skipchecksums
           verifiziert keine Prüfsummen von Quelldateien.

       --skippgpcheck
           verifiziert keine PGP-Signaturen von Quelldateien.

       -h, --help
           gibt die Syntax und Befehlszeilenoptionen aus.

       --holdver
           aktualisiert bei der Verwendung von Quellen aus Versionsverwaltungssystemen (VCS, siehe PKGBUILD(5))
           die aktuell ausgecheckten Quellen nicht auf die letzte Revision.

       -i, --install
           installiert oder aktualisiert das Paket mit pacman(8) nach einem erfolgreich abgeschlossenen
           Bauvorgang.

       -L, --log
           aktiviert die Protokollierung. Mithilfe des Programms tee wird die Ausgabe jeder PKGBUILD-Funktion
           sowohl an die Konsole gesendet als auch in einer Datei namens
           »pkgbase-pkgver-pkgrel-arch-<function>.log« im Bauverzeichnis gespeichert. Wie vorher bereits
           erwähnt, werden die Protokolle lokalisiert, so dass Sie die Locale entsprechend anpassen sollten,
           wenn Sie die Ausgabe an andere weitergeben wollen.

       -m, --nocolor
           unterbindet die farbliche Darstellung der Ausgaben.

       -o, --nobuild
           lädt Dateien herunter und entpackt diese, führt die prepare()-Funktion aus, aber baut kein Paket.
           Dies ist in Verbindung mit der Option --noextract nützlich, wenn Sie die Dateien in $srcdir/ vor dem
           Bau bearbeiten wollen.

       -p <Bauskript>
           liest das angegebene »Bauskript« anstelle des vorgegebenen PKGBUILD, siehe PKGBUILD(5). Das Bauskript
           muss sich in dem Verzeichnis befinden, aus dem Makepkg aufgerufen wird.

       -r, --rmdeps
           entfernt nach erfolgreichem Bau alle Abhängigkeiten, die Makepkg im Zuge der automatischen
           Abhängigkeitsauflösung und Installation mit -s installiert hat.

       -R, --repackage
           paketiert den Inhalt neu, ohne das Paket tatsächlich neu zu bauen. Dies ist ist in solchen Fällen
           nützlich, wenn Sie beispielsweise in Ihrem PKGBUILD eine Abhängigkeit oder Datei vergessen haben,
           aber sich der Bau ansonsten nicht geändert hat.

       -s, --syncdeps
           installiert fehlende Abhängigkeiten mittels Pacman. Wenn Bau- oder Laufzeitabhängigkeiten nicht
           gefunden werden, versucht Pacman, diese aufzulösen. Wenn dies erfolgreich ist, werden die fehlenden
           Pakete heruntergeladen und installiert.

       -S, --source
           baut das Paket nicht wirklich, sondern lediglich einen Quellen-Tarball, der keine Quellen einbezieht,
           die über eine Download-URL geholt werden können. Dies ist nützlich, wenn Sie einen einzelnen Tarball
           an ein anderes Programm weitergeben wollen, zum Beispiel eine Chroot-Umgebung, eine ferne
           Paketbauumgebung oder einen Tarball hochladen wollen. Weil dabei Integritätsprüfungen durchgeführt
           werden, müssen alle Quelldateien des Pakets vorhanden oder herunterladbar sein.

       -V, --version
           zeigt Versionsinformationen an.

       -C, --cleanbuild
           löscht Bauartefakte von vorherigen Läufen von makepkg im aktuellen Verzeichnis, indem $srcdir vor dem
           Bau des Pakets entfernt wird.

       -D <Verz>, --dir <Verz>
           Wechselt in das Verzeichnis <Verz> vor dem Lesen von PKGBUILD oder einer anderen Aktion.

       --allsource
           baut das Paket nicht wirklich, sondern lediglich einen Quellen-Tarball, der auch Quellen einbezieht,
           die über eine Download-URL geholt werden können. Dies ist nützlich, wenn Sie einen einzelnen Tarball
           an ein anderes Programm weitergeben wollen, zum Beispiel eine Chroot-Umgebung oder eine fern
           Paketbauumgebung. Es werden außerdem die Bedingungen der GPL für die Weitergabe von Binärpaketen
           erfüllt.

       --check
           führt die check()-Funktion in PKGBUILD aus, wobei die Einstellung in makepkg.conf(5) außer Kraft
           gesetzt wird.

       --noarchive
           erstellt am Ende des Bauvorgangs kein Archiv. Dies ist beispielsweise zum Testen der
           package()-Funktion nützlich oder wenn Ihre Zieldistribution Pacman nicht verwendet.

       --nocheck
           führt die check()-Funktion im PKGBUILD nicht aus und verarbeitet auch keine »checkdepends«
           (Test-Abhängigkeiten).

       --noprepare
           führt die prepare()-Funktion im PKGBUILD nicht aus.

       --noverify
           führt die verify()-Funktion im PKGBUILD nicht aus.

       --sign
           signiert das resultierende Paket mit GPG, wobei die Einstellung in makepkg.conf(5) außer Kraft
           gesetzt wird.

       --nosign
           erzeugt keine Signatur für das gebaute Paket.

       --key <Schlüssel>
           gibt einen Schlüssel an, der zum Signieren von Paketen verwendet wird, wobei die GPGKEY-Einstellung
           in makepkg.conf(5) außer Kraft gesetzt wird. Wenn hier oder in der genannten Konfigurationsdatei
           nichts angegeben ist, wird der Standardschlüssel aus dem Schlüsselbund verwendet.

       --noconfirm
           verhindert, dass Pacman auf Benutzereingaben wartet, bevor mit Operationen fortgefahren wird (wird an
           Pacman übergeben).

       --needed
           weist Pacman an, ein Ziel nicht erneut zu installieren, wenn es bereits auf dem neuesten Stand ist
           (wird an Pacman übergeben und mit -i / --install verwendet).

       --asdeps
           installiert Pakete nicht explizit (wird mit -i / --install verwendet).

       --noprogressbar
           verhindert, dass Pacman einen Fortschrittsbalken anzeigt (wird an Pacman übergeben). Dies ist
           nützlich, wenn Sie die Ausgabe von Makepkg in eine Datei umleiten.

       --packagelist
           listet die Namen der Dateien des Pakets auf, die erstellt werden würden, ohne das Paket zu bauen. Die
           aufgelisteten Dateinamen schließen PKGDEST und PKGEXT ein.

       --printsrcinfo
           erzeugt eine SRCINFO-Datei und leitet diese in die Standardausgabe.

WEITERE FUNKTIONALITÄTEN

       Makepkg unterstützt den Bau von Entwicklungsversionen von Paketen, ohne dass Sie die »pkgver« im PKGBUILD
       manuell aktualisieren müssen. Dies wurde früher durch das separate Dienstprogramm versionpkg erledigt.
       Siehe PKGBUILD(5) für Details zur Einrichtung eines Entwicklungs-PKGBUILDs.

REPRODUZIERBARKEIT

       Makepkg wurde mit dem Ziel der Kompatibilität zu »Reproducible Builds« (reproduzierbare Bauvorgänge)
       entwickelt. Sofern die Umgebungsvariable SOURCE_DATE_EPOCH gesetzt ist, wird diese an die Unterprozesse
       exportiert und die Zeitstempel der Änderungen in Quelldatei und Paket-Metadaten werden vereinheitlicht,
       basierend auf dem angegebenen Zeitstempel.

       Wenn die Umgebungsvariable SOURCE_DATE_EPOCH nicht gesetzt ist, verwendet Makepkg zwar intern seinen
       eigenen Startzeitpunkt, vereinheitlicht aber die Zeitstempel der Quelldateien vor dem Bau nicht.

UMGEBUNGSVARIABLEN

       MAKEPKG_LIBRARY="/Pfad/zum/Verzeichnis"
           Verwendet einen alternativen libmakepkg-Pfad anstelle des voreingestellten /usr/share/makepkg.

       PACMAN
           Der Befehl, der zur Überprüfung auf fehlende Abhängigkeiten und zur Installation und Entfernung von
           Paketen verwendet wird. Die Pacman-Operationen -Qq, -Rns, -S, -T und -U müssen von diesem Befehl
           unterstützt werden. Wenn die Variable nicht gesetzt oder leer ist, dann weicht Makepkg auf »pacman«
           aus.

       MAKEPKG_CONF="/Pfad/zur/Datei"
           Verwendet eine alternative Konfigurationsdatei anstelle der voreingestellten /etc/makepkg.conf.

       PKGDEST="/Pfad/zum/Verzeichnis"
           Verzeichnis, in dem die resultierenden Pakete gespeichert werden. Dies setzt den in makepkg.conf(5)
           definierten entsprechenden Wert außer Kraft.

       SRCDEST="/Pfad/zum/Verzeichnis"
           Verzeichnis, in dem die heruntergeladenen Quellen gespeichert werden. Dies setzt den in
           makepkg.conf(5) definierten entsprechenden Wert außer Kraft.

       SRCPKGDEST="/Pfad/zum/Verzeichnis"
           Verzeichnis, in dem die Quellpaketdateien gespeichert werden. Dies setzt den in makepkg.conf(5)
           definierten entsprechenden Wert außer Kraft.

       LOGDEST="/Pfad/zum/Verzeichnis"
           Verzeichnis, in dem die erzeugten Protokolldateien gespeichert werden. Dies setzt den in
           makepkg.conf(5) definierten entsprechenden Wert außer Kraft.

       PACKAGER="John Doe <john@doe.com>"
           Zeichenkette, die den Ersteller des resultierenden Pakets identifiziert. Dies setzt den in
           makepkg.conf(5) definierten entsprechenden Wert außer Kraft.

       BUILDDIR="/Pfad/zum/Verzeichnis"
           Verzeichnis, in dem das Paket gebaut wird. Dies setzt den in makepkg.conf(5) definierten
           entsprechenden Wert außer Kraft.

       CARCH="(i686|x86_64)"
           erzwingt den Bau für eine spezifische Architektur. Dies ist für Cross-Kompilierung nützlich. Dies
           setzt den in makepkg.conf(5) definierten entsprechenden Wert außer Kraft.

       PKGEXT=".pkg.tar.gz", SRCEXT=".src.tar.gz"
           Legt den zum Bau von kompilierter oder Quellpakete verwendeten Kompressionsalgorithmus fest. Dies
           setzt den in makepkg.conf(5) definierten entsprechenden Wert außer Kraft.

       GNUPGHOME="/Pfad/zum/Verzeichnis"
           Verzeichnis, in dem der GPG-Schlüsselbund zum Signieren des gebauten Pakets gespeichert ist.

       GPGKEY="Schlüsselkennung"
           Gibt einen zum Signieren von Paketen zu verwendenden Schlüssel an. Dies setzt die in makepkg.conf(5)
           definierten GPGKEY-Einstellung außer Kraft.

       SOURCE_DATE_EPOCH="<Datum>"
           Wird für reproduzierbare Bauvorgänge verwendet.

       BUILDTOOL="<Name>"
           Der Name des Werkzeug-Ökosystems, mit dem die Bauumgebung eingerichtet wird. Damit wird die
           Ausführung reproduzierbarer Bauvorgänge (»reproducible builds«) konfiguriert, zum Beispiel die
           verwendete Datei makepkg.conf(5).

       BUILDTOOLVER="<Version>"
           Die Version des verwendeten $BUILDTOOL.

       MAKEPKG_LINT_PKGBUILD=0 Setzen auf 0 deaktiviert Linting des PKGBUILDs innerhalb von makepkg. Nützlich
       auf Systemen mit langsamen bash(1)-Subshell-Operationen oder auf PKGBUILDs mit extremen Mengen von
       Paketauftrennungen.

KONFIGURATION

       In makepkg.conf(5) finden Sie weitere Details zur Konfiguration von Makepkg mit Hilfe der Datei
       makepkg.conf.

FEHLER

       Beim Beenden gibt Makepkg einen der folgenden Fehlercodes aus.

       0
           Normales Beenden.

       1
           Fehler mit unbekannter Ursache.

       2
           Fehler in der Konfigurationsdatei.

       3
           Benutzer hat eine unzulässige Option angegeben.

       4
           Fehler in einer durch den Benutzer angegebenen Funktion im PKGBUILD.

       5
           Erstellung eines brauchbaren Pakets ist fehlgeschlagen.

       6
           Eine Quelle oder im PKGBUILD angegebene externe Datei fehlt.

       7
           Das Verzeichnis PKGDIR fehlt.

       8
           Abhängigkeiten konnten nicht installiert werden.

       9
           Abhängigkeiten konnten nicht entfernt werden.

       10
           Der Benutzer hat versucht, Makepkg mit Systemverwalterrechten auszuführen.

       11
           Dem Benutzer fehlen die Zugriffsrechte, um ein Paket am gegebenen Ort zu bauen oder zu installieren.

       12
           Fehler bei der Auswertung des PKGBUILD.

       13
           Es wurde bereits ein Paket gebaut.

       14
           Die Installation des Pakets ist fehlgeschlagen.

       15
           Zur Ausführung von Makepkg erforderliche Programme fehlen.

       16
           Der angegebene GPG-Schlüssel existiert nicht oder das Verschlüsseln des Pakets ist fehlgeschlagen.

       17
           Das lokale Repositorium ist kein Klon des in PKGBUILD festgelegten Quellrepositoriums.

SIEHE AUCH

       makepkg.conf(5), PKGBUILD(5), pacman(8)

       Auf der Pacman-Website finden Sie aktuelle Informationen zu Pacman und den zugehörigen Werkzeugen.

FEHLER

       Fehler? Sie machen wohl Witze, es gibt keine Fehler in dieser Software. Nun ja, sollte unsere Annahme
       doch falsch sein, berichten Sie diese (auf Englisch) in dem Fehlererfassungssystem unter
       https://gitlab.archlinux.org/pacman/pacman/-/issues zusammen mit den konkreten Informationen wie Ihre
       Befehlszeile, die Art des Fehlers und sogar der Paketdatenbank, falls das hilft.

AUTOREN

       Derzeitige Betreuer:

       •   Allan McRae

       •   Andrew Gregory

       •   Morgan Adamiec

       Bedeutende frühere Mitwirkende:

       •   Judd Vinet

       •   Aurelien Foret

       •   Aaron Griffin

       •   Dan McGee

       •   Xavier Chantry

       •   Nagy Gábor

       •   Dave Reisner

       •   Eli Schwartz

       Informationen zu weiteren Mitwirkenden erhalten Sie, wenn Sie den Befehl git shortlog -s im
       Git-Repositorium pacman.git aufrufen.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com>
       und Helge Kreutzmann <debian@helgefjell.de> 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: debian-l10n-german@lists.debian.org.

Pacman 7.0.0                                     20. Januar 2025                                      MAKEPKG(8)