@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