3

Complete Linux noobie that I am, I can't seem to get apt-get to install the latest version of font-forge.

Background: I'm running the Ubuntu subsystem in Windows 10 and even got GUI applications running using Xming Server. Yes, I could run a VM, but I felt like I'd just give it a try as a proof-of-concept. Anyway, I don't think it has to do with my real issue, I just thought I'd mention my setup just in case.

The Ubuntu version I'm running is 18.04.4 LTS (Bionic Beaver). I ran apt-get update and apt-get upgrade, everything is up-to-date.

So I followed the fontforge installation instructions for Ubuntu and ran the following commands:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fontforge/fontforge
sudo apt-get update
sudo apt-get install fontforge

This installed fontforge, and it does open and show up, but the issue is that it's an old version: 1:20170731~dfsg-1.

The command fontforge -v shows

...
 Based on sources from 11:21 UTC 24-Sep-2017-ML-D.
 Based on source from git with hash:
no xdefs_filename!
...
fontforge 11:21 UTC 24-Sep-2017
libfontforge 20170924

This page lists 20190413-27-g1acfefa-0ubuntu1~bionic as the latest version for Bionic, but it also states "(Newer version available)" next to it and links to this page, which seems to say that the version from the Ubuntu default repositories is treated as being newer than that from the fontforge repo. I'm confused as to why this is the case, and I would like to tell apt-get to install the other, more recent version.

I guess the safest path would be to compile from source, as the version in the fontforge repo seems quite some time behind, but I'd really prefer not having to do that.


as requested, the output of apt-cache policy fontforge:

apt-cache policy fontforge
fontforge:
  Installed: 1:20170731~dfsg-1
  Candidate: 1:20170731~dfsg-1
  Version table:
 *** 1:20170731~dfsg-1 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status
     20190413-27-g1acfefa-0ubuntu1~bionic 500
        500 http://ppa.launchpad.net/fontforge/fontforge/ubuntu bionic/main amd64 Packages
0

1 Answer 1

4

The 1: at the start of the version in the Ubuntu repositories (known as the epoch) causes apt to consider that version as newer than the version in the PPA. To install the latter, you need to ask apt to do so explicitly:

sudo apt install fontforge=20190413-27-g1acfefa-0ubuntu1~bionic

You’ll then need to put a hold on it, or add a pin priority on the PPA, to prevent apt from “upgrading” the package to the version in the Ubuntu repositories:

sudo apt-mark hold fontforge
4
  • The first command results in E: Release '20190413-27-g1acfefa-0ubuntu1~bionic' for 'fontforge' was not found for me Commented Jul 10, 2020 at 18:51
  • Never mind, must have had a typo or something. Now it's complaining about "unmet dependencies" that are not going to be installed. I'm trying to install those manually right now Commented Jul 10, 2020 at 18:53
  • That did the trick! I guess I'll need to use apt-mark on the dependencies as well? And how would I check for updates and update from the other repository in the future? Commented Jul 10, 2020 at 18:57
  • I don’t think you would need holds on the dependencies; once fontforge is installed, it will constrain them appropriately. Using a hold means you’ll have to check for upgrades manually; pin priorities would be better (but I can’t check the required configuration just now). Of course the best solution for everyone would be for the PPA to use an epoch too ;-). Commented Jul 10, 2020 at 19:00

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.