GNU bug report logs - #33105
cups Can't create temporary file or stopped "Filter failed"

Previous Next

Package: guix;

Reported by: Oleg Pykhalov <go.wigust <at> gmail.com>

Date: Sat, 20 Oct 2018 18:38:02 UTC

Severity: normal

To reply to this bug, email your comments to 33105 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#33105; Package guix. (Sat, 20 Oct 2018 18:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Oleg Pykhalov <go.wigust <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 20 Oct 2018 18:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Oleg Pykhalov <go.wigust <at> gmail.com>
To: bug-guix <bug-guix <at> gnu.org>
Subject: cups Can't create temporary file or stopped "Filter failed"
Date: Sat, 20 Oct 2018 21:36:57 +0300
[Message part 1 (text/plain, inline)]
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:
--8<---------------cut here---------------start------------->8---
(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) ; <----------
          ;; …
          ))))
--8<---------------cut here---------------end--------------->8---


Maybe we should make /var/spool/cups/tmp directory owned by ‘lp’ user,
too?  WDYT?

Test page was printed successfully with:
--8<---------------cut here---------------start------------->8---
$ sudo ls -ld /var/spool/cups/tmp
drwxr-xr-x 2 lp lp 4096 Oct 20 21:20 /var/spool/cups/tmp
--8<---------------cut here---------------end--------------->8---


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.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#33105; Package guix. (Sun, 21 Oct 2018 06:54:01 GMT) Full text and rfc822 format available.

Message #8 received at 33105 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Cc: 33105 <at> debbugs.gnu.org
Subject: Re: bug#33105: cups Can't create temporary file or stopped "Filter
 failed"
Date: Sun, 21 Oct 2018 09:53:25 +0300
[Message part 1 (text/plain, inline)]
On Sat, Oct 20, 2018 at 09:36:57PM +0300, Oleg Pykhalov wrote:
> 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:
> --8<---------------cut here---------------start------------->8---
> (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) ; <----------
>           ;; …
>           ))))
> --8<---------------cut here---------------end--------------->8---
> 
> 
> Maybe we should make /var/spool/cups/tmp directory owned by ‘lp’ user,
> too?  WDYT?

currently /var/spool/cups is root:lp, my first thought is to change it
to lp:lpadmin (not sure where I got lpadmin from) and make it 775.

> 
> Test page was printed successfully with:
> --8<---------------cut here---------------start------------->8---
> $ sudo ls -ld /var/spool/cups/tmp
> drwxr-xr-x 2 lp lp 4096 Oct 20 21:20 /var/spool/cups/tmp
> --8<---------------cut here---------------end--------------->8---
> 
> 
> 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.



-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#33105; Package guix. (Wed, 24 Oct 2018 12:53:02 GMT) Full text and rfc822 format available.

Message #11 received at 33105 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Cc: 33105 <at> debbugs.gnu.org
Subject: Re: bug#33105: cups Can't create temporary file or stopped "Filter
 failed"
Date: Wed, 24 Oct 2018 14:52:22 +0200
Hi Oleg,

Oleg Pykhalov <go.wigust <at> gmail.com> skribis:

> I read gnu/services/cups.scm and found that the /var/spool/cups/
> directory should be owned by ‘lp’ user:
>
> (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:
>
> $ sudo ls -ld /var/spool/cups/tmp
> drwxr-xr-x 2 lp lp 4096 Oct 20 21:20 /var/spool/cups/tmp

I don’t know the answer :-), but from what you’re saying, it looks like
making /var/spool/cups/tmp ‘lp’-owned is the right thing.

If it works for you, I guess you can go ahead!

Ludo’.




This bug report was last modified 6 years and 231 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.