Cannot uninstall upstart and install systemd-sysv

Bug #1351306 reported by Martin Pitt
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Unity
Fix Released
Undecided
Unassigned
avahi (Ubuntu)
Fix Released
Undecided
Martin Pitt
dbus (Ubuntu)
Fix Released
Undecided
Martin Pitt
dovecot (Ubuntu)
Fix Released
Undecided
Martin Pitt
friendly-recovery (Ubuntu)
Fix Released
Undecided
Martin Pitt
hockeypuck (Ubuntu)
Fix Released
Undecided
Martin Pitt
pay-service (Ubuntu)
Fix Released
Undecided
Unassigned
plymouth (Ubuntu)
Fix Released
Undecided
Martin Pitt
sysvinit (Ubuntu)
Fix Released
Undecided
Martin Pitt
ubuntu-app-launch (Ubuntu)
Fix Released
Undecided
Unassigned
unity (Ubuntu)
Fix Released
Undecided
Unassigned
unity-lens-applications (Ubuntu)
Invalid
Undecided
Unassigned
upstart (Ubuntu)
Fix Released
Low
Dimitri John Ledkov

Bug Description

upstart is currently quite deeply wired into our dependencies. Even in a minimally bootstrapped chroot needs it, although this doesn't do any booting at all:

# dpkg -P upstart
dpkg: dependency problems prevent removal of upstart:
 initscripts depends on upstart.
 plymouth depends on upstart (>= 1.11-0ubuntu3).

On a desktop the list is quite a bit longer:

 ubuntu-minimal depends on upstart.
 avahi-daemon depends on upstart (>= 0.6.7-4).
 friendly-recovery depends on upstart. (See bug 1351316, needs sysv/systemd script first)
 initscripts depends on upstart.
 ureadahead depends on upstart (>= 0.6.0). (No need to fix -- can just drop that along with upstart for systemd images, systemd has readahead built in)
 plymouth depends on upstart (>= 1.11-0ubuntu3).
 dbus depends on upstart (>= 0.6.3-6).
 unity-services depends on upstart.
 init depends on upstart. (Not important right now, switch to alternative deps once systemd is ready)

Most of the latter probably don't need to; versioned depends might be converted into equivalent versioned breaks, for others an alternative dependency might be considered. The main exception is that we are using session upstart on the desktop (unity-services etc.), for this we probably need to split out an upstart-sysv (for /sbin/init, reboot, halt, etc., similar to systemd-sysv) or an upstart-core (similar to sysvinit-core vs. sysvinit).

Related branches

Martin Pitt (pitti)
Changed in plymouth (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: New → Fix Committed
Changed in avahi (Ubuntu):
status: New → In Progress
assignee: nobody → Martin Pitt (pitti)
status: In Progress → Fix Committed
Changed in sysvinit (Ubuntu):
status: New → Confirmed
Martin Pitt (pitti)
Changed in dbus (Ubuntu):
status: New → Fix Committed
assignee: nobody → Martin Pitt (pitti)
description: updated
Changed in upstart (Ubuntu):
status: New → Triaged
Martin Pitt (pitti)
description: updated
Revision history for this message
Martin Pitt (pitti) wrote :

sysvinit's dependency updates are contained in my pending merge in http://people.canonical.com/~pitti/tmp/sysvinit-merge/

Changed in sysvinit (Ubuntu):
status: Confirmed → In Progress
assignee: nobody → Martin Pitt (pitti)
Martin Pitt (pitti)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 0.9.0-0ubuntu3

---------------
plymouth (0.9.0-0ubuntu3) utopic; urgency=medium

  * Convert versioned upstart dependency into a versioned Breaks. We ship
    systemd units too now, and this avoids a hard upstart dependency even
    in minimal debootstraps/chroots. (LP: #1351306)
 -- Martin Pitt <email address hidden> Fri, 01 Aug 2014 15:12:37 +0200

Changed in plymouth (Ubuntu):
status: Fix Committed → Fix Released
Martin Pitt (pitti)
Changed in upstart (Ubuntu):
importance: Undecided → Low
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

At the moment we'd want to support for people to install systemd-sysv, and easily revert back to upstart.

Ideally, systemd-sysv would not conflict with upstart, instead it would dpkg divert /sbin/init to /sbin/init.upstart and install /sbin/init which is systemd. That way people can still boot into upstart with init=/sbin/init.upstart and trivially revert back by removing systemd-sysv package.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Wrt. runlevel, telinit, shutdown, poweroff, halt: i think we want upstart equivalent to be aware of systemd. Such that, if system was booted with systemd, one can use invoke upstart commands which will send the request off to e.g. systemctl,

Similarly, we probably want to continue to provide "start/stop/restart/reload" commands that also call into systemctl if appropriate.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package avahi - 0.6.31-4ubuntu3

---------------
avahi (0.6.31-4ubuntu3) utopic; urgency=medium

  * Drop upstart dependency. We ship init scripts for sysv, upstart, and
    systemd now. (LP: #1351306)
 -- Martin Pitt <email address hidden> Fri, 01 Aug 2014 15:16:40 +0200

Changed in avahi (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dbus - 1.6.18-0ubuntu10

---------------
dbus (1.6.18-0ubuntu10) utopic; urgency=medium

  * Drop upstart dependency. We ship init scripts for sysv, upstart, and
    systemd now. (LP: #1351306)
 -- Martin Pitt <email address hidden> Fri, 01 Aug 2014 15:19:20 +0200

Changed in dbus (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote : Re: [Bug 1351306] Re: Cannot uninstall upstart and install systemd-sysv

On Fri, Aug 01, 2014 at 02:13:18PM -0000, Dimitri John Ledkov wrote:
> At the moment we'd want to support for people to install systemd-sysv,
> and easily revert back to upstart.

> Ideally, systemd-sysv would not conflict with upstart, instead it would
> dpkg divert /sbin/init to /sbin/init.upstart and install /sbin/init
> which is systemd. That way people can still boot into upstart with
> init=/sbin/init.upstart and trivially revert back by removing systemd-
> sysv package.

Diversions are a bad scene; almost no one gets their handling right on
removal. They shouldn't be in maintainer scripts at all, they should be
declarative within dpkg, and it's messy because they're not.

So while diverting init isn't quite as bad as diverting, say, /bin/sh or
libc.so.6, I think a solution that *doesn't* require diversions, but can
instead use conflicts, is better.

Martin Pitt (pitti)
Changed in friendly-recovery (Ubuntu):
status: New → Fix Committed
assignee: nobody → Martin Pitt (pitti)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package friendly-recovery - 0.2.26

---------------
friendly-recovery (0.2.26) utopic; urgency=medium

  * Drop /usr/share/recovery-mode symlink and transition, this happened in
    oneiric already.
  * Move from cdbs to dh to simplify/modernize build system.
  * Update to copyright format 1.0.
  * Bump Standards-Version to 3.9.5.
  * lib/recovery-mode/options/dpkg: Fix ubuntu-release-upgrader mode again:
    Update to Python 3, and fix --datadir.
  * When running under systemd, call its "remount-fs" service for remounting
    r/w instead of mountall.
  * Add systemd unit, hooking into local-fs-pre.target. This is based on
    emergency.target, but watches out for "recovery" on the kernel command
    line, similar to upstart. (LP: #1351316) Add alternative "systemd-sysv"
    dependency (LP: #1351306)
 -- Martin Pitt <email address hidden> Mon, 04 Aug 2014 12:42:25 +0200

Changed in friendly-recovery (Ubuntu):
status: Fix Committed → Fix Released
Changed in upstart (Ubuntu):
assignee: nobody → Dimitri John Ledkov (xnox)
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Upstart uploaded, will need to go through NEW.

Changed in upstart (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package upstart - 1.13.1-0ubuntu3

---------------
upstart (1.13.1-0ubuntu3) utopic; urgency=medium

  * Split upstart package into upstart & upstart-bin. (LP: #1351306)
 -- Dimitri John Ledkov <email address hidden> Wed, 06 Aug 2014 13:07:24 +0100

Changed in upstart (Ubuntu):
status: Fix Committed → Fix Released
Martin Pitt (pitti)
Changed in sysvinit (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote :

systemd-sysv is now installable in utopic-proposed in a (rather minimal) schroot. However, I suppose before britney will allow the promotion to utopic/universe we'd need to fix *all* dependencies to upstart, and I'm not sure that we actually want to yet..

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package sysvinit - 2.88dsf-41ubuntu17

---------------
sysvinit (2.88dsf-41ubuntu17) utopic; urgency=medium

  * Drop initscript dependencies to upstart and mountall. Debian's SysV init
    boot scripts are back, and both upstart and systemd now provide jobs/units
    which "shadow" the SysV init.d scripts. This allows installing
    systemd-sysv instead of upstart. (LP: #1351306)
 -- Martin Pitt <email address hidden> Thu, 07 Aug 2014 10:39:25 +0200

Changed in sysvinit (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Harry (harry33) wrote :

Right,
yesterday when systemd (208-7ubuntu4) and sysvinit (2.88dsf-41ubuntu17) were published in Utopic pocket release,
  I upgraded my setup.
After that I installed systemd-sysv and purged upstart, upstart-bin, ureadahead and libjson0.
I am using systemd booting and it works just fine (with no upstart installed).

Revision history for this message
Martin Pitt (pitti) wrote :

Harry, I didn't dare to try that yet, but good to know :-)

Revision history for this message
Martin Pitt (pitti) wrote :

Sorry, this doesn't actually affect unity-lens-applications, this is just a transitive dep.

Changed in unity-lens-applications (Ubuntu):
status: New → Invalid
Changed in unity (Ubuntu):
status: New → In Progress
Changed in pay-service (Ubuntu):
status: New → In Progress
Martin Pitt (pitti)
Changed in hockeypuck (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: New → Fix Committed
Martin Pitt (pitti)
Changed in dovecot (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: New → In Progress
Martin Pitt (pitti)
Changed in ubuntu-app-launch (Ubuntu):
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package hockeypuck - 1.0~rel20140413+7a1892a~trusty.1

---------------
hockeypuck (1.0~rel20140413+7a1892a~trusty.1) utopic; urgency=medium

  * Drop unnecessary upstart recommends, the package has an init.d script as
    well which is supported by all init systems. (LP: #1351306)
 -- Martin Pitt <email address hidden> Wed, 03 Sep 2014 09:44:14 +0200

Changed in hockeypuck (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dovecot - 1:2.2.9-1ubuntu5

---------------
dovecot (1:2.2.9-1ubuntu5) utopic; urgency=medium

  * No-change rebuild against current debhelper to drop unnecessary upstart
    dependency. (LP: #1351306)
 -- Martin Pitt <email address hidden> Wed, 03 Sep 2014 09:50:41 +0200

Changed in dovecot (Ubuntu):
status: In Progress → Fix Released
Changed in unity:
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 7.3.1+14.10.20140904-0ubuntu1

---------------
unity (7.3.1+14.10.20140904-0ubuntu1) utopic; urgency=low

  [ Martin Pitt ]
  * Adjust upstart dependency to upstart-bin. (LP: #1351306)

  [ Brandon Schaefer ]
  * When Show Desktop is active, it will set the tooltip icon as
    "Restore Windows". This is per workspace. So each time show_destop
    bool is updated in PluginAdapter, the Show Desktop icon will update
    its tooltip if needed. (LP: #1237132)
  * Use CONFIG instead of CACHE to store the first_run.stamp

  [ Stephen M. Webb ]
  * update the unity manpage (LP: #1059275)

  [ Andrea Azzarone ]
  * Share lockscreen password entry between screens. (LP: #1308540)

  [ Marco Trevisan (Treviño) ]
  * IconRenderer: draw count texture at proper scaling, built by
    LauncherIcon (LP: #1353070)
  * LauncherIcon: make the Icon count width depending on the text value
    width (LP: #796527)
  * Lockscreen: scale the UI elements based on current monitor scaling
    (LP: #1292218)
  * SwitcherView: set progress on icon render args (LP: #1361679)
  * SearchBar, ActionButtons, IconRenderer: include the font scaling
    when scaling textual items
 -- Ubuntu daily release <email address hidden> Thu, 04 Sep 2014 22:12:54 +0000

Changed in unity (Ubuntu):
status: In Progress → Fix Released
Changed in unity:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pay-service - 2.0.0+14.10.20140916-0ubuntu1

---------------
pay-service (2.0.0+14.10.20140916-0ubuntu1) utopic; urgency=low

  [ Martin Pitt ]
  * Adjust upstart dependency to upstart-bin. (LP: #1351306)
 -- Ubuntu daily release <email address hidden> Tue, 16 Sep 2014 18:31:43 +0000

Changed in pay-service (Ubuntu):
status: In Progress → Fix Released
Martin Pitt (pitti)
Changed in unity:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-app-launch - 0.4+14.10.20140925-0ubuntu1

---------------
ubuntu-app-launch (0.4+14.10.20140925-0ubuntu1) utopic; urgency=low

  [ Martin Pitt ]
  * Upstart dep updated to trunk

  [ Ted Gould ]
  * Upstart dep updated to trunk
  * Add handling for X-Ubuntu-SymbolicIcon in desktop hook (LP:
    #1365408)

  [ CI bot ]
  * Adjust upstart recommends to upstart-bin (LP: #1351306)
 -- Ubuntu daily release <email address hidden> Thu, 25 Sep 2014 14:43:28 +0000

Changed in ubuntu-app-launch (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.