MAKEPKG-TEMPLATE(1)

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

ÜBERSICHT

makepkg-template [Optionen]

BESCHREIBUNG

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« (zwingend erforderlich) 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.

OPTIONEN

-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.

BEISPIEL FÜR PKGBUILD

    pkgname=perl-config-simple
    pkgver=4.58
    pkgrel=1
    pkgdesc="Einfache Konfigurationsdateiklasse"
    arch=('any')
    license=('PerlArtistic' 'GPL')
    depends=('perl')
    source=("http://search.cpan.org/CPAN/authors/id/S/SH/SHERZODR/Config-Simple-${pkgver}.tar.gz")
    sha256sums=('dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4')
    _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;

SIEHE AUCH

makepkg(8), PKGBUILD(5)

Auf der Pacman-Website (https://archlinux.org/pacman/) 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 (allan@archlinux.org)

    • Andrew Gregory (andrew.gregory.8@gmail.com)

    • 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 Gábor (ngaba@bibl.u-szeged.hu)

    • Dave Reisner (dreisner@archlinux.org)

    • Eli Schwartz (eschwartz@archlinux.org)

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> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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.