/saur

The Emporer of AUR scripts! Manage a local repository with easy - uses aurutils in the backend.

Primary LanguagePythonThe UnlicenseUnlicense

SAUR the Emperor of AUR local repository management!

SAUR (pronounced /zɑːr/) is a wrapper script around the excellent aurutils for managing a ArchLinux repository.

This script is based off a previous project of mine, see aur-pkg-scripts for further details.

Purpose

There are a lot of different AUR related scripts, however I didn't find any suitable for my purposes, which are:

  • relatively straightforward way to automate building/distributing of packages
  • support an automated way to patch PKGBUILDs (and other files in AUR repository) before building
  • support sharing packages over LAN (and even Internet)

I tend to make certain modifications to some of the packages on the AUR (different build options, changes to source code, etc.). Often I use these packages on more than one machine, the result being that I duplicate a lot of work for myself.

I was inspired by projects like aurto and tomato for this work, both of which are excellent solutions for local AUR package management.

I make extensive use of AladW's aurutils project here.

This is a work-in-progress, and will only be updated when/if I have the time/need.

Todo

  • documentation
  • add automatic way to remove package (currently it must all be done manually)
  • add SystemD Timers/Cronie job specs

Setup

This script depends on makepkg and aurutils.

It is a good idea to have a dedicated build user with limited superuser rights (via sudo). Here we refer to the user as {BUILDUSER}.

Create the repo database first:

sudo install -o {BUILDUSER} -d /var/cache/pacman/{REPO}/
sudo -u {BUILDUSER} repo-add /var/cache/pacman/{REPO}/{REPO}.db.tar

Interesting, hmmm