3f99d6715f
CI / verify (push) Successful in 51s
Files changed: - .wikitool-kb.json - kb/entities/technologies/Arch Linux.md - kb/entities/technologies/Disk Encryption.md - kb/entities/technologies/Wine-Staging.md - kb/entities/tools/AUR.md - kb/entities/tools/GPG.md - kb/entities/tools/Lutris.md - kb/entities/tools/NotebookLM.md - kb/entities/tools/Obsidian.md - kb/entities/tools/OpenAI Codex.md - kb/entities/tools/OpenCode.md - kb/entities/tools/Pi.md - kb/entities/tools/Proton.md - kb/entities/tools/Steam.md - kb/entities/tools/Wine.md - kb/entities/tools/gdeploy.md - kb/entities/tools/makepkg.md - kb/entities/tools/pascalandy schema.md - kb/log.md - work/link-taxonomy-migration/README.md - work/link-taxonomy-migration/glossary.md - work/link-taxonomy-migration/plan.md
4.0 KiB
4.0 KiB
type, entity_type, tags, created, modified, related, sources, confidence, confidence_base, provenance, summary
| type | entity_type | tags | created | modified | related | sources | confidence | confidence_base | provenance | summary | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| types/entity.md | tool |
|
2026-07-31 | 2026-08-29 |
|
|
0.95 | 0.95 | sourced | Build-Werkzeug von Arch Linux; wertet PKGBUILD-Dateien aus, um Quellcode zu übersetzen und installierbare Pakete zu erzeugen. |
makepkg
Typ: tool
Beschreibung
makepkg ist das Build-Tool, das von Arch Linux verwendet wird, um Software aus dem Quellcode zu kompilieren und zu paketieren. Es liest PKGBUILD-Dateien, lädt die Quelle herunter, erstellt die Software und erzeugt .pkg.tar.zst-Pakete, die mit pacman installiert werden können.
Kerndaten
- Zweck: Arch-Linux-Pakete aus PKGBUILD-Skripten erstellen
- Status: Aktiv (Core-Arch-Linux-Tool)
- Sprache: Bash
- Paket: Teil des
pacman-Pakets (base-develGruppe) - Dokumentation: https://man.archlinux.org/man/PKGBUILD.5
Features
- PKGBUILD-Analyse: Liest Build-Anweisungen aus PKGBUILD-Dateien
- Abhängigkeitsauflösung: Installiert automatisch Build-Abhängigkeiten
- Quellverifikation: Validiert Prüfsummen heruntergeladener Quellen
- Paketerstellung: Erzeugt installierbare
.pkg.tar.zst-Pakete - Signaturunterstützung: Kann Pakete mit GPG signieren
Verwendung in CI/CD
In Docker-basierten CI/CD-Umgebungen erfordert makepkg besondere Handhabung, da es traditionell Root-Privilegien benötigt:
FROM archlinux:base-devel
# base-devel includes: gcc, make, autoconf, automake, binutils, bison,
# fawk, flex, gawk, gettext, groff, libtool, m4, pacman, patch,
# pkgconf, sed, texinfo
Umgehung der Root-Einschränkung
Das Problem: makepkg benötigt Root für:
- Installation von Build-Abhängigkeiten
- Erstellung von Paketen
- Verwaltung der Paketdatenbank
Die Lösung:
- Einen nicht-Root-
builder-Benutzer erstellen - Passwortloses sudo gewähren:
echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers - Zu Builder wechseln:
su - builder -c "cd /workspace && makepkg"
Build-Workflow-Muster
jobs:
build-arch-package:
runs-on: linux-docker
container:
image: archlinux:base-devel
steps:
- name: Create builder user
run: |
useradd -m builder
echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
su - builder -c "cd /workspace && makepkg"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: arch-packages
path: /workspace/*.pkg.tar.zst
Häufige Befehle
# Build package in current directory
makepkg
# Verify source integrity
makepkg --verifysource
# Force rebuild (skip extraction and preparation)
makepkg --noextract --noprepare -f
# Generate .SRCINFO file
makepkg --printsrcinfo > .SRCINFO
# Install build dependencies
makepkg --syncdeps
Best Practices
- Immer Quellen verifizieren: Das Flag
--verifysourceverwenden --skipintegnie verwenden: Dies umgeht Integritätsprüfungen- .SRCINFO neu generieren: Immer
makepkg --printsrcinfo > .SRCINFOverwenden, nie manuell bearbeiten - Saubere Builds: Lokale Dateien vor dem Starten löschen (als abgelaufen betrachten)
- Zweistufiges Bauen:
- Schritt 1:
makepkg --verifysource -f- Quellintegrität überprüfen - Schritt 2:
makepkg --noextract --noprepare -f- Bauen mit vorgezogenem src/
- Schritt 1:
Beziehungen
- Teil von: Arch Linux Paketverwaltungs-Ökosystem
- Verwendet mit: AUR zum Erstellen von Community-Paketen
- Funktioniert mit: Aura AUR-Helfer Workflow CI/CD-Infrastruktur
- Signiert mit: GPG für Paketverifikation
Siehe auch
- Arch Linux
- AUR
- Aura
- GPG
- https://wiki.archlinux.org/title/makepkg
- https://man.archlinux.org/man/makepkg.8
Beziehungen
- part-of: Arch Linux
- see-also: AUR
- see-also: Aura
- uses: GPG