# Arch User Repository

Das AUR (Arch User Repository) ist ein Online-Repository für Anweisungen zum Erstellen von Paketen für den Paketmanager pacman (sogenannte PKGBUILDs). Es ist ein integraler Teil der Linux-Distribution Arch Linux. Es steht jedoch auch für andere Arch-basierte Distributionen wie Manjaro zur Verfügung.

## Geschichte

Das AUR entstand 2005. 2015 wechselte das AUR auf das Versionskontrollsystem git.

## Unterschiede zum offiziellen Repository

* Lizenzfragen: Software, die nicht explizit durch Dritte verteilt werden darf, kann im Arch-User-Repository aufgenommen werden. Dabei wird auf der Website des AUR lediglich ein Shellskript gehostet, das die aktuelle Version der Software herunterlädt und packt. Beispiel hierfür ist proprietäre Software wie Google Chrome.
* Veränderte offizielle Pakete: Das Arch-User-Repository enthält auch viele Variationen (z. B. Entwicklungs- oder Legacy-Versionen) von Paketen aus den offiziellen Repositories sowie git- und hg-Versionen von Software, die in den Repositories als stabile Versionen enthalten ist.
* Seltenheit der Software: Neue, besonders alte oder selten verwendete Programme, die zu den offiziellen Repositories (noch) nicht hinzugefügt oder aus diesen entfernt wurden. Nimmt sich ein sogenannter „Trusted User“ eines populären AUR-Paketes an, kann dieses in das offizielle community-Repository verschoben werden.

## Verwendung

Jeder registrierte Nutzer des AURs kann selbst PKGBUILDs hochladen. Danach ist er für die Pflege des Paketes zuständig, wie sie bei Software-Aktualisierungen nötig ist. Nur der ursprüngliche Autor kann seine PKGBUILDs aktualisieren.
PKGBUILDs können von jedem Anwender heruntergeladen und zum Erzeugen eines Pakets benutzt werden. Die PKGBUILDs werden im AUR als Tarball, der extrahiert werden muss sowie als git-Repository angeboten. Es gibt eine Reihe von Hilfsprogrammen (wie z. B. paru oder yay), die den Prozess des Herunterladens, Extrahierens und Erstellens des Pakets automatisieren sowie Pakete automatisch auf Aktualisierungen prüfen können.
Lange wurde yaourt als AUR-Helper empfohlen. Dieser wird jedoch nicht mehr gepflegt und sollte dementsprechend nicht mehr verwendet werden. Anfang 2019 wurde er aus dem AUR entfernt.
Manuell
Optional kann die Option -r dem makepkg-Befehl hinzugefügt werden, um nicht mehr benötigte Abhängigkeiten, welche zum Erstellen des Paketes installiert wurden, anschließend zu entfernen.
Automatisiert mit dem AUR-Helper yay

## PKGBUILD

PKGBUILDs sind Skripte, die ähnlich wie die älteren ebuilds von Portage, der Paketverwaltung von Gentoo Linux, aufgebaut sind. Im ersten Abschnitt befinden sich Metadaten über Paketname, URL des Quelltexts, Hashsumme der Quelldateien (hier im Beispiel MD5), zum Kompilieren/Entpacken benötigte Bibliotheken (Abhängigkeiten) und Lizenz/Dokumentation des Pakets. Die Abschnitte build und package enthalten Anweisungen zum Erstellen und Installieren der Pakete.
PKGBUILDs werden von dem Programm makepkg geparst und in Programmpakete (tar-Archiv) übersetzt. Diese sind für die Übertragung im Internet standardmäßig komprimiert. Für die rein lokale Verwendung kann die Kompression auch deaktiviert werden, um die Bauzeit zu verkürzen.