aurutils

Aurutils is an AUR helper.

aurutils is a collection of scripts to automate usage of the Arch User Repository, with different tasks such as package searching, update checks, or computing dependencies kept separate.

The chosen approach for managing packages is local pacman repositories, rather than foreign (installed by "pacman -U") packages.

Install

Install from aur package.

Add developer key.

$ gpg --recv-key 6BC26A17B9B7018A && gpg --lsign 6BC26A17B9B7018A

Optional dependencies:

  • aria2 (aria2-fast, aria2-git) (optional) – threaded downloads

  • devtools (devtools-git, devtools32-git) (optional) – systemd-nspawn support

  • expac (expac-git) (optional) – aursift script

  • parallel (parallel-rust) (optional) – threaded downloads

  • repose (repose-git) (optional) – repo-add alternative

  • vifm (vifm-git) (optional) – build file interaction

I started with aurutils devtools parallel vifm.

Setup

Create a local repository config. Adapted from man page

[root]# nano /etc/pacman.d/custom
[options]
CacheDir = /var/cache/pacman/pkg
CacheDir = /var/cache/pacman/custom
CleanMethod = KeepCurrent

[custom]
SigLevel = Optional TrustAll
Server = file:///var/cache/pacman/custom

Add config to the end of /etc/pacman.conf.

[root]# nano /etc/pacman.conf
Include = /etc/pacman.d/custom

Create repository root and database:

$ sudo install -d /var/cache/pacman/custom -o $USER
$ repo-add /var/cache/pacman/custom/custom.db.tar

Sync repo.

[root]# pacman -Syu

Build in chroot

It's possible to build in a clean chroot (actually using systemd-nspawn container) with makechrootpkg.

To install a package to the container use pacman --root=/var/lib/aurbuild/x86_64/root -S zfs-linux.

Setup Container

I set up a aurbuild root to be zfs dataset (optional). Could also use btrfs.

[root]# zfs create <system root>/var/lib/aurbuild -o mountpoint=legacy
[root]# mkdir /var/lib/aurbuild
[root]# mount -t zfs <system root>/var/lib/aurbuild /var/lib/aurbuild

Add to fstab.

Usage

To get a list of all current existing AUR packages so that they can be migrated to aurutils, run pacman -Qmq.

Attempt a build in a clean chroot of google-chrome.

aursync -c google-chrome

Now it can be installed with pacman -S google-chrome.

Last updated