Provided by: manpages-de_4.26.0-1_all 

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 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.
Pacman 7.0.0 20. Januar 2025 MAKEPKG(8)