add ability to use ahriman pacman database instead of system one (#71)

By default this feature is enabled. On the first run it will copy (if
exists) databases from filesystem to local cache (one per each
architecture). Later it will use this cache for all alpm operations. In
order to update this cache, some commands (mainly package building)
provide `-y`/`--refresh` option which has same semantics as pacman -Sy
does.

Note however that due to extending `Pacman` class some methods were
renamed in order to be more descriptive:
* `Pacman.all_packages` -> `Pacman.packages`
* `Pacman.get` -> `Pacman.package_get`

This commit also adds multilib repository to the default docker image
which was missed.
This commit is contained in:
2022-11-08 17:26:51 +03:00
committed by GitHub
parent 45fb2f3c46
commit 82b932371b
25 changed files with 402 additions and 63 deletions

View File

@ -2,6 +2,6 @@
Description=ArcH linux ReposItory MANager (%I architecture)
[Service]
ExecStart=/usr/bin/ahriman --architecture %i update
ExecStart=/usr/bin/ahriman --architecture %i repo-update --refresh
User=ahriman
Group=ahriman

View File

@ -5,8 +5,10 @@ database = /var/lib/ahriman/ahriman.db
[alpm]
database = /var/lib/pacman
mirror = https://geo.mirror.pkgbuild.com/$repo/os/$arch
repositories = core extra community multilib
root = /
use_ahriman_cache = yes
[auth]
target = disabled