(name . bug-guix)(address . bug-guix@gnu.org)
Hello Guix,
I've spotted a bug in CUPS service “Can't create temporary file”. If I
gave ‘765’ permissions to ‘/var/spool/cups/tmp/’ directory then an error
is “stopped "Filter failed"”. ‘777’ for /var/spool/cups/tmp/ is
required to print a test page via CUPS WEB interface.
I read gnu/services/cups.scm and found that the /var/spool/cups/
directory should be owned by ‘lp’ user:
Toggle snippet (19 lines)
(define %cups-activation
;; Activation gexp.
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(define (mkdir-p/perms directory owner perms)
(mkdir-p directory)
(chown "/var/run/cups" (passwd:uid owner) (passwd:gid owner))
;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(chmod directory perms))
;; …
(let ((user (getpwnam "lp")))
;; …
(mkdir-p/perms "/var/spool/cups/tmp" user #o755) ; <----------
;; …
))))
Maybe we should make /var/spool/cups/tmp directory owned by ‘lp’ user,
too? WDYT?
Test page was printed successfully with:
Toggle snippet (5 lines)
$ sudo ls -ld /var/spool/cups/tmp
drwxr-xr-x 2 lp lp 4096 Oct 20 21:20 /var/spool/cups/tmp
From cups-files.conf(5) man page:
TempDir directory
Specifies the directory where short-term temporary files are
stored. The default is "/var/spool/cups/tmp".
User username
Specifies the user name or ID that is used when running external
programs. The default is "lp".
Oleg.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEc+OyAXw1EaDPCmAPckbhHGm3lWkFAlvLdckACgkQckbhHGm3
lWnP5hAAkX/am+yKTOKUJagZnW1LhDN5PUr46ONAx25Te71/uFTWdwtCLC/dqrU5
SBZlqsFacohnNPpyGbPI0PJGeghe8f3dE1u7o/MKf0wk6/rJ37nAfy3wawAipKbF
N8WzOpOMFlt8HzTFAena1F68zKOvFJfxvtcgYSU7SKi4DvXUizF77lTuyvkOXv0i
lPuzP9iO8+8ki/iB5bantqB7Nz1BujGZxLvMpxg5XDZfWh24cQEKsXLhuWAvFd6x
bLGYjTdiOgfXJVGKJWA9OueV1lNu6Z1PuEYAxCvjWiUOED5sF1NJGWDZto5vHJJs
MTZRBkmQ9+qkIJgzJria5/45iJTHEcoh5YkpmgjnR0bgv6uZVRcC1YQmNlAOw1oF
R3Y0v+v7DS0CXZrAfeOWFTH5e4Az40bcCHzIkRQuMQbFZ3hEmCcCGP/sux4qZpB8
05acpj+D7QzEf8aMRdf6Azhawvn7NqBigcsTOofAccOUfdtOoXioYskQCc5q3/ve
AX1GEMnn8TLElqEWVa/IThrYGOoCZzVWtlljeVQqhOgEbgSGR8hFcN3RBsfbGrqF
qUcslGAFo2rffFPwi1Dm8PJIERmWf3GaPZL18Zo2TSsQI5AoNcDbgtAwkIsqzzwW
P5WMw6NWERei0PoGJrufZV/Pie2ykkCw7BP6ORHTGDnW2+Ttzt8=
=IhwM
-----END PGP SIGNATURE-----