@Martin Pitt,
I did some more debugging. What I did is try to move a working cups
config from a redhat server to a new ubuntu natty server. So I stopped
cups, renamed the ubuntu /etc/cups to /etc/cups.ubuntu. The new config
dir was /etc/cups.lorentz, and I made a symlink
/etc/cups->/etc/cups.ubuntu. This is when start cups quits working, and
starts looping in /etc/init/cups.conf. It loops through the entire
script by the way (pre-start, post-start and possibly also exec cupsd
-f), not just the post-start. The cups.lorentz config also has a Listen
/var/run/cups/cups.sock line, so that is not the problem. I think that
it has to do with apparmor not liking a link instead of a directory at
/etc/cups, or something like that.
When I just rename the /etc/cups.lorentz directory to /etc/cups
(removing the link first), start cups suddenly works.
With the link in place, start cups just keeps looping, which is a bug.
It should either just work or give me some apparmor complaint if links
to config files or directories are not OK. If it is an apparmor issue,
replacing config files/dirs by links is likely a problem for other
services as well, like ldap, nfs, fstab etc.
I thought there was one obvious bug in your loop in /etc/init/cups.conf: you
forgot a $ in the arithmetic expansion.
Your line is: timeout=$((timeout-1))
which I thought would never work, and it should be something like this:
timeout=$((${timeout}-1))
But. I just checked and it seems your line actually _does_ work. Even with the
missing $. I can't find that feature in the bash man page.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/672438
Title:
cups upstart post-start script hangs forever when local socket is
disabled
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs