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

Making the CUPS daemon startable on-demand



Hi,

in Ubuntu we also want to have print functionality in the mobile
version, Ubuntu Touch (therefore I also did the binary package
splitting). As mobile devices run on battery and have limited RAM one
should avoid keeping daemons running alll the time, especially if they
are used infrequently, like the CUPS daemon.

Therefore I want to add a functionality to make the CUPS daemon
startable on-demand and, if CUPS go started on-demand, stop when the
print queues empty out.

There exist already implementations for that, in upstream CUPS for the
launchd of Mac OS X, and at Red Hat for systemd. There is a nice article
available about the development of the systemd implementation:

http://0pointer.de/blog/projects/socket-activation2.html

Ubuntu uses Upstart and not systemd, but it looks like that one can
easily "translate" the systemd implementation to Upstart. See especially
the "Bridges" section of the Upstart documentation here:

http://upstart.ubuntu.com/cookbook/#upstart-socket-bridge

Now I do not want to make Ubuntu-only distro patches but find a solution
which works on both Debian and Ubuntu (to avoid package delta, keeping
synced) and ideally which can get submitted upstream.

For this I want to know, how Debian starts services. Upstart? systemd?
System V Init? Something else? Should we create a CUPS patch supporting
all systems and submitting this upstream?

WDYT?

   Till


Reply to: