MAKEPKG.CONF(5) Pacman-Handbuch MAKEPKG.CONF(5) BEZEICHNUNG makepkg.conf - Konfigurationsdatei fur makepkg UBERSICHT /etc/makepkg.conf, $XDG_CONFIG_HOME/pacman/makepkg.conf, ~/.makepkg.conf BESCHREIBUNG Konfigurationsoptionen fur Makepkg werden in makepkg.conf gespeichert. Diese Datei wird eingelesen, so dass Sie alle gewunschten besonderen Compiler-Flags einbeziehen konnen. Dies ist beim Paketbau fur verschiedene Architekturen oder mit unterschiedlichen Optimierungen hilfreich. Jedoch werden nur die nachfolgend beschriebenen Variablen in die Bauumgebung exportiert. Hinweis Dies garantiert nicht, dass alle Paket-Makefiles Ihre exportierten Variablen nutzen. Einige von ihnen sind nicht standardisiert. Die systemweite Konfigurationsdatei finden Sie in /etc/makepkg.conf. Individuelle Optionen konnen benutzerbasiert in $XDG_CONFIG_HOME/pacman/makepkg.conf oder ~/.makepkg.conf ausser Kraft gesetzt (oder hinzugefugt) werden, wobei der erste Ort Prioritat hat. Die Standarddatei ist recht gut dokumentiert, so dass es einfach sein durfte, anhand der dortigen Anweisungen Anpassungen vorzunehmen. OPTIONEN 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. Fur jeden Befehl konnen auch Optionen angegeben werden, und fur jedes Protokoll kann es einen Download-Agenten geben. Jegliche Leerraume in den Optionsargumenten mussen 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<< hinzugefugt, wodurch Makepkg ermoglicht wird, unterbrochene Downloads wiederaufzunehmen. VCSCLIENTS=('Protokoll::Paket' ) gibt die Pakete an, die zum Holen der Quelldateien aus Versionsverwaltungssystemen erforderlich sind. Wenn solche notig sind, uberpruft Makepkg, ob diese installiert oder in den >>depends<<- oder >>makedepends<<-Feldern im PKGBUILD aufgelistet sind. CARCH="Architektur" gibt Ihre Computerarchitektur an. Zulassige 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. Verandern Sie dies nicht, es sei denn, Sie wissen, was Sie tun. In den meisten Fallen konnen Sie es auskommentieren, falls gewunscht. CPPFLAGS="CPP-Flags" gibt die fur den C-Praprozessor verwendeten Flags an; siehe CFLAGS fur weitere Informationen. CFLAGS="C-Flags" gibt die fur den C-Compiler verwendeten Flags an. Dies ist ein grundlegender Teil der Verwendung von Makepkg. Ublicherweise werden verschiedene Optionen angegeben, wobei die haufigste Zeichenkette etwa so aussieht: >>-march=i686 -O2 -pipe<<. Eine weitere nutzliche Option kann -mcpu anstelle von -march sein. Lesen Sie gcc(1) fur weitere Details zur Vielzahl der verfugbaren Compiler-Flags. CXXFLAGS="CXX-Flags" gibt die fur den C++-Compiler verwendeten Flags an; siehe CFLAGS fur weitere Informationen. RUSTFLAGS="Rust-Flags" gibt die fur den Rust-Compiler verwendeten Flags an, ahnlich zu CFLAGS. In rustc(1) finden Sie weitere Details zu den verfugbaren Flags. LDFLAGS="LD-Flags" gibt die fur den Linker verwendeten Flags an. Verschiedene Optionen konnen angegeben werden, wobei die haufigste Zeichenkette etwa so aussieht: >>-Wl,--hash-style=gnu<<. Lesen Sie ld(1) fur weitere Details zu den verfugbaren Linker-Flags. LTOFLAGS="LTO-Flags" gibt zusatzliche Compiler- und Linker-Flags an, die an CFLAGS, CXXFLAGS und LDFLAGS angehangt 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 konnen ebenfalls angegeben werden. DEBUG_CFLAGS="debug_cflags" gibt zusatzliche Compiler-Flags an, die an CFLAGS fur Debugging-Zwecke angehangt werden. Ublicherweise wurde dies Folgendes beinhalten: >>-g<<. Lesen Sie gcc(1) fur weitere Details zu den zahlreichen verfugbaren Compiler-Flags. DEBUG_CXXFLAGS="debug_cxxflags" gibt fur den C++-Compiler verwendete Debug-Flags an; siehe DEBUG_CFLAGS fur weitere Informationen. DEBUG_RUSTFLAGS="debug_rustflags" gibt zusatzliche Compiler-Flags an, die an RUSTFLAGS fur Debugging-Zwecke angehangt werden. Ublicherweise wurde dies Folgendes beinhalten: "-C debuginfo=2". Lesen Sie rustc(1) fur weitere Details zu den verfugbaren Flags. BUILDENV=(!distcc !color !ccache check !sign) enthalt 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, fugen 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 uber mehrere Maschinen zu verteilen. Falls dies aktiviert ist, muss DISTCC_HOSTS ebenfalls angegeben werden. color farbt die Meldungen ein, wodurch die Ausgabe besser lesbar wird. ccache verwendet Ccache bei der Cache-Kompilierung standardmassig. Dadurch wird eine schnellere Kompilierung moglich, wenn Sie wiederholt die gleichen Pakete kompilieren. Dies kann fur einzelne Pakete deaktiviert werden, indem Sie >>!ccache<< in das >>options<<-Feld im PKGBUILD setzen. check fuhrt die check()-Funktion aus, sofern diese im PKGBUILD vorhanden ist. Dies kann fur 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 ausgefuhrt, um eine zugehorige Signaturdatei mit dem GPG-Agent zu erzeugen, sofern dieser verfugbar ist. Die Signaturdatei erhalt den vollstandigen Namen des Pakets mit der Erweiterung >>.sig<<. DISTCC_HOSTS="Rechner1 " Wenn Sie DistCC verwenden, konnen Sie hiermit eine durch Leerzeichen getrennte Liste von Rechnern angeben, die im DistCC-Cluster laufen. Zusatzlich werden Sie Ihre MAKEFLAGS anpassen mussen. BUILDDIR="/Pfad/zum/Verzeichnis" Wenn dieser Wert nicht gesetzt ist, werden Pakete standardmassig in den Unterverzeichnissen jenes Verzeichnisses gebaut, aus dem Makepkg aufgerufen wird. Diese Option ermoglicht es, das Bauverzeichnis in ein anderes Verzeichnis zu verlegen. Durch inkorrektes Setzen von $startdir in einem PKGBUILD konnte der Bauvorgang mit dieser Option fehlschlagen. GPGKEY="" gibt einen Schlussel an, der anstelle des Vorgabeschlussels im Schlusselbund zur GPG-Signierung verwendet werden soll. Dieser kann mit der Makepkg-Option --key ausser Kraft gesetzt werden. OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug) Dieses Feld enthalt Optionen, welche die Paketierungsvorgaben beeinflussen. Sie sind aquivalent zu Optionen, die in einem PKGBUILD enthalten sein konnen; die Vorgaben werden hier angezeigt. Alle Optionen sollten stets in diesem Feld verbleiben und konnen bei Bedarf durch Hinzufugen oder Entfernen eines Ausrufezeichens vor der Option deaktiviert oder aktiviert werden. Wenn eine Option mehrfach angegeben wird, erhalt der zuletzt angegebene Wert Vorrang. Jede Option funktioniert folgendermassen: strip Entfernt Symbole aus Programmen und Bibliotheken. Wenn Sie haufig einen Debugger bei Programmen oder Bibliotheken verwenden, kann es hilfreich sein, diese Option zu deaktivieren. docs speichert die Dokumentationsverzeichnisse. Wenn Sie die Dokumentationsverzeichnisse loschen wollen, geben Sie >>!docs<< im Feld an. Die betroffenen Verzeichnisse werden durch die Variable DOC_DIRS bezeichnet. libtool Belasst Libtool-Dateien (.la) in Paketen. Geben Sie !libtool an, um diese zu entfernen. staticlibs belasst statische Bibliotheksdateien (.a) in Paketen Geben Sie !staticlibs an, um diese zu entfernen (sofern es ein dynamisch gelinktes Gegenstuck gibt). emptydirs belasst 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 fugt 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 enthalt. lto aktiviert den Paketbau mittels Linkzeit-Optimierung. Fugt die in LTOFLAGS angegebenen Flags zu CFLAGS, CXXFLAGS und CXXFLAGS hinzu (oder -flto, falls LTOFLAGS leer ist). INTEGRITY_CHECK=(Uberprufung1 ) gibt die auszufuhrenden Prufungen zur Dateiintegritat an. Es konnen mehrere Prufungen angegeben werden, die sowohl die Erzeugung als auch die Prufung beeinflussen. Gegenwartig sind folgende Optionen verwendbar: ck, md5, sha1, sha224, sha256, sha384, sha512 und b2. STRIP_BINARIES="--strip-all" gibt die beim Strippen von binaren Programmen zu verwendenden Optionen an. Siehe strip(1) fur Details. STRIP_SHARED="--strip-unneeded" gibt die beim Strippen von gemeinsam genutzten Bibliotheken oder ausfuhrbaren Programmen im PIE-Format zu verwendenden Optionen an. Siehe strip(1) fur Details. STRIP_STATIC="--strip-debug" gibt die beim Strippen von statischen Bibliotheken zu verwendenden Optionen an. Siehe strip(1) fur Details. MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info} ...) Wenn >>zipman<< im OPTIONS-Feld angegeben ist, weist diese Variable Makepkg an, wo nach komprimierten Handbuchern (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 hinzufugen mussen. HINWEIS: Fugen Sie zum Verzeichnisnamen keinen fuhrenden Schragstrich 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 hinzufugen mussen. HINWEIS: Fugen Sie zum Verzeichnisnamen keinen fuhrenden Schragstrich hinzu. 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 fur Indexdateien nutzlich, die von mehreren Paketen hinzugefugt werden. DBGSRCDIR="/usr/src/debug" Wenn >>strip<< und >>debug<< im OPTIONS-Feld angegeben sind, weist diese Variable Makepkg an, wo Quelldateien fur installierte Programme platziert werden sollen. Die Programme werden in einer Weise modifiziert, dass sie fur den Suchpfad des Debuggers auf dieses Verzeichnis verweisen. PKGDEST="/Pfad/zum/Verzeichnis" Wenn dieser Wert nicht gesetzt ist, dann werden Pakete standardmassig im aktuellen Verzeichnis gespeichert (Ort des PKGBUILD(5)). Jedoch finden es viele Leute praktisch, alle Pakete an einer Stelle zu speichern. Hier konnen Sie den Pfad zu dieser Stelle festlegen. Eine haufig 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 Aufraumen zu vereinfachen. Hier konnen 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 Aufraumen zu vereinfachen. Hier konnen 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 Aufraumen und Kompression erleichtert. PACKAGER="John Doe " Dieser Wert wird verwendet, wenn eine Paketabfrage den Paketbauer ermitteln soll. Das angegebene Format ist fur die PGP-Schlusselsuche mittels WKD erforderlich. Es wird empfohlen, dies auf Ihren Namen und Ihre E-Mail-Adresse zu andern. 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 fur 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. Zulassige Endungen sind .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 ganzlich zu deaktivieren. PACMAN_AUTH=() gibt ein Befehlsprafix bei der Ausfuhrung von Pacman mit Root-Rechten an. Falls nicht gesetzt, pruft Makepkg zunachst, ob sudo(8) verfugbar ist, dann su(1), und versucht das, was zuerst gefunden wird. Falls vorhanden, wird %c durch die Shell-maskierte Form des auszufuhrenden Befehls ersetzt. Anderenfalls wird der auszufuhrende Befehl an den Authentifizierungsbefehl angehangt. SIEHE AUCH makepkg(8), pacman(8), PKGBUILD(5) Auf der Pacman-Website finden Sie aktuelle Informationen zu Pacman und den zugehorigen Werkzeugen. FEHLER Fehler? Sie machen wohl Witze, es gibt keine Fehler in dieser Software. Nun ja, sollte unsere Annahme doch falsch sein, senden Sie uns einen Fehlerbericht (auf Englisch) mit so vielen Details wie moglich in der Fehlerdatenbank von Archlinux im Bereich >>Pacman<<. AUTOREN Derzeitige Betreuer: o Allan McRae o Andrew Gregory o Eli Schwartz o Morgan Adamiec Bedeutende fruhere Mitwirkende: o Judd Vinet o Aurelien Foret o Aaron Griffin o Dan McGee o Xavier Chantry o Nagy Gabor o Dave Reisner Informationen zu weiteren Mitwirkenden erhalten Sie, wenn Sie den Befehl git shortlog -s im Git-Repositorium pacman.git aufrufen. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Pacman 6.0.2 6. Februar 2024 MAKEPKG.CONF(5)