[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#741469: cups-daemon: postinst fails to generate working cupsd-systemd-listen.conf when only using unix socket



On Wed, Mar 12, 2014 at 11:44:48PM +0100, Michael Biebl wrote:
> If (as in your case) "Listen localhost:631" is commented out, 
> cups-daemon.postinst will generate a file /etc/cups/cupsd-systemd-listen.conf:
> 
> [Socket]
> # This file was generated by CUPS and _WILL_ be deleted or overwritten by it!
> # It has to be kept in sync with the Port and Listen stanzas in /etc/cups/cupsd.conf
> # It is by default symlinked as cups-listen.conf in the
> # /etc/systemd/system/cups.socket.d/ directory. Remove the symlink
> # and write your own file there if you don't want this. See systemd.socket(5).
> 
> 
> That is perfectly ok. Remember that /lib/systemd/system/cups.socket by default has 
> 
> [Socket]
> ListenStream=/var/run/cups/cups.sock
> BindIPv6Only=ipv6-only
> 
> 
> I fail to see a grave bug here. Can you elaborate?

I reported the bug (at that severity) at the request of Didier Raboud,
who did the initial debug with me on IRC.

Upgrade from last package version failed with:

https://paste.debian.net/87354/

I'm using systemd as init system, and the log shows:

Mar 12 21:11:49 scapa systemd[1]: Stopping CUPS Printer Service Spool.
Mar 12 21:11:49 scapa systemd[1]: Stopped CUPS Printer Service Spool.
Mar 12 21:11:49 scapa systemd[1]: Reloading.
Mar 12 21:11:49 scapa systemd[1]: cups.socket lacks Listen setting. Refusing.
Mar 12 21:11:49 scapa systemd[1]: Stopped CUPS Printing Service.
Mar 12 21:11:50 scapa systemd[1]: Reloading.
Mar 12 21:11:50 scapa systemd[1]: Failed to open configuration file '/etc/systemd/system/cups.socket.d/cupsd-listen.conf': No such file or directory
Mar 12 21:11:50 scapa systemd[1]: Reloading.
Mar 12 21:11:50 scapa systemd[1]: Failed to open configuration file '/etc/systemd/system/cups.socket.d/cupsd-listen.conf': No such file or directory
Mar 12 21:11:57 scapa systemd[1]: Reloading.
Mar 12 21:11:57 scapa systemd[1]: cups.socket lacks Listen setting. Refusing.                                                                                                                                 
Mar 12 21:18:16 scapa systemd[1]: Reloading.
Mar 12 21:18:16 scapa systemd[1]: cups.socket lacks Listen setting. Refusing.

The problem seems to be with the final lines.

Note that I forgot to precise here (since the bug was asked by Didier
who had the elements) that I was using a local override to not bind to
inet at all, which had:

[Socket]
ListenStream=
ListenStream=/var/run/cups/cups.sock
ListenDatagram=

(because previous package version had both a ListenStream and a
ListenDatagram directive). It seems that there's now only a
LicenseStream and it might be my ListenDatagram= directive which causes
issues at upgrade, since it tries to remove something non-existent (I'm
not fluent enough in systemd to be completely sure)

Removing my local override and keeping an empty
/etc/cups/cupsd-systemd-listen.conf seems to do the right thing, so I
guess the severity can indeed be lowered (especially since it's a
transient situation, I'm not even sure the previous version went to
jessie).

I still think it's not a perfect situation (to not handle correctly a
previously working situation), but in that case I'm not sure there's
much you can do at the cups-daemon level, since it seems that it's
systemd complaining about the directive.

Regards,
-- 
Yves-Alexis Perez

Attachment: signature.asc
Description: Digital signature


Reply to: