Files
chemenu/kb/entities/tools/makepkg.md
T
torben b137359b90 feat: Link-Taxonomie u1 - kb/entities/systems, tools, technologies gelabelt
Files changed:
- kb/concepts/Denylist over Allowlist.md
- kb/concepts/LLM Wiki Pattern.md
- kb/concepts/SSD TRIM.md
- kb/entities/people/E3DC GmbH.md
- kb/entities/people/Vannevar Bush.md
- kb/entities/projects/ha-core.md
- kb/entities/projects/hacs-integration-blueprint.md
- kb/entities/systems/AGENTS.md.md
- kb/entities/systems/CLAUDE.md.md
- kb/entities/systems/E3DC.md
- kb/entities/systems/ENVIRONMENT.md.md
- kb/entities/systems/Memex.md
- kb/entities/systems/Tolkien Gateway.md
- kb/entities/technologies/Arch Linux.md
- kb/entities/technologies/Disk Encryption.md
- kb/entities/technologies/Docker.md
- kb/entities/technologies/Gitea Actions.md
- kb/entities/technologies/Gitea.md
- kb/entities/technologies/Go.md
- kb/entities/technologies/Home Assistant.md
- kb/entities/technologies/Kernel PM Governors.md
- kb/entities/technologies/LVM.md
- kb/entities/technologies/Linux Kernel.md
- kb/entities/technologies/MQTT.md
- kb/entities/technologies/OPC UA.md
- kb/entities/technologies/Python.md
- kb/entities/technologies/Rust.md
- kb/entities/technologies/Wine GE.md
- kb/entities/technologies/Wine-Staging.md
- kb/entities/technologies/acpi-cpufreq.md
- kb/entities/technologies/amd-pstate.md
- kb/entities/technologies/iii Engine.md
- kb/entities/tools/AUR.md
- kb/entities/tools/Act Runner.md
- kb/entities/tools/Agent Memory.md
- kb/entities/tools/Aura.md
- kb/entities/tools/Bottles.md
- kb/entities/tools/ChatGPT.md
- kb/entities/tools/Claude Code.md
- kb/entities/tools/Codex CLI.md
- kb/entities/tools/Dataview.md
- kb/entities/tools/GPG.md
- kb/entities/tools/GitHub Copilot.md
- kb/entities/tools/Gitea MCP Server.md
- kb/entities/tools/Lutris.md
- kb/entities/tools/Marp.md
- kb/entities/tools/Mistral Vibe.md
- kb/entities/tools/NotebookLM.md
- kb/entities/tools/Obsidian Web Clipper.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/Wine.md
- kb/entities/tools/awesome-llm-wiki.md
- kb/entities/tools/farzaa gist.md
- kb/entities/tools/gdeploy.md
- kb/entities/tools/makepkg.md
- kb/entities/tools/pascalandy schema.md
- kb/entities/tools/qmd.md
- kb/entities/tools/wikitool.md
- kb/log.md
- work/link-taxonomy-migration/glossary.md
2026-09-02 19:36:04 +02:00

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
arch-linux
build-tool
packaging
aur
2026-07-31 2026-08-29
part-of
Arch Linux
AUR
Aura
uses
GPG
Source - Arch Linux Cheat Sheet
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-devel Gruppe)
  • 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:

  1. Einen nicht-Root-builder-Benutzer erstellen
  2. Passwortloses sudo gewähren: echo "builder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
  3. 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

  1. Immer Quellen verifizieren: Das Flag --verifysource verwenden
  2. --skipinteg nie verwenden: Dies umgeht Integritätsprüfungen
  3. .SRCINFO neu generieren: Immer makepkg --printsrcinfo > .SRCINFO verwenden, nie manuell bearbeiten
  4. Saubere Builds: Lokale Dateien vor dem Starten löschen (als abgelaufen betrachten)
  5. Zweistufiges Bauen:
    • Schritt 1: makepkg --verifysource -f - Quellintegrität überprüfen
    • Schritt 2: makepkg --noextract --noprepare -f - Bauen mit vorgezogenem src/

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

Beziehungen