From 7fc6e9be5973967e02b4001e607a3c2ec062f885 Mon Sep 17 00:00:00 2001 From: Sanjay Santhanam <51058514+Sanjays2402@users.noreply.github.com> Date: Sat, 25 Jul 2026 07:12:56 -0700 Subject: [PATCH] fix(applications): add ghostscript to print service packages Selecting the print service installs cups, system-config-printer and cups-pk-helper, but not ghostscript. cups relies on ghostscript for the PDF/PostScript rendering filter, so driverless (IPP Everywhere) print jobs fail out of the box with: cfFilterGhostscript: Unable to launch Ghostscript: gs: No such file or directory Add ghostscript to the package list and cover it with a regression test. Closes #4595 --- archinstall/applications/print_service.py | 2 +- tests/test_applications.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 tests/test_applications.py diff --git a/archinstall/applications/print_service.py b/archinstall/applications/print_service.py index fbe28f89..6e4c21a4 100644 --- a/archinstall/applications/print_service.py +++ b/archinstall/applications/print_service.py @@ -9,7 +9,7 @@ if TYPE_CHECKING: class PrintServiceApp: @property def packages(self) -> list[str]: - return ['cups', 'system-config-printer', 'cups-pk-helper'] + return ['cups', 'system-config-printer', 'cups-pk-helper', 'ghostscript'] @property def services(self) -> list[str]: diff --git a/tests/test_applications.py b/tests/test_applications.py new file mode 100644 index 00000000..9ddb87ff --- /dev/null +++ b/tests/test_applications.py @@ -0,0 +1,7 @@ +from archinstall.applications.print_service import PrintServiceApp + + +def test_print_service_includes_ghostscript() -> None: + # cups only ships the PDF/PostScript rendering filter through ghostscript, + # so driverless (IPP Everywhere) printing fails without it. + assert 'ghostscript' in PrintServiceApp().packages