A real world example of editing Arch Linux AUR PKGBUILDs
2020-06-21
I recently installed Interlink from the AUR. I’ll be writing about the choice of email client in a future post, but this post is about how I dealt with the broken AUR package for Interlink and how you can deal with broken AUR packages in general.
The Problem
First I tried just a simple yay -S interlink-bin
, but that gave me
this:
curl: (22) The requested URL returned error: 404 Not Found
==> ERROR: Failure while downloading http://repository.binaryoutcast.com/projects/interlink/releases/latest/interlink-52.9.7433.linux-x86_64-gtk3.tar.xz
Ok, so it tried to download a file that doesn’t exist. It gives us the path to the file, so I went to the file’s parent folder to see if I could figure out what the problem was. It appears that the developer has released version 52.9.7463, and removed 52.9.7433, the one we were looking for! I flagged the package as “Out of Date” on the AUR page.
The Solution
I use yay as an AUR helper. It has an option called --editmenu
,
which gives you the option to edit the PKGBUILD before installing.
Let’s try it:
yay -S interlink-bin --editmenu
pkgver=52.9.7433
source_x86_64=("http://repository.binaryoutcast.com/projects/interlink/releases/latest/interlink-$pkgver.linux-x86_64-gtk3.tar.xz")
OK, so we just have to fix the pkgver
and it’ll grab the right file!
==> Validating source_x86_64 files with sha256sums...
interlink-52.9.7463.linux-x86_64-gtk3.tar.xz ... FAILED
==> ERROR: One or more files did not pass the validity check!
Oh. OK, how about we just delete the sha256sums
and
sha256sums_x86_64
checksums from the file. That way, it can’t fail
because there’s nothing to check, right?
==> ERROR: Integrity checks are missing for: source_x86_64 source
Oh. So, is there a way to tell it to skip integrity checks on the downloaded file? Turns out, there is.1
sha256sums=('SKIP')
sha256sums_x86_64=('SKIP')
And with that, the package installs!