#62 missing LSB tags and overrides (Debian)

closed-fixed
DRC
TurboVNC (2)
5
2014-03-23
2013-02-28
No

I am using the debian amd64 package for turbovnc version 1.1 and have systemd installed on my debian unstable system. The installation goes fine, but installation of any other package which uses systemd fails with the following error message:

insserv: warning: script 'tvncserver' missing LSB tags and overrides
insserv: There is a loop between service watchdog and tvncserver if stopped
insserv: loop involving service tvncserver at depth 2
insserv: loop involving service watchdog at depth 1
insserv: Stopping tvncserver depends on watchdog and therefore on system
facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header

Discussion

  • DRC

    DRC - 2013-02-28

    Can you try changing the header of /etc/init.d/tvncserver as follows and see if that eliminates the issue?

    #!/bin/bash
    #
    # chkconfig: - 91 35
    # description: Starts and stops TurboVNC Server
    #
    ### BEGIN INIT INFO
    # Provides: tvncserver
    # Required-Start: $syslog
    # Required-Stop:
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: Starts and stops TurboVNC Server
    ### END INIT INFO

     
  • Arnout Boelens

    Arnout Boelens - 2013-02-28

    I just gave the new header a try but the same error message is still there.

     
  • DRC

    DRC - 2013-02-28

    I have no clue, then. You're going to have to figure out how to modify the tvncserver file to make the error go away and then submit a patch. I don't use Debian.

     
  • Arnout Boelens

    Arnout Boelens - 2013-02-28

    I found the solution. chkconfig is not installed by default on Debian systems. The solution would be to add a dependency for this package to your turbovnc package.

    * I modified the header according to your instructions
    * I installed chkconfig
    * did a "/etc/init.d/tvncserver restart" which instructed me to run "systemctl --system daemon-reload"

    Installation of other packages using systemd works fine now.

     
  • DRC

    DRC - 2013-02-28

    OK, I'll commit the header changes. It's weird that it requires chkconfig just because of the chkconfig: header. I would think that the system would just ignore that part of the header if chkconfig isn't installed.

    It wouldn't be possible to have the DEBs depend on the chkconfig package, because it isn't available on all Debian-compatible platforms, so it would be really good to understand why the script is failing just because it has that header in it (and I assume that if you remove the chkconfig: line, you no longer have to install chkconfig to make it work?)

     
  • Arnout Boelens

    Arnout Boelens - 2013-03-01

    I did some more experimenting, and the trick seems to be in running the "systemctl --system daemon-reload" command after changing the header. chkconfig does not need to be installed, even though it is refered to in the header.

     
  • DRC

    DRC - 2013-03-01

    I wonder whether that command needs to be added as a post-install command in the DEB. Any chance you could check other packages on that system and see how they handle this issue?

     
  • Arnout Boelens

    Arnout Boelens - 2013-03-01

    I just did another test. I extracted the debian package, added the header to /etc/init.d/tvncserver, and repackaged the package. After I installed it other packages installed fine. I looks like the "systemctl --system daemon-reload" command is taken care of automatically when a package is installed.

     
  • DRC

    DRC - 2013-03-02

    New build uploaded with this fix:

    http://virtualgl.sourceforge.net/vnc.nightly/

    Give it a spin and let me know if something breaks.

     
  • Arnout Boelens

    Arnout Boelens - 2013-03-04

    I installed the new package and used it over the weekend. Everything seems to work very well. Thanks!

     
  • DRC

    DRC - 2013-03-04
    • status: open --> closed-fixed
     

Log in to post a comment.