|
Bugzilla – Full Text Bug Listing |
| Summary: | systemd: job type reload is not applicable for unit cups.service. | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | Christian Boltz <suse-beta> |
| Component: | Basesystem | Assignee: | systemd maintainers <systemd-maintainers> |
| Status: | RESOLVED DUPLICATE | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | jsmeix |
| Version: | 13.1 Beta 1 | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | SUSE Other | ||
| Whiteboard: | |||
| Found By: | Beta-Customer | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Christian Boltz
2012-10-03 16:33:00 UTC
This is not a printing issue but a systemd issue. Therefore I change the bug's component to "basesystem" (hoping this is the right one for systemd issues). I don't have sufficient knowledge about systemd. I would appreciate it if someone who knows about systemd would fix this in the cups package. The following line ExecReload=/bin/kill -HUP $MAINPID have to be added to cups.service @frederic: maybe it can be a reasonable default for all units (w/o type simple)? (In reply to comment #2) > The following line > > ExecReload=/bin/kill -HUP $MAINPID > > have to be added to cups.service > > @frederic: maybe it can be a reasonable default for all units (w/o type > simple)? This would need to be discussed with upstream, but I'm not sure it is a good idea, since you can't be sure what would be the effect on various services (you can't be sure they will all react to -HUP correctly). ATM, this line is specified in the documentation (man systemd.service, search for ExecReload). This bug still exists in 12.3 beta1 :-(
I see two options here:
a) fix cups.service - that would be the best option, but... [1]
b) fix gutenprint %post, for example by using "restart" instead of "reload"
[1] according to /etc/init.d/cups, reload isn't that easy:
reload)
if ps -C cupsd -o user | grep -q '^root$'
then echo -n "Reload service cupsd"
killproc -HUP $CUPSD_BIN
rc_status -v
else echo -n '"reload" not possible (cupsd does not run as user root) use "restart" instead'
rc_status -s
fi
I don't know if this (running cups as non-root) is relevant in real-world setups - Johannes?
No other package (except cups) should stop and start (i.e. restart) a currently running cupsd at arbitrary time (e.g. during package installation) because this disrupts all currently active print jobs. This is in particular bad on print server machines (admins do not expect such behaviour because of our obscure packaging dependency). And also on home-user systems it can cause major annoyance when unexperienced users do not know how to easily recover a printer that has become "mad" because it was disrupted during active printing (i.e. how to do a complete reset of the printer device while there is a print job in the queue). Only printer admin tools may stop or start the cupsd if really needed but even then I recommend an explicit admin confirmation dialog, compare "Strict Compliance With CUPS" at http://en.opensuse.org/Archive:YaST_Printer_redesign ----------------------------------------------------------------------------- The YaST printer module up to openSUSE 11.0 ... does not work in full compliance with the CUPS printing system. ... It re-starts the cupsd much too often (each time when it finishes) which disrupts all actively printing jobs (really bad on a print server under higher load). ----------------------------------------------------------------------------- Regarding sending CUPS daemon SIGHUP in gutenprint.spec, see https://bugzilla.novell.com/show_bug.cgi?id=637455#c3 I think this issue here is meanwhile obsolete since https://bugzilla.novell.com/show_bug.cgi?id=857372#c61 and subsequent comments. *** This bug has been marked as a duplicate of bug 857372 *** |