On a fresh install of Ubuntu 16.04 apt-get install git-all fails with:

Setting up runit (2.1.2-3ubuntu1) ...
start: Unable to connect to Upstart: Failed to connect to socket 
/com/ubuntu/upstart: Connection refused

Some other packages such as dconf-tools fail with the same error.

The error message refers to upstart, and upstart is installed on the
system but it's not running. Instead the system uses systemd:

   dpkg: ii  upstart   1.13.2-0ubuntu21   amd64  event-based init daemon - 
essential binaries
   ps aux: root     1  0.2  0.0 185368   484 ?        Ss   16:43   0:02 
/sbin/init auto noprompt
   ls -l: /sbin/init -> /lib/systemd/systemd

The error message also refers to runit. Downloading the runit .deb
package and unpacking it shows the problem is the postinstall script.
The postinstall script first tries to start runit using init, then
systemd and then upstart.

The problem is, even though runit is successfuly started by systemd the
postinstall script will later try to use upstart. Since upstart is not
running it cannot be connected to, which then causes the error "...
Failed to connect to socket /com/ubuntu/upstart..."

Here is the line where runit is started by systemd:
   test ! -d /run/systemd/system || systemctl start runit.service
If systemctl start runit, then at this point the script should stop. 

Instead several lines later at the end of the file upstart is tried:
  if [ -x /sbin/start ]; then #provided by upstart
     /sbin/start runsvdir
  fi

Workaround: Install runit
            Steps:
            If needed, purge failed packages such as git-all, git-daemon-run
            apt-get update
            rm /sbin/start
            apt-get install runit   # can also install git-all and runit will 
also be installed
            ln -s /sbin/initctl /sbin/initctl
            apt-get install git-all  # or other package such as dconf-tools
            (all commands require sudo) 
fix: Change the logic in the postinstall script in the runit .deb package to 
not start runit by upstart if it has already been started by systemd       

All individual git packages such as git-el can be installed separately -
except git-daemon-run which is the package in git-all needing runit.
Other packages requiring runit(e.g., dconf-tools) can also be installed
using the workaround. Once the runit package is successfuly installed
the workaround is no longer needed. If git-all is successfuly installed
using the workaround then runit is also successfully installed and no
other packages will fail with "Failed to connect to socket
/com/ubuntu/upstart: Connection refused." It goes without saying there
is not an upstart bug and only going back to upstart will solve it...

BTW - a fresh install of 16.04 server does not have upstart installed so
git-all installs with no errors.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1448164

Title:
  runit cannot be installed (Unable to connect to Upstart: Failed to
  connect to socket /com/ubuntu/upstart: Connection refused)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/runit/+bug/1448164/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to