aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2021-06-22 19:22:15 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2021-06-23 02:51:29 +0200
commit3b5297d975efd07e7819f671c14856fd0778870e (patch)
tree388b64068f55b2b996fe567bb4cabb6dd9074d88
parent8d9a2dee1f213a35ce2e74d657806819b5df3126 (diff)
downloadguix-3b5297d975efd07e7819f671c14856fd0778870e.tar.gz
guix-3b5297d975efd07e7819f671c14856fd0778870e.zip
gnu: cups-minimal: Never cupsAdminGetServerSettings.
* gnu/packages/cups.scm (cups-minimal)[arguments]: Add a new 'never-cupsAdminGetServerSettings phase.
-rw-r--r--gnu/packages/cups.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 1a071a161e..959caa70f6 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -275,6 +275,18 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
#:tests? #f
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'never-cupsAdminGetServerSettings
+ ;; Instead of querying the daemon directly, this part of CUPS assumes
+ ;; that (1) it has access to a cupsd.conf under CUPS_SERVERROOT, and
+ ;; (2) the file's contents apply to the running daemon. (1) is false
+ ;; at least on Guix Systems resulting in extremely long delays when
+ ;; loading the Web interface's /admin page. (2) isn't valid anywhere
+ ;; because it ignores, e.g., -c FILE.
+ ;; Upstream considers this code on ‘life support’ so just neuter it.
+ (lambda _
+ (substitute* "cgi-bin/admin.c"
+ (("!cupsAdminGetServerSettings" match)
+ (string-append "0 && " match)))))
(add-before 'configure 'patch-makedefs
(lambda _
(substitute* "Makedefs.in"