DLAGENTS=('Protokoll::/Pfad/zum/Befehl [Optionen]' …
)
gibt die Download-Agenten an, die zum Herunterladen der
in einer URL in der Datei
PKGBUILD(5) angegebenen Dateien verwendet
werden sollen. Für jeden Befehl können auch Optionen angegeben
werden, und für jedes Protokoll kann es einen Download-Agenten geben.
Jegliche Leerräume in den Optionsargumenten müssen maskiert
werden, damit der Befehl nicht geteilt wird. Diverse Beispiele finden Sie in
der Standarddatei makepkg.conf.
Falls vorhanden, wird %u durch die Download-URL ersetzt.
Anderenfalls wird die Download-URL an das Ende des Befehls gesetzt. Falls
vorhanden, wird %o durch den Namen der lokalen Datei ersetzt und die
Erweiterung ».part« hinzugefügt, wodurch Makepkg
ermöglicht wird, unterbrochene Downloads wiederaufzunehmen.
VCSCLIENTS=('Protokoll::Paket' … )
gibt die Pakete an, die zum Holen der Quelldateien aus
Versionsverwaltungssystemen erforderlich sind. Wenn solche nötig sind,
überprüft Makepkg, ob diese installiert oder in den
»depends«- oder »makedepends«-Feldern im PKGBUILD
aufgelistet sind.
CARCH="Architektur"
gibt Ihre Computerarchitektur an. Zulässige Werte
sind Dinge wie »i686«, »x86_64« oder
»ppc«. Dies sollte automatisch bei der Installation festgelegt
worden sein.
CHOST="Rechner"
gibt eine Zeichenkette wie
»i686-pc-linux-gnu« an. Verändern Sie dies nicht, es sei
denn, Sie wissen, was Sie tun. In den meisten Fällen können Sie
es auskommentieren, falls gewünscht.
CPPFLAGS="CPP-Flags"
gibt die für den C-Präprozessor verwendeten
Flags an; siehe CFLAGS für weitere Informationen.
CFLAGS="C-Flags"
gibt die für den C-Compiler verwendeten Flags an.
Dies ist ein grundlegender Teil der Verwendung von Makepkg.
Üblicherweise werden verschiedene Optionen angegeben, wobei die
häufigste Zeichenkette etwa so aussieht: »-march=i686 -O2
-pipe«. Eine weitere nützliche Option kann -mcpu anstelle von
-march sein. Lesen Sie gcc(1) für weitere Details zur Vielzahl der
verfügbaren Compiler-Flags.
CXXFLAGS="CXX-Flags"
gibt die für den C++-Compiler verwendeten Flags
an; siehe CFLAGS für weitere Informationen.
LDFLAGS="LD-Flags"
gibt die für den Linker verwendeten Flags an.
Verschiedene Optionen können angegeben werden, wobei die
häufigste Zeichenkette etwa so aussieht:
»-Wl,--hash-style=gnu«. Lesen Sie ld(1) für weitere
Details zu den verfügbaren Linker-Flags.
LTOFLAGS="LTO-Flags"
gibt zusätzliche Compiler- und Linker-Flags an,
die an CFLAGS, CXXFLAGS und LDFLAGS angehängt werden, wenn mit
Linkzeit-Optimierung gebaut wird. Falls leer, wird -flto
verwendet.
MAKEFLAGS="makeflags"
wird oft zum Angeben der Anzahl der verwendeten Jobs
verwendet, zum Beispiel -j2. Andere von »make« akzeptierte Flags
können ebenfalls angegeben werden.
DEBUG_CFLAGS="debug_cflags"
gibt zusätzliche Compiler-Flags an, die an CFLAGS
für Debugging-Zwecke angehängt werden. Üblicherweise
würde dies Folgendes beinhalten: »-g«. Lesen Sie gcc(1)
für weitere Details zu den zahlreichen verfügbaren
Compiler-Flags.
DEBUG_CXXFLAGS="debug_cxxflags"
gibt für den C++-Compiler verwendete Debug-Flags
an; siehe DEBUG_CFLAGS für weitere Informationen.
BUILDENV=(!distcc !color !ccache check !sign)
enthält Optionen, welche die Bauumgebung
betreffen; die Voreinstellungen werden hier angezeigt. Alle Optionen sollten
stets im Feld verbleiben. Um eine Option zu aktivieren oder zu deaktivieren,
fügen Sie einfach ein »!« vor der Option hinzu oder
entfernen es, wenn es bereits vorhanden ist. Wenn eine Option mehrmals
angegeben ist, dann hat der letzte Wert Vorrang. Jede der Optionen
funktioniert wie folgt:
distcc
verwendet den verteilten C/C++/ObjC-Compiler, um die
Kompilierung über mehrere Maschinen zu verteilen. Falls dies aktiviert
ist, muss DISTCC_HOSTS ebenfalls angegeben werden.
color
färbt die Meldungen ein, wodurch die Ausgabe
besser lesbar wird.
ccache
verwendet Ccache bei der Cache-Kompilierung
standardmäßig. Dadurch wird eine schnellere Kompilierung
möglich, wenn Sie wiederholt die gleichen Pakete kompilieren. Dies kann
für einzelne Pakete deaktiviert werden, indem Sie
»!ccache« in das »options«-Feld im PKGBUILD
setzen.
check
führt die check()-Funktion aus, sofern diese im
PKGBUILD vorhanden ist. Dies kann für einzelne Pakete aktiviert oder
deaktiviert werden, wenn Sie Makepkg mit den Optionen --check
beziehungsweise --nocheck aufrufen.
sign
erzeugt mittels GnuPG eine PGP-Signaturdatei. Dadurch
wird gpg --detach-sign --use-agent mit dem gebauten Paket
ausgeführt, um eine zugehörige Signaturdatei mit dem GPG-Agent
zu erzeugen, sofern dieser verfügbar ist. Die Signaturdatei
erhält den vollständigen Namen des Pakets mit der Erweiterung
».sig«.
DISTCC_HOSTS="Rechner1 …"
Wenn Sie DistCC verwenden, können Sie hiermit eine
durch Leerzeichen getrennte Liste von Rechnern angeben, die im DistCC-Cluster
laufen. Zusätzlich werden Sie Ihre MAKEFLAGS anpassen
müssen.
BUILDDIR="/Pfad/zum/Verzeichnis"
Wenn dieser Wert nicht gesetzt ist, werden Pakete
standardmäßig in den Unterverzeichnissen jenes Verzeichnisses
gebaut, aus dem Makepkg aufgerufen wird. Diese Option ermöglicht es,
das Bauverzeichnis in ein anderes Verzeichnis zu verlegen. Durch inkorrektes
Setzen von $startdir in einem PKGBUILD könnte der Bauvorgang mit dieser
Option fehlschlagen.
GPGKEY=""
gibt einen Schlüssel an, der anstelle des
Vorgabeschlüssels im Schlüsselbund zur GPG-Signierung verwendet
werden soll. Dieser kann mit der Makepkg-Option --key außer
Kraft gesetzt werden.
OPTIONS=(!strip docs libtool staticlibs emptydirs
…)
Dieses Feld enthält Optionen, welche die
Paketierungsvorgaben beeinflussen. Sie sind äquivalent zu Optionen, die
in einem PKGBUILD enthalten sein können; die Vorgaben werden hier
angezeigt. Alle Optionen sollten stets in diesem Feld verbleiben und
können bei Bedarf durch Hinzufügen oder Entfernen eines
Ausrufezeichens vor der Option deaktiviert oder aktiviert werden. Wenn eine
Option mehrfach angegeben wird, erhält der zuletzt angegebene Wert
Vorrang. Jede Option funktioniert folgendermaßen:
strip
Entfernt Symbole aus Programmen und Bibliotheken. Wenn
Sie häufig einen Debugger bei Programmen oder Bibliotheken verwenden,
kann es hilfreich sein, diese Option zu deaktivieren.
docs
speichert die Dokumentationsverzeichnisse. Wenn Sie die
Dokumentationsverzeichnisse löschen wollen, geben Sie
»!docs« im Feld an. Die betroffenen Verzeichnisse werden durch
die Variable DOC_DIRS bezeichnet.
libtool
Belässt Libtool-Dateien (.la) in Paketen. Geben
Sie !libtool an, um diese zu entfernen.
staticlibs
belässt statische Bibliotheksdateien (.a) in
Paketen Geben Sie !staticlibs an, um diese zu entfernen (sofern es ein
dynamisch gelinktes Gegenstück gibt).
emptydirs
belässt leere Verzeichnisse in Paketen.
zipman
komprimiert Handbuchseiten (man und info) mit gzip. Die
betroffenen Verzeichnisse werden in der Variable MAN_DIRS festgelegt.
purge
entfernt die in der Variable PURGE_TARGETS angegebenen
Dateien aus dem Paket.
debug
fügt die benutzerdefinierten Debug-Flags
(DEBUG_CFLAGS, DEBUG_CXXFLAGS) zu den korrespondierenden Buildflags hinzu.
Wird dies in Verbindung mit der Option »strip« verwendet, wird
ein separates Paket gebaut, das die Debug-Symbole enthält.
lto
aktiviert den Paketbau mittels Linkzeit-Optimierung.
Fügt die in LTOFLAGS angegebenen Flags zu CFLAGS, CXXFLAGS und CXXFLAGS
hinzu (oder -flto, falls LTOFLAGS leer ist).
autodeps
aktiviert die automatische Ergänzung von
Bibliotheken zu den Felder »depends« und
»provides«. Die Suchverzeichnisse werden über die
nachfolgend definierte Variable LIB_DIRS gesteuert.
INTEGRITY_CHECK=(Überprüfung1
…)
gibt die auszuführenden Prüfungen zur
Dateiintegrität an. Es können mehrere Prüfungen angegeben
werden, die sowohl die Erzeugung als auch die Prüfung beeinflussen.
Gegenwärtig sind folgende Optionen verwendbar: ck, md5, sha1, sha224,
sha256, sha384, sha512 und b2.
STRIP_BINARIES="--strip-all"
gibt die beim Strippen von binären Programmen zu
verwendenden Optionen an. Siehe
strip(1) für Details.
STRIP_SHARED="--strip-unneeded"
gibt die beim Strippen von gemeinsam genutzten
Bibliotheken oder ausführbaren Programmen im PIE-Format zu verwendenden
Optionen an. Siehe
strip(1) für Details.
STRIP_STATIC="--strip-debug"
gibt die beim Strippen von statischen Bibliotheken zu
verwendenden Optionen an. Siehe
strip(1) für Details.
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}
...)
Wenn »zipman« im OPTIONS-Feld angegeben
ist, weist diese Variable Makepkg an, wo nach komprimierten Handbüchern
(man- und info-Seiten) gesucht werden soll. Wenn Sie Pakete bauen, die sich in
/opt befinden, kann es sein, dass Sie das Verzeichnis zu diesem Feld
hinzufügen müssen. HINWEIS: Fügen Sie zum
Verzeichnisnamen keinen führenden Schrägstrich hinzu.
DOC_DIRS=(usr/{,share/}{doc,gtk-doc} ...)
Wenn »!docs« im OPTIONS-Feld angegeben ist,
weist diese Variable Makepkg an, wo nach zu entfernenden Dokumentationsdateien
zu schauen ist. Wenn Sie Pakete bauen, die sich in /opt befinden, kann es
sein, das Sie das Verzeichnis zu diesem Feld hinzufügen müssen.
HINWEIS: Fügen Sie zum Verzeichnisnamen keinen führenden
Schrägstrich hinzu.
LIB_DIRS=(lib:usr/lib …)
Wenn »autodeps« und »debug«
im OPTIONS-Feld angegeben sind, weist diese Variable Makepkg an, wo nach
Bibliotheken gesucht werden soll, die im vorhergehenden Feld
hinzugefügt werden sollen. Das Format ist
»Präfix:Pfad«, wobei »provides« für
Bibliotheken hinzugefügt werden, die im »Pfad« mit dem
angegebenen Präfix ergänzt gefunden werden.
PURGE_TARGETS=(usr/{,share}/info/dir .podlist
*.pod...)
Wenn »purge« im OPTIONS-Feld angegeben ist,
weist diese Variable Makepkg an, welche Dateien aus dem Paket zu entfernen
sind. Dies ist für Indexdateien nützlich, die von mehreren
Paketen hinzugefügt werden.
DBGSRCDIR="/usr/src/debug"
Wenn »strip« und »debug« im
OPTIONS-Feld angegeben sind, weist diese Variable Makepkg an, wo Quelldateien
für installierte Programme platziert werden sollen. Die Programme
werden in einer Weise modifiziert, dass sie für den Suchpfad des
Debuggers auf dieses Verzeichnis verweisen.
PKGDEST="/Pfad/zum/Verzeichnis"
Wenn dieser Wert nicht gesetzt ist, dann werden Pakete
standardmäßig im aktuellen Verzeichnis gespeichert (Ort des
PKGBUILD(5)). Jedoch finden es viele Leute praktisch, alle Pakete an
einer Stelle zu speichern. Hier können Sie den Pfad zu dieser Stelle
festlegen. Eine häufig verwendete Stelle ist
»/home/packages«.
SRCDEST="/Pfad/zum/Verzeichnis"
Wenn dieser Wert nicht gesetzt ist, dann werden
heruntergeladene Dateien nur im aktuellen Verzeichnis gespeichert. Jedoch
finden es viele Leute praktisch, alle Quellpakete an einer zentralen Stelle zu
speichern, um das Aufräumen zu vereinfachen. Hier können Sie den
Pfad zu dieser Stelle festlegen.
SRCPKGDEST="/Pfad/zum/Verzeichnis"
Wenn dieser Wert nicht gesetzt ist, dann werden
Quellpaketdateien im aktuellen Verzeichnis gespeichert. Jedoch finden es viele
Leute praktisch, alle Quellpakete an einer zentralen Stelle zu speichern, um
das Aufräumen zu vereinfachen. Hier können Sie den Pfad zu
diesem Ort festlegen.
LOGDEST="/Pfad/zum/Verzeichnis"
Wenn dieser Wert nicht gesetzt ist, werden
Protokolldateien in das aktuelle Verzeichnis geschrieben. Hiermit wird der Ort
der Protokollierung zentralisiert, was Aufräumen und Kompression
erleichtert.
PACKAGER="John Doe <john@example.com>"
Dieser Wert wird verwendet, wenn eine Paketabfrage den
Paketbauer ermitteln soll. Das angegebene Format ist für die
PGP-Schlüsselsuche mittels WKD erforderlich. Es wird empfohlen, dies
auf Ihren Namen und Ihre E-Mail-Adresse zu ändern.
COMPRESSGZ="(gzip -c -f -n)",
COMPRESSBZ2="(bzip2 -c -f)", COMPRESSXZ="(xz -c
-z -)", COMPRESSZST="(zstd -c -z -)",
COMPRESSLZO"(lzop -q)", COMPRESSLRZ="(lrzip
-q)", COMPRESSLZ4="(lz4 -q)",
COMPRESSZ="(compress -c -f)", COMPRESSLZ="(lzip
-c -f)"
legt den Befehl und die Optionen für die
Komprimierung von kompilierten oder Quellpaketen im benannten Format
fest.
PKGEXT=".pkg.tar.gz",
SRCEXT=".src.tar.gz"
legt die beim Erstellen kompilierter oder Quellpakete
verwendete Kompression fest. Zulässige Endungen sind .pkg oder .src
(für PKGEXT bzw. SRCEXT) gefolgt von einem aus .tar.gz, .tar.bz2,
.tar.xz, .tar.zst, .tar.lzo, .tar.lrz, .tar.lz4, .tar.lz und .tar.Z, oder
einfach .tar, um die Kompression gänzlich zu deaktivieren.
PACMAN_AUTH=()
gibt ein Befehlspräfix bei der Ausführung
von Pacman mit Root-Rechten an. Falls nicht gesetzt, prüft Makepkg
zunächst, ob sudo(8) verfügbar ist, dann su(1), und versucht
das, was zuerst gefunden wird.
Falls vorhanden, wird %c durch die Shell-maskierte Form des
auszuführenden Befehls ersetzt. Anderenfalls wird der
auszuführende Befehl an den Authentifizierungsbefehl
angehängt.