Indicators should have Upstart jobs

Bug #1185565 reported by Ted Gould on 2013-05-29
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Indicator Date and Time
Fix Released
Medium
Ted Gould
Network Menu
Fix Released
Medium
Ted Gould
Session Menu
Fix Released
Medium
Ted Gould
The Sound Menu
Fix Released
Medium
Ted Gould
Unity
Fix Released
Medium
Ted Gould
indicator-power
Fix Released
Medium
Ted Gould
indicator-application (Ubuntu)
Undecided
Unassigned
indicator-datetime (Ubuntu)
Undecided
Unassigned
indicator-location (Ubuntu)
Undecided
Unassigned
indicator-messages (Ubuntu)
Undecided
Unassigned
indicator-power (Ubuntu)
Undecided
Unassigned
indicator-session (Ubuntu)
Undecided
Unassigned
indicator-sound (Ubuntu)
Undecided
Unassigned
indicator-sync (Ubuntu)
Undecided
Unassigned
ubiquity (Ubuntu)
Medium
Ted Gould
unity (Ubuntu)
Undecided
Unassigned
unity-greeter (Ubuntu)
Medium
Ted Gould

Bug Description

Indicators should move over to using the upstart jobs to get better logging and management of their processes.

Related branches

Ted Gould (ted) on 2013-05-29
Changed in indicator-network:
status: New → Fix Released
Changed in indicator-session:
status: New → Confirmed
importance: Undecided → Medium
Changed in indicator-network:
importance: Undecided → Medium
Ted Gould (ted) on 2013-05-29
Changed in libindicator:
status: New → Confirmed
Changed in indicator-application:
status: New → Confirmed
importance: Undecided → Medium
Changed in libindicator:
importance: Undecided → Medium
Ted Gould (ted) on 2013-05-29
Changed in unity:
status: New → Fix Committed
importance: Undecided → Medium
no longer affects: indicators-client
Ted Gould (ted) on 2013-05-29
Changed in indicator-application:
assignee: nobody → Ted Gould (ted)
Changed in indicator-network:
assignee: nobody → Ted Gould (ted)
Changed in indicator-session:
assignee: nobody → Ted Gould (ted)
Changed in unity:
assignee: nobody → Ted Gould (ted)
Changed in libindicator:
assignee: nobody → Ted Gould (ted)
Changed in indicator-datetime:
status: New → Confirmed
importance: Undecided → Medium
Changed in indicator-sync:
status: New → Confirmed
importance: Undecided → Medium
Changed in indicator-sound:
status: New → Confirmed
importance: Undecided → Medium
Changed in indicator-power:
status: New → Confirmed
importance: Undecided → Medium
Stephen M. Webb (bregma) wrote :

Released in Unity 7.1.0

Changed in unity:
status: Fix Committed → Fix Released
Lars Karlitski (larsu) wrote :

Again, I think having processes in the session be aware of the init process (and even depending on a specific implementation) is upside-down architecture.

Also, it has several practical issues:

* it creates a lot of extra work that seems unnecessary, like adding upstart scripts to every indicator service
* everything that consumes indicator menus must emit that upstart signal, instead of simply hitting up the bus names
* it makes it impossible to run indicators or unity on non-upstart systems
* it always starts all indicators for every profile, instead of only loading the ones that are needed
* it makes it impossible to activate an indicator service with an action (admittedly not really a problem as the services are running all of the time under this proposed scheme, and we're not doing this yet)
* it removes the possibility for an indicator service to quit when it is not needed anymore

There are only two benefits that I've heard of: that it is easier for developers to start and stop services, and that logging is split into different files. I think both of these are minor issues that can be solved without direct upstart integration. But even if people think these are important enough, putting upstart in charge of dbus activation gives us exactly the same benefits, without any of the problems I mentioned above.

As an aside, the signal name "indicators-ready" is misleading, because it is not used to signal that indicators are ready, but that they can now be started ("panel-ready" might be better).

Ted Gould (ted) on 2013-10-29
Changed in indicator-application:
status: Confirmed → In Progress
Changed in unity-greeter:
assignee: nobody → Ted Gould (ted)
importance: Undecided → Medium
status: New → In Progress
Ted Gould (ted) on 2013-10-29
Changed in indicator-datetime:
assignee: nobody → Ted Gould (ted)
status: Confirmed → In Progress
Changed in ubiquity (Ubuntu):
assignee: nobody → Ted Gould (ted)
importance: Undecided → Medium
status: New → In Progress
Ted Gould (ted) on 2013-10-29
Changed in indicator-session:
status: Confirmed → In Progress
Ted Gould (ted) on 2013-10-29
Changed in indicator-sound:
assignee: nobody → Ted Gould (ted)
status: Confirmed → In Progress
Ted Gould (ted) on 2013-10-29
Changed in indicator-sync:
assignee: nobody → Ted Gould (ted)
status: Confirmed → In Progress
Ted Gould (ted) on 2013-10-29
Changed in indicator-location:
assignee: nobody → Ted Gould (ted)
importance: Undecided → Medium
status: New → In Progress
Changed in indicator-power:
status: Confirmed → In Progress
assignee: nobody → Ted Gould (ted)
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-location at revision 55, scheduled for release in indicator-location, milestone Unknown

Changed in indicator-location:
status: In Progress → Fix Committed
Changed in indicator-sync:
status: In Progress → Fix Committed
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-sync at revision 40, scheduled for release in indicator-sync, milestone Unknown

Changed in indicator-application:
status: In Progress → Fix Committed
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-application at revision 242, scheduled for release in indicator-application, milestone Unknown

Changed in indicator-power:
status: In Progress → Fix Committed
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-power at revision 213, scheduled for release in indicator-power, milestone Unknown

Changed in indicator-sound:
status: In Progress → Fix Committed
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-sound at revision 402, scheduled for release in indicator-sound, milestone Unknown

Changed in indicator-session:
status: In Progress → Fix Committed
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-session at revision 418, scheduled for release in indicator-session, milestone Unknown

PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:indicator-datetime at revision 285, scheduled for release in indicator-datetime, milestone Unknown

Changed in indicator-datetime:
status: In Progress → Fix Committed
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity-greeter at revision 1014, scheduled for release in unity-greeter, milestone 14.04.01

Changed in unity-greeter:
status: In Progress → Fix Committed
affects: unity-greeter → unity-greeter (Ubuntu)
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-greeter - 14.04.0-0ubuntu1

---------------
unity-greeter (14.04.0-0ubuntu1) trusty; urgency=low

  * New upstream release:
    - Use Unity style shutdown dialogs (LP: #857577)
    - Handle hardware power button in greeter (LP: #903306)
    - Use an Upstart process to start indicator services (LP: #1185565)
    - Fix build with Vala 0.22
    - Clean up compile warnings
 -- Robert Ancell <email address hidden> Mon, 11 Nov 2013 17:16:17 +1300

Changed in unity-greeter (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-sound - 12.10.2+14.04.20131125-0ubuntu1

---------------
indicator-sound (12.10.2+14.04.20131125-0ubuntu1) trusty; urgency=low

  [ Ted Gould ]
  * Switching around the config files. (LP: #1185565)
  * Fix license information.
  * Test name watching utilities.

  [ Lars Uebernickel ]
  * Call Raise() when a media player is already running Before, it was
    repeatedly launching the player. This patch also make the menu item
    insensitive if the player can't be raised. (LP: #710824)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 404
 -- Ubuntu daily release <email address hidden> Mon, 25 Nov 2013 03:56:15 +0000

Changed in indicator-sound (Ubuntu):
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-location - 13.10.0+14.04.20131125-0ubuntu1

---------------
indicator-location (13.10.0+14.04.20131125-0ubuntu1) trusty; urgency=low

  [ Charles Kerr ]
  * A bit of fine tuning suggested by michi.
  * fix a minor memory leak that was caused by treating the variant
    returned by g_icon_serialize() as floating.

  [ Ted Gould ]
  * Adding a phone_greeter profile.
  * No description needed. (LP: #1185565)

  [ Nick Dedekind ]
  * Location & GPS menu items should be switches. (LP: #1245711)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 57
 -- Ubuntu daily release <email address hidden> Mon, 25 Nov 2013 03:55:05 +0000

Changed in indicator-location (Ubuntu):
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-application - 12.10.1+14.04.20131125-0ubuntu1

---------------
indicator-application (12.10.1+14.04.20131125-0ubuntu1) trusty; urgency=low

  [ Charles Kerr ]
  * When we can't get a handle to the system bus, exit gracefully
    instead of crashing. (LP: #1197788)

  [ Ted Gould ]
  * Switch indicator application over to having an upstart job for
    managing the service. Also make it emit it's own event for when
    application indicators should be started so we can clean up the boot
    sequence. (LP: #1185565)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 242
 -- Ubuntu daily release <email address hidden> Mon, 25 Nov 2013 03:55:09 +0000

Changed in indicator-application (Ubuntu):
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-power - 12.10.6+14.04.20131125-0ubuntu1

---------------
indicator-power (12.10.6+14.04.20131125-0ubuntu1) trusty; urgency=low

  [ Charles Kerr ]
  * We really only need to keep a handful of properties up-to-date for
    each upower device. Given that upower requires us to refetch all
    properties with GetAll whenever it signals that it's changed, we
    really don't need to keep bus proxies alive for each device.
    Removing the autogenerated proxy code and just using a couple of the
    direct GDBusConnection API calls cuts out some unnecessary overhead
    according to health-check. See the before & after profile logs
    attached to the ticket. (LP: #1221871)
  * fix a minor memory leak that was caused by treating the variant
    returned by g_icon_serialize() as floating.

  [ Ted Gould ]
  * Switching DBus service to an Upstart Job. (LP: #1185565)

  [ Nick Dedekind ]
  * Removed Label from brightness slider. (LP: #1240756)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 215
 -- Ubuntu daily release <email address hidden> Mon, 25 Nov 2013 03:55:08 +0000

Changed in indicator-power (Ubuntu):
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-sync - 12.10.5+14.04.20131125-0ubuntu1

---------------
indicator-sync (12.10.5+14.04.20131125-0ubuntu1) trusty; urgency=low

  [ Ted Gould ]
  * Upstart jobs. (LP: #1185565)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 40
 -- Ubuntu daily release <email address hidden> Mon, 25 Nov 2013 03:55:05 +0000

Changed in indicator-sync (Ubuntu):
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-session - 12.10.5+14.04.20131125-0ubuntu1

---------------
indicator-session (12.10.5+14.04.20131125-0ubuntu1) trusty; urgency=low

  [ Charles Kerr ]
  * fix a minor memory leak that was caused by treating the variant
    returned by g_icon_serialize() as floating.

  [ Ted Gould ]
  * Upstart job for indicator-session. (LP: #1185565)

  [ Lars Uebernickel ]
  * Work around glib's type initialization deadlock.

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 420
 -- Ubuntu daily release <email address hidden> Mon, 25 Nov 2013 03:57:00 +0000

Changed in indicator-session (Ubuntu):
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package indicator-datetime - 13.10.0+14.04.20131125-0ubuntu1

---------------
indicator-datetime (13.10.0+14.04.20131125-0ubuntu1) trusty; urgency=low

  [ Charles Kerr ]
  * Switch the build system to cmake. (LP: #1237509)
  * As per the spec, let users show the year in indicator-datetime. (LP:
    #465689)
  * Don't generate g_critical() messages in the log when the timezone
    object is clearing its value. . (LP: #1246532)
  * When in the desktop-greeter mode, don't allow clicking on calendar
    dates to launch evolution. (LP: #1246812)
  * Use g_icon_serialize() output when setting menuitems' "icon"
    property.
  * In src/clock-live.c, pass the right pointer to
    on_detect_location_changed(). (LP: #1251460)

  [ Ted Gould ]
  * Adding a phone_greeter profile.
  * Upstart Job. (LP: #1185565)

  [ Ubuntu daily release ]
  * Automatic snapshot from revision 289
 -- Ubuntu daily release <email address hidden> Mon, 25 Nov 2013 03:55:52 +0000

Changed in indicator-datetime (Ubuntu):
status: New → Fix Released
Dimitri John Ledkov (xnox) wrote :

I agree with larsu on this one. Can we revert this? Or instead e.g. fix it properly - rebase upstart-dbus activation patches and still use dbus activation.

Dimitri John Ledkov (xnox) wrote :

given how similar all the indicators are, i'm not sure why there is a unique job for each one:

instance $INDICATOR
export INDICATOR
start on indicators-loaded or indicator-services-start
stop on desktop-end or indicator-services-end
respawn
exec /usr/lib/x86_64-linux-gnu/indicator-$INDICATOR/indicator-$INDICATOR-service

and then something else, e.g. can decide which indicators are wanted and simply do:
start indicator INDICATOR=sound

Such that to avoid boilerplate indicator-*.conf jobs. Each instance can individually be stopped, startered, restarted and gets it's own log file....

Similarly there is upstart-dbus-bridge, such that instead the indicators can do "start on dbus INTERFACE=com.ubuntu.foo", so I don't think removing dbus activation gains us anything, so far it only broke showing indicators in the ubiquity-dm and non-upstart mananged user-sessions where indicators can be used. At the moment, all user sessions on the desktop can be fully started without being managed by upstart and users can disable that.

Changed in ubiquity (Ubuntu):
status: In Progress → Invalid
Charles Kerr (charlesk) on 2014-01-28
Changed in indicator-datetime:
status: Fix Committed → Fix Released
Changed in indicator-power:
status: Fix Committed → Fix Released
Changed in indicator-session:
status: Fix Committed → Fix Released
Changed in indicator-sound:
status: Fix Committed → Fix Released
Oliver Grawert (ogra) wrote :

seems indicator-messages was forgotten (it significantly sticks out on the Ubuntu Touch bootcharts).
i added a task for it so it can be fixed before 14.40

Lars Karlitski (larsu) on 2014-04-11
Changed in indicator-messages (Ubuntu):
status: New → Fix Released
Changed in unity (Ubuntu):
status: New → Fix Released
Ted Gould (ted) on 2014-11-10
no longer affects: indicator-application
no longer affects: indicator-location
no longer affects: indicator-sync
no longer affects: libindicator
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related blueprints