@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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to