Comment 0 for bug 1331555

Revision history for this message
Michael Wisheu (wisheu) wrote :

Trusty's libsepol1 () has no Upstart version check for the 'telinit u' call.
During the dist-upgrade from Precise to Trusty this causes Upstart to loose its state.
Because of this Upstart no longer knows which PID the dbus system bus process has and thus all service reloads fail.

This bug is similarly to bug http://pad.lv/1313712 and the same fix applies.

Faulty code:
if [ "$1" = "configure" ]; then
 # Restart init. If it fails, there is nothing we can do, so
 # just ignore the error (NOTE: Borrowed from libc6.postinst)
 telinit u 2>/dev/null || true ; sleep 1
fi

Correct code:
if [ "$1" = "configure" ]; then
 # Restart init. If it fails, there is nothing we can do, so
 # just ignore the error (NOTE: Borrowed from libc6.postinst)
 if dpkg --compare-versions "$UPSTART_VERSION_RUNNING" ge 1.6.1; then
  telinit u 2>/dev/null || true ; sleep 1
 fi
fi