joshtronic

in Linux #Arch Linux #Google

Unable to upgrade ttf-google-fonts-opinionated-git on Arch Linux

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 ttf-google-fonts-opinionated-git package.

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

Ugh. 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 installed, 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 ttf-google-fonts-git.

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-git and 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-merriweather and 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 adobe-source-code-pro-fonts 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!