Paru Local Repo & Chroot
Enable LocalRepo and Chroot options for paru, an AUR helper written in Rust.
Why#
I’ve been using paru for a long time.
It has the second most stars out of AUR helpers hosted on GitHub.
I chose to use paru just because it’s written in Rust. And it’s widely used.
Because there might be some unsolvable conflicts without a chroot when building an AUR package.
I need to enable chroot support for paru.
It is the default behavior for aurutils, another AUR helper.
I’ve been using aurutils for a bit.
However, it was a bit tedious to use and got a much smaller user base.
A smaller community usually means lesser support. So I went back to paru.
URLs:
- AUR helpers host on GitHub: https://github.com/topics/aur-helper
- paru: https://github.com/Morganamilo/paru
- aurutils: https://github.com/AladW/aurutils
Setup#
Prepare local repo#
| |
Config paru#
Example paru config. Create ~/.config/paru/paru.conf.
| |
Config pacman#
Add the following lines to /etc/pacman.conf.
pacman.conf | |
Import GPG keys#
Upload your GPG key to Ubuntu keyserver.
| |
There are several well-known keyservers. Arch Linux seems to default to keyserver.ubuntu.com. You can use another keyserver. However, you need to manually specify the keyserver when receiving the key then.
Receive your key from the keyserver and locally sign it.
| |
Because my GPG key is self-signed. I have to locally sign my key to trust it.
Usage#
Install some packages and roll#
Setup done. It’s time to install some packages.
| |
If a package is already existing in the local repo.
You need to use -a flag to tell paru to rebuild it specifically.
Or else, paru will just install the cached package in the local repo.
| |
Update#
To update your system. Just invoke paru -Syu as usual.
Or even just paru for short.
Remove packages#
Remove packages from the system as usual.
| |
If you want to delete a package from the local AUR repo.
| |
Check the man page for more available options to manage the local AUR repo. The following command will jump directly to the REPOCTL section.
| |
Caveats#
Update -git packages#
paru can track -git packages if it is installed by paru itself.
However, it seems that the feature is not viable with localrepo and chroot options.
However, it might stop tracking after enabling local repo.
To work around this.
Currently, I just run the following command to rebuild and install all
First, update all git packages manually.-git packages at once.
If it’s not going to be fixed, I might switch to aurutils sometime in the future.
| |
Then, update paru devel tracking database.
| |
To update -git packages later on, add a --devel option.
| |