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 1/2] 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 fbe28f89d3..6e4c21a4a6 100644 --- a/archinstall/applications/print_service.py +++ b/archinstall/applications/print_service.py @@ -9,7 +9,7 @@ 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 0000000000..9ddb87ff31 --- /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 From cc25c688f230e3b402233c020d5e9edcc01e2aa2 Mon Sep 17 00:00:00 2001 From: Sanjay Santhanam <51058514+Sanjays2402@users.noreply.github.com> Date: Thu, 30 Jul 2026 22:24:30 -0700 Subject: [PATCH 2/2] test: drop low-value print service package assertion --- tests/test_applications.py | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 tests/test_applications.py diff --git a/tests/test_applications.py b/tests/test_applications.py deleted file mode 100644 index 9ddb87ff31..0000000000 --- a/tests/test_applications.py +++ /dev/null @@ -1,7 +0,0 @@ -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