From time to time a routine upgrade on Arch Linux ends up causing me a bit of grief. Fortunately, I do like a bit of chaos from time to time and the opportunity to solve problems is why I got into software engineering to begin with.
This particular issue was a new one for me, running my usual
yay -Syu upgrade
ran smoothly through the official packages, but borked when upgrading the
packages from the Arch User Repository (AUR), specifically the
I tend to not run any packages with the
-git suffix, because I do prefer to
run official releases if possible. Honestly, I’m not even sure why I had this
package installed other than it was something I had added while trying to figure
out how to get emoji support across all of my applications.
It’s the little things, folks.
So this package, it was stubborn. I couldn’t upgrade it, even with a clean build, which usually solves a lot of my upgrade issues. The errors included referenced some other packages:
error: failed to commit transaction (conflicting files) ttf-sil-padauk: /usr/share/fonts/TTF/Padauk-Bold.ttf exists in filesystem (owned by ttf-google-fonts-opinionated-git) ttf-sil-padauk: /usr/share/fonts/TTF/Padauk-Regular.ttf exists in filesystem (owned by ttf-google-fonts-opinionated-git) Errors occurred, no packages were upgraded.
I tracked down some packages that seemed related to the “Padauk” font and tried to install / remove / re-install that to no avail.
The real kicker was that I couldn’t even remove the
ttf-google-fonts-opinionated-git without getting a whole new error related to
yet another package:
checking dependencies... error: failed to prepare transaction (could not satisfy dependencies) :: removing ttf-google-fonts-opinionated-git breaks dependency 'adobe-source-code-pro-fonts' required by gsettings-desktop-schemas
gsettings- anything seemed important, so I didn’t want to try removing
that to see if that would resolve things.
Fortunately, that particular error referenced a package that I didn’t have
adobe-source-code-pro-fonts, so I thought, “let’s try installing
that and see what happens!”
And install it, I did, which prompted me to remove
ttf-google-fonts-opinionated-git. Here’s to hoping:
% yay -S adobe-source-code-pro-fonts resolving dependencies... looking for conflicting packages... :: adobe-source-code-pro-fonts and ttf-google-fonts-opinionated-git are in conflict. Remove ttf-google-fonts-opinionated-git? [y/N]
Sure enough, that actually worked and as it turned out, it seems the
ttf-google-fonts-opinionated-git package had been deprecated in favor of
yay -S ttf-google-fonts-git
With the offending package removed, I proceeded to install this new package,
which actually prompted me to pick between
ttf-google-fonts-opinionated-git. I opted for the former, since the latter had
given me such grief.
This also prompted me to pick between
ttf-google-fonts-typewolf. Even though
typewolf sounds totally bad ass, I
opted for the first choice here as well.
Nearly smooth sailing at this point, after things were downloaded, I was prompted about yet another package conflict:
==> Found git repo: github.com/google/fonts.git loading packages... resolving dependencies... looking for conflicting packages... :: ttf-google-fonts-git and adobe-source-code-pro-fonts are in conflict. Remove adobe-source-code-pro-fonts? [y/N]
Which made total sense, since I had installed the
package as a way to coerce the opinionated Google fonts into removing itself.
I opted to remove it and was back in business once again!