MAKEPKG-TEMPLATE(1) Pacman-Handbuch MAKEPKG-TEMPLATE(1)

makepkg-template - Dienstprogramm zum Erstellen von Vorlagen für den Paketbau

makepkg-template [Optionen]

makepkg-template ist ein Skript, das die Wartung mehrerer ähnlicher PKGBUILDs erleichtert. Es ermöglicht Ihnen das Verschieben des größten Teils des Codes aus dem PKGBUILD in eine Vorlagendatei und verwendet Markierungen, um die direkte Aktualisierung vorhandener PKGBUILDs zu ermöglichen, wenn sich die Vorlagendatei geändert hat.

Vorlagendateien können jeglichen Code enthalten, der in einem PKGBUILD erlaubt ist. Sie können sich diese als externe Dateien vorstellen, die mit ».« oder »source« eingebunden werden, so dass Sie sich nicht von der Vorlagendatei abhängen müssen, wenn Sie das Paket bauen.

Markierungen sind Bash-Kommentare der folgenden Form:

# template start; Schlüssel=Wert; Schlüssel2=Wert2; ...

und

# template end;

Gegenwärtig werden folgende Schlüssel verwendet: »name« (obligatorisch) und »version«. Für Vorlagennamen sind nur alphanumerische Zeichen erlaubt sowie »@«, »+«, ».«, »-« und »_«. Für Versionsnummern können nur Ziffern und ».« verwendet werden.

Für die erstmalige Erzeugung gibt es ein einzeiliges Kürzel, welches keine Endmarkierung erfordert:

# template input; Schlüssel=Wert;

Mit diesem Kürzel ersetzt makepkg-template es mit Start- und Endmarkierungen und den Vorlagencode bei der ersten Ausführung.

Vorlagendateien sollten in einem Verzeichnis gespeichert werden und Dateien sollten nach dem Schema »$Vorlagenname-$Version.template« benannt werden, mit einem Symlink »$Vorlagenname.template«, der auf die neueste Version der Vorlage verweist. Wenn die Version in der Markierung nicht gesetzt ist, verwendet makepkg-template automatisch das Ziel von »$Vorlagenname.template«, anderenfalls wird die angegebene Version verwendet. Dies ermöglicht die einfachere Verifizierung nicht als vertrauenswürdig eingestufter PKGBUILDs, falls die Vorlage vertrauenswürdig ist. Sie verifizieren den nicht zur Vorlage gehörenden Code und verwenden dann einen Befehl ähnlich dem folgenden:

diff -u <(makepkg-template -o -) PKGBUILD

Vorlagendateien können auch Markierungen enthalten, die auf eingebettete Vorlagen im resultierenden PKGBUILD verweisen. Wenn Sie Markierungen in einer Vorlage verwenden, setzen Sie die von Ihnen verwendete beziehungsweise getestete Version in die Start-/Eingabemarkierung, so dass sie von anderen sauber aus den Vorlagen erstellt werden kann.

-p, --input <Bauskript>
liest das Paket-Bauskript anstelle des vorgegebenen Skripts.

-o, --output <Bauskript>

schreibt die aktualisierte Datei in das Bauskript, anstatt die Eingabedatei zu überschreiben.

-n, --newest

verwendet immer die neueste verfügbare Vorlagendatei.

--template-dir <Verzeichnis>

wechselt bei der Suche nach Vorlagendateien das Verzeichnis. Diese Option kann mehrmals angegeben werden, wodurch die Dateien im zuletzt angegebenen Verzeichnis den Vorzug erhalten.

pkgname=perl-config-simple
pkgver=4.58
pkgrel=1
pkgdesc="simple configuration file class"
arch=('any')
license=('PerlArtistic' 'GPL')
depends=('perl')
source=("http://search.cpan.org/CPAN/authors/id/S/SH/SHERZODR/Config-Simple-${pkgver}.tar.gz")
md5sums=('f014aec54f0a1e2e880d317180fce502')
_distname="Config-Simple"
# template start; name=perl-module; version=1.0;
_distdir="${_distname}-${pkgver}"
url="https://metacpan.org/release/${_distname}"
options+=('!emptydirs')
build() {
        cd "$srcdir/$_distdir"
        perl Makefile.PL INSTALLDIRS=vendor
        make
}
check() {
        cd "$srcdir/$_distdir"
        make test
}
package() {
        cd "$srcdir/$_distdir"
        make DESTDIR="$pkgdir" install
}
# template end;

makepkg(8), PKGBUILD(5)

Auf der Pacman-Website unter https://archlinux.org/pacman/ finden Sie aktuelle Informationen zu Pacman und den zugehörigen Werkzeugen.

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 möglich in der Fehlerdatenbank von Archlinux im Bereich »Pacman«.

Derzeitige Betreuer:
•Allan McRae <allan@archlinux.org>
•Andrew Gregory <andrew.gregory.8@gmail.com>
•Eli Schwartz <eschwartz@archlinux.org>
•Morgan Adamiec <morganamilo@archlinux.org>

Bedeutende frühere Mitwirkende:

•Judd Vinet <jvinet@zeroflux.org>
•Aurelien Foret <aurelien@archlinux.org>
•Aaron Griffin <aaron@archlinux.org>
•Dan McGee <dan@archlinux.org>
•Xavier Chantry <shiningxc@gmail.com>
•Nagy Gabor <ngaba@bibl.u-szeged.hu>
•Dave Reisner <dreisner@archlinux.org>

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

Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> 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.

10. Juni 2021 Pacman 6.0.0