fix: check the fonts by the files LibreOffice opens, not by fc-list

The validator asked fc-list whether Liberation Sans, Carlito and Caladea
were installed. fc-list belongs to the fontconfig package, which nothing
in this classroom pulls in, so the check could only ever fail — and it
did, twenty-odd minutes into a release run, for a reason that had
nothing to do with the fonts. They were all present the whole time.

Asserted by path now, which is what LibreOffice actually looks for.

Also depends on fonts-liberation rather than fonts-liberation2. The
latter is a transitional package in Trixie that exists only to depend on
the former, and a release should not name a package whose whole purpose
is to go away.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
ekklesia
2026-09-22 20:47:57 -05:00
co-authored by Claude Opus 5
parent 9c864a1e44
commit 32ee0b544a
2 changed files with 13 additions and 5 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ Section: misc
Priority: optional Priority: optional
Architecture: amd64 Architecture: amd64
Maintainer: Ekklesia Maintainer: Ekklesia
Depends: pkexec, polkit-kde-agent-1, plasma-desktop, plasma-workspace, kwin-wayland, plasma-nm, plasma-pa, plasma-widgets-addons, konsole, sddm, dbus-user-session, xwayland, fonts-dejavu, fonts-noto, network-manager, pipewire, pipewire-audio, wireplumber, pulseaudio-utils, cups, cups-client, cups-filters, foomatic-db-compressed-ppds, python3-gi, python3-gi-cairo, gir1.2-gtk-3.0, gir1.2-gtklayershell-0.1, libnotify-bin, curl, gnupg, ca-certificates, python3-paho-mqtt, python3-pyqt6.qtwebengine, python3-pyqt6, libreoffice-impress, libreoffice-core, poppler-utils, fonts-liberation2, fonts-liberation-sans-narrow, fonts-croscore, fonts-crosextra-carlito, fonts-crosextra-caladea, fonts-urw-base35, fonts-roboto, fonts-open-sans, fonts-lato, fonts-montserrat, fonts-noto-extra Depends: pkexec, polkit-kde-agent-1, plasma-desktop, plasma-workspace, kwin-wayland, plasma-nm, plasma-pa, plasma-widgets-addons, konsole, sddm, dbus-user-session, xwayland, fonts-dejavu, fonts-noto, network-manager, pipewire, pipewire-audio, wireplumber, pulseaudio-utils, cups, cups-client, cups-filters, foomatic-db-compressed-ppds, python3-gi, python3-gi-cairo, gir1.2-gtk-3.0, gir1.2-gtklayershell-0.1, libnotify-bin, curl, gnupg, ca-certificates, python3-paho-mqtt, python3-pyqt6.qtwebengine, python3-pyqt6, libreoffice-impress, libreoffice-core, poppler-utils, fonts-liberation, fonts-liberation-sans-narrow, fonts-croscore, fonts-crosextra-carlito, fonts-crosextra-caladea, fonts-urw-base35, fonts-roboto, fonts-open-sans, fonts-lato, fonts-montserrat, fonts-noto-extra
Recommends: vlc Recommends: vlc
Conflicts: plasma-welcome, plasma-discover, kdeconnect, kup-backup Conflicts: plasma-welcome, plasma-discover, kdeconnect, kup-backup
Description: Ekklesia managed classroom environment Description: Ekklesia managed classroom environment
+12 -4
View File
@@ -274,10 +274,18 @@ text = library.first_text("/tmp/deck/slides.pdf", pages=2)
assert "Session 7" in text, f"text did not survive the conversion: {text!r}" assert "Session 7" in text, f"text did not survive the conversion: {text!r}"
CONVERT_CHECK CONVERT_CHECK
# The fonts a Google Slides export asks for, by their real names. # The fonts a Google Slides export asks for, as files on disk.
fc-list 2>/dev/null | grep -qi 'Liberation Sans' #
fc-list 2>/dev/null | grep -qi 'Carlito' # Asserted by path rather than through fc-list: fc-list belongs to the
fc-list 2>/dev/null | grep -qi 'Caladea' # fontconfig package, which nothing here pulls in, so the check passed
# vacuously until it didn't and then failed for a reason that had nothing
# to do with the fonts. What LibreOffice actually needs is the file.
[[ -f /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf ]]
[[ -f /usr/share/fonts/truetype/liberation/LiberationSerif-Regular.ttf ]]
[[ -f /usr/share/fonts/truetype/liberation/LiberationSansNarrow-Regular.ttf ]]
[[ -f /usr/share/fonts/truetype/crosextra/Carlito-Regular.ttf ]]
[[ -f /usr/share/fonts/truetype/crosextra/Caladea-Regular.ttf ]]
[[ -f /usr/share/fonts/truetype/croscore/Arimo-Regular.ttf ]]
# And the one that must NOT be here, because it prompts for a licence. # And the one that must NOT be here, because it prompts for a licence.
! dpkg -l ttf-mscorefonts-installer 2>/dev/null | grep -q '^ii' ! dpkg -l ttf-mscorefonts-installer 2>/dev/null | grep -q '^ii'