on 1dfdb62 help sign in
21 files changed+116−195
since splitsnapshots
unifiedsplit
CMakeLists.txt+1−1 Jenkinsfile+4−1 data/unity8-dash.conf−26 data/unity8-dash.service+15 data/unity8-filewatcher.conf−13 data/unity8-greeter-wrapper+7−23 data/unity8-session+46 data/unity8.conf−95 data/unity8.service+14 debian/changelog+1−1 debian/control+9−6 debian/rules+2−2 debian/unity8.install+3−2 plugins/Unity/Launcher/dbusinterface.cpp+2 plugins/Unity/Session/dbusunitysessionservice.cpp+5−11 tests/plugins/Unity/Session/CMakeLists.txt+1 tests/plugins/Unity/Session/LogindServer.cpp−5 tests/plugins/Unity/Session/LogindServer.h−1 tests/plugins/Unity/Session/interfaces.xml−4 tests/plugins/Unity/Session/server.cpp+1−1 tests/plugins/Unity/Session/sessionbackendtest.cpp+5−3
CMakeLists.txt+1−1
@@ -78,7 +78,7 @@ pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
7878pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=12)
7979pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
8080pkg_check_modules(GD3 REQUIRED gnome-desktop-3.0)
81−pkg_check_modules(UAL REQUIRED ubuntu-app-launch-2)
81+pkg_check_modules(UAL REQUIRED ubuntu-app-launch-3)
8282pkg_check_modules(UBUNTUGESTURES REQUIRED UbuntuGestures)
8383pkg_check_modules(QTDBUSTEST REQUIRED
8484 libqtdbustest-1
Jenkinsfile+4−1
@@ -28,7 +28,7 @@ build-binary.sh'''
2828 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
2929 unstash 'source'
3030 sh '''export architecture="arm64"
31− build-binary.sh'''
31+ # build-binary.sh'''
3232 stash(includes: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo,lintian.txt', name: 'build-arm64')
3333 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
3434 }
@@ -38,6 +38,9 @@ build-binary.sh'''
3838 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
3939 unstash 'source'
4040 sh '''export architecture="amd64"
41+ export DEBBUILDOPTS=-sa
42+export SKIP_ARCH_BUILD=false
43+export SKIP_SOURCE_REMOVAL=true
4144 build-binary.sh'''
4245 stash(includes: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo,lintian.txt', name: 'build-amd64')
4346 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
data/unity8-dash.confdeleted−26
@@ -1,26 +0,0 @@
1−description "Unity Shell v8 Dash"
2−author "Michael Zanetti <michael.zanetti@canonical.com>"
3−
4−emits scope-ui-starting
5−
6−start on started unity8
7−stop on stopping unity8
8−
9−kill timeout 120
10−
11−# Focused app is 100 so we want to be less likely to get
12−# killed than the focused app but more than Unity8
13−
14−## FIXME
15−#oom score 50
16−
17−respawn
18−respawn limit unlimited
19−
20−env APP_ID=unity8-dash
21−
22−pre-start script
23− initctl emit scope-ui-starting
24−end script
25−
26−exec ${BINARY:-unity8-dash} $ARGS --desktop_file_hint=unity8-dash.desktop
data/unity8-dash.servicenew file+15
@@ -0,0 +1,15 @@
1+[Unit]
2+Description=Unity Shell v8 Dash
3+PartOf=graphical-session.target
4+BindsTo=unity8.service
5+After=unity8.service
6+
7+[Service]
8+ExecStart=/usr/bin/unity8-dash --desktop_file_hint=unity8-dash
9+Restart=always
10+TimeoutStartSec=120
11+Environment=APP_ID=unity8-dash
12+
13+# Focused app is 100 so we want to be less likely to get
14+# killed than the focused app but more than Unity8
15+OOMScoreAdjust=50
data/unity8-filewatcher.confdeleted−13
@@ -1,13 +0,0 @@
1−description "File system watcher for unity8"
2−author "Michael Zanetti <michael.zanetti@canonical.com>"
3−
4−# This method of updating the launcher will not work in our new snappy world,
5−# neither for snaps installed in the system nor if we are running inside a snap.
6−# Plus it hardcodes the phablet user... To be replaced once bug 1630997 is
7−# fixed in ubuntu-app-launch.
8−
9−# Workaround for bug 1360208. ~ and * in one expression doesn't work currently
10−start on (file FILE=/home/phablet/.local/share/applications/*.desktop) or (file FILE=/usr/share/applications/*.desktop)
11−
12−exec dbus-send --type=method_call --dest=com.canonical.Unity.Launcher /com/canonical/Unity/Launcher com.canonical.Unity.Launcher.Refresh
13−
data/unity8-greeter-wrapper+7−23
@@ -20,8 +20,8 @@ cleanup()
2020{
2121 trap - TERM EXIT
2222 # Kill upstart and indicators
23− if [ -n "$INIT_PID" ]; then
24− kill "$INIT_PID"
23+ if [ -n "$IND_PID" ]; then
24+ kill "$IND_PID"
2525 fi
2626 if [ -n "$CMD_PID" ]; then
2727 kill "$CMD_PID"
@@ -32,10 +32,7 @@ cleanup()
3232set_greeter_var()
3333{
3434 export "$1=$2"
35− gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.UpdateActivationEnvironment "{'$1': '$2'}"
36− if [ -n "$INIT_PID" ]; then
37− initctl set-env --global "$1=$2"
38− fi
35+ dbus-update-activation-environment --systemd "$1=$2"
3936}
4037
4138SUB_SOCKET=$XDG_RUNTIME_DIR/mir_socket
@@ -61,25 +58,12 @@ set_greeter_var QT_QPA_PLATFORM ubuntumirclient
6158# eventually need the greeter to play ringtones for users that aren't logged in.
6259set_greeter_var PA_DISABLED 1
6360
64−# Normal unity8 sessions are entirely driven by Upstart. But greeters
65−# are special. They need access to the file descriptors that lightdm
66−# creates for them and don't want to start all the services that a normal
67−# session would. So it's inconvenient to live within an upstart session.
68−# But... we still want to use Upstart for some services. So launch here.
69−MIR_SOCKET=$SUB_SOCKET $TOUCH_WRAPPER upstart --user --no-startup-event &
70−INIT_PID=$!
71−while [ ! -e "$XDG_RUNTIME_DIR/upstart/sessions/$INIT_PID.session" ]; do sleep 0.1; done
72−. "$XDG_RUNTIME_DIR/upstart/sessions/$INIT_PID.session"
73−export UPSTART_SESSION
74−
75−# Connect upstart to system, but do first command in a loop to avoid any
76−# race condition between the session file above being written and upstart being
77−# ready to handle requests.
78−while ! initctl notify-dbus-address "$DBUS_SESSION_BUS_ADDRESS"; do sleep 0.1; done
79−initctl start notify-cgmanager
61+# Start the indicators
62+/usr/lib/gnome-session/run-systemd-session indicators.target &
63+IND_PID=$!
8064
8165# Start any pre-greeter tasks if needed (like wizard)
82−initctl emit unity8-greeter-starting
66+#initctl emit unity8-greeter-starting FIXME
8367
8468# Define language here for phone if available. When phone user switches their
8569# language, they expect that to affect the greeter too. But the user doesn't
data/unity8-sessionnew file+46
@@ -0,0 +1,46 @@
1+#!/bin/sh
2+# -*- Mode: sh; indent-tabs-mode: nil; tab-width: 2 -*-
3+
4+# Ensure the shell always gets unthrottled touch events, so that applications
5+# who want full speed low-latency input can get it (LP: #1497105) and so that
6+# apps can use QML touch compression safely (the QML touch compression
7+# algorithm does not support nesting well - LP: #1486341, LP: #1556763 - so
8+# must be fed by the raw input event stream from Unity8).
9+export QML_NO_TOUCH_COMPRESSION=1
10+
11+export MIR_SERVER_PROMPT_FILE=1
12+
13+# Hard code socket path because our snappy apparmor profile
14+# only lets us put the socket in one place. And consumers expect it there.
15+# (XDG_RUNTIME_DIR isn't typical under snappy)
16+export MIR_SERVER_FILE=/run/user/$(id -u)/mir_socket
17+
18+rm -f "$MIR_SERVER_FILE"
19+rm -f "${MIR_SERVER_FILE}_trusted"
20+
21+if [ "$XDG_SESSION_DESKTOP" = "ubuntu-touch" ]; then
22+ # On Ubuntu Touch, we currently use a trick where we auto-login the
23+ # user without a LightDM greeter at all. In this case, we want to
24+ # start with the lockscreen visible. Once we switch to using a
25+ # proper greeter for the first login, we can remove this code path.
26+ MODE=full-greeter
27+else
28+ MODE=full-shell
29+fi
30+
31+dbus-update-activation-environment --systemd MIR_SOCKET=$MIR_SERVER_FILE
32+
33+# Tell unity-mir to raise SIGSTOP after we start, which we use to tell
34+# systemd when we are done starting up.
35+export UNITY_MIR_EMITS_SIGSTOP=1
36+
37+${BINARY:-unity8} --mode=$MODE "$@" &
38+child=$!
39+
40+# Wait for SIGSTOP in child
41+while [ $(ps --no-headers -o state $child) != "T" ]; do
42+ sleep 0.1
43+done
44+
45+kill -CONT $child
46+exit 0
data/unity8.confdeleted−95
@@ -1,95 +0,0 @@
1−description "Unity Shell v8"
2−author "Ricardo Mendoza <ricmm@ubuntu.com>"
3−
4−emits indicator-services-start
5−
6−start on ((xsession SESSION=ubuntu-touch) or (xsession SESSION=unity8-mir) or (xsession SESSION=unity8)) and started dbus
7−stop on desktop-end
8−
9−kill timeout 120
10−
11−#
12−# Ensure the shell always gets unthrottled touch events, so that applications
13−# who want full speed low-latency input can get it (LP: #1497105) and so that
14−# apps can use QML touch compression safely (the QML touch compression
15−# algorithm does not support nesting well - LP: #1486341, LP: #1556763 - so
16−# must be fed by the raw input event stream from Unity8).
17−#
18−env QML_NO_TOUCH_COMPRESSION=1
19−
20−respawn
21−expect stop
22−
23−# FIXME Create an autopilot test that makes sure start+stop and restart
24−# work fine at least 2 times
25−
26−pre-start script
27− # Tell unity-mir to raise SIGSTOP after we start
28− initctl set-env UNITY_MIR_EMITS_SIGSTOP=1
29−
30− # Save original value of MIR_SOCKET so that we can restore it when stopped,
31− # as we modify the variable for future jobs, including ourself.
32− initctl set-env UNITY_MIR_SOCKET=$MIR_SOCKET
33−
34− # Decide where we are going to put our own socket file
35− if [ -n "$SNAP" ]; then
36− # In snappy, we want to hard code our path because our apparmor profile
37− # only lets us put the socket in one place. And consumers expect it
38− # there.
39− MIR_SERVER_FILE=/run/user/$(id -u)/mir_socket
40− else
41− MIR_SERVER_FILE=$XDG_RUNTIME_DIR/mir_socket
42− fi
43− initctl set-env MIR_SERVER_FILE=$MIR_SERVER_FILE
44−
45− # Point all future jobs in this session to our Mir socket instead of
46− # unity-system-compositor's socket.
47− initctl set-env --global MIR_SOCKET=$MIR_SERVER_FILE
48− gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.UpdateActivationEnvironment "@a{ss} {'MIR_SOCKET': '$MIR_SERVER_FILE'}"
49−
50− # Remove the normal and trusted sockets if still there
51− if [ -S "$MIR_SERVER_FILE" ]; then
52− rm "$MIR_SERVER_FILE"
53− fi
54−
55− if [ -S "${MIR_SERVER_FILE}_trusted" ]; then
56− rm "${MIR_SERVER_FILE}_trusted"
57− fi
58−
59− initctl set-env --global MIR_SERVER_PROMPT_FILE=1
60−
61− # Disable Qt's stuttering 'touch compression' to fix scrolling smoothness
62− # issues (LP: #1486341, LP: #1556763). As a bonus, this eliminates most of
63− # the lag seen in the indicator panel pull-down (LP: #1488327) and also
64− # reduces lag seen in apps:
65− initctl set-env --global QML_NO_TOUCH_COMPRESSION=1
66−
67− # Workaround for text not rendering correctly
68− initctl set-env --global QT_ENABLE_GLYPH_CACHE_WORKAROUND=1
69−
70− if [ "$XDG_SESSION_DESKTOP" = "ubuntu-touch" ]; then
71− # On Ubuntu Touch, we currently use a trick where we auto-login the
72− # user without a LightDM greeter at all. In this case, we want to
73− # start with the lockscreen visible. Once we switch to using a
74− # proper greeter for the first login, we can remove this code path.
75− initctl set-env MODE=full-greeter
76− else
77− initctl set-env MODE=full-shell
78− fi
79−
80− # HACK! WORKAROUND FOR HALIUM MISSING UBUNTU_PLATFORM_API
81− initctl set-env --global UBUNTU_PLATFORM_API_BACKEND=test.so.3
82− initctl set-env --global UBUNTU_PLATFORM_API_SENSOR_TEST=/etc/ubuntusensors/test.sensors
83−end script
84−
85−exec ${BINARY:-unity8} --mode=$MODE $ARGS
86−
87−post-start script
88− initctl emit --no-wait indicator-services-start
89−end script
90−
91−post-stop script
92− initctl set-env --global MIR_SOCKET=$UNITY_MIR_SOCKET
93− initctl unset-env --global MIR_SERVER_PROMPT_FILE
94− initctl emit application-end
95−end script
data/unity8.servicenew file+14
@@ -0,0 +1,14 @@
1+[Unit]
2+Description=Unity Shell v8
3+PartOf=graphical-session.target
4+Requires=dbus.socket
5+After=dbus.socket
6+Before=indicators.target
7+Wants=indicators.target
8+
9+[Service]
10+Type=forking
11+ExecStart=/usr/bin/unity8-session
12+ExecStopPost=/usr/bin/dbus-update-activation-environment --systemd MIR_SOCKET=
13+Restart=on-failure
14+TimeoutStartSec=120
debian/changelog+1−1
@@ -1,4 +1,4 @@
1−unity8 (8.16.1+ubports) xenial; urgency=medium
1+unity8 (8.16.1+ubports) bionic; urgency=medium
22
33 * Imported to UBports
44
debian/control+9−6
@@ -6,6 +6,7 @@ Build-Depends: cmake,
66 dbus-test-runner,
77 debhelper (>= 9),
88 dh-apparmor,
9+ dh-systemd,
910 doxyqml,
1011# To allow cross-compiling to work, we also must append :native
1112# to g++ so we don't try to run arm g++
@@ -34,7 +35,7 @@ Build-Depends: cmake,
3435 libqt5svg5-dev,
3536 libqt5xmlpatterns5-dev,
3637 libsystemsettings-dev,
37− libubuntu-app-launch2-dev,
38+ libubuntu-app-launch3-dev,
3839 libubuntu-download-manager-common-dev,
3940 libubuntugestures5-dev (>= 1.3.2030),
4041 libubuntugestures5-private-dev (>= 1.3.2030),
@@ -61,7 +62,7 @@ Build-Depends: cmake,
6162 qml-module-qtsysteminfo,
6263 qml-module-qttest,
6364 qml-module-ubuntu-components (>= 1.3.2030) | qml-module-ubuntu-components-gles (>= 1.3.2030),
64− qml-module-ubuntu-web,
65+# qml-module-ubuntu-web,
6566 qt5-default,
6667 qtbase5-dev (>= 5.6),
6768 qtbase5-dev-tools,
@@ -71,6 +72,7 @@ Build-Depends: cmake,
7172 qtdeclarative5-private-dev (>= 5.6),
7273 qtdeclarative5-ubuntu-content1,
7374 qtdeclarative5-ubuntu-settings-components (>= 0.11),
75+ systemd,
7476 ttf-ubuntu-font-family,
7577 xvfb,
7678Standards-Version: 3.9.4
@@ -120,7 +122,8 @@ Description: Development tool for Unity scopes
120122Package: unity8
121123Architecture: any
122124Provides: indicator-renderer,
123−Depends: dmz-cursor-theme,
125+Depends: dbus,
126+ dmz-cursor-theme,
124127 gsettings-desktop-schemas,
125128 libcap2-bin,
126129 libglib2.0-bin,
@@ -131,7 +134,7 @@ Depends: dmz-cursor-theme,
131134 qml-module-qtqml-statemachine,
132135 qml-module-qtquick-xmllistmodel,
133136 qml-module-qtsysteminfo,
134− qml-module-ubuntu-web,
137+# qml-module-ubuntu-web,
135138 qtdeclarative5-qtmir-plugin (>= 0.4.8),
136139 qtdeclarative5-ubuntu-telephony0.1,
137140 ubuntu-system-settings (>= 0.4),
@@ -167,8 +170,8 @@ Depends: qml-module-qtquick-layouts,
167170 ubuntu-wallpapers,
168171 unity-application-impl-27,
169172 unity-notifications-impl-3,
170− unity-plugin-scopes | unity-scopes-impl,
171− unity-scopes-impl-12,
173+# unity-plugin-scopes | unity-scopes-impl,
174+# unity-scopes-impl-12,
172175 unity8-tests | unity-application-impl,
173176 ${misc:Depends},
174177Breaks: unity8 (<< 7.86),
debian/rules+2−2
@@ -9,7 +9,7 @@ export DPKG_GENSYMBOLS_CHECK_LEVEL=4
99export NO_PNG_PKG_MANGLE=1
1010
1111%:
12− dh $@ --parallel --fail-missing --with python3
12+ dh $@ --parallel --fail-missing --with python3,systemd
1313
1414override_dh_auto_configure:
1515 # Debian defines CMAKE_INSTALL_LOCALSTATEDIR as /usr/var, which is wrong.
@@ -30,7 +30,7 @@ override_dh_install:
3030 dh_install -X'*.pyc' --fail-missing
3131
3232override_dh_installdeb:
33− dh_apparmor --profile-name=usr.bin.unity8-dash -punity8-dash
33+ #dh_apparmor --profile-name=usr.bin.unity8-dash -punity8-dash
3434 dh_installdeb
3535
3636# use private lib directories
debian/unity8.install+3−2
@@ -1,7 +1,8 @@
11debian/usr.bin.unity8-dash etc/apparmor.d
22var/lib/unity8/version
3−data/unity8-filewatcher.conf usr/share/upstart/sessions/
4−data/unity8.conf usr/share/upstart/sessions/
3+data/unity8.service usr/lib/systemd/user
4+data/unity8-dash.service usr/lib/systemd/user
5+data/unity8-session usr/bin
56data/devices.conf etc/ubuntu/
67data/test.sensors etc/ubuntusensors/
78usr/bin/unity8
plugins/Unity/Launcher/dbusinterface.cpp+2
@@ -39,6 +39,8 @@ QString DBusInterface::introspect(const QString &path) const
3939 QString nodes;
4040
4141 // Add Refresh to introspect
42+ // TODO: Confirm this is still used anywhere and remove if not.
43+ // It used to be used in an upstart job when desktop fles changed.
4244 nodes = QStringLiteral("<interface name=\"com.canonical.Unity.Launcher\">"
4345 "<method name=\"Refresh\"/>"
4446 "</interface>");
plugins/Unity/Session/dbusunitysessionservice.cpp+5−11
@@ -36,6 +36,7 @@
3636
3737#define LOGIN1_SERVICE QStringLiteral("org.freedesktop.login1")
3838#define LOGIN1_PATH QStringLiteral("/org/freedesktop/login1")
39+#define LOGIN1_SESSION_ROOT QStringLiteral("/org/freedesktop/login1/session/")
3940#define LOGIN1_IFACE QStringLiteral("org.freedesktop.login1.Manager")
4041#define LOGIN1_SESSION_IFACE QStringLiteral("org.freedesktop.login1.Session")
4142
@@ -58,16 +59,9 @@ public:
5859
5960 void init()
6061 {
61− // get our logind session path
62− QDBusMessage msg = QDBusMessage::createMethodCall(LOGIN1_SERVICE,
63− LOGIN1_PATH,
64− LOGIN1_IFACE,
65− QStringLiteral("GetSessionByPID"));
66− msg << (quint32) getpid();
67−
68− QDBusReply<QDBusObjectPath> reply = QDBusConnection::SM_BUSNAME().call(msg);
69− if (reply.isValid()) {
70− logindSessionPath = reply.value().path();
62+ QString sessionID = QString::fromLocal8Bit(qgetenv("XDG_SESSION_ID"));
63+ if (!sessionID.isEmpty()) {
64+ logindSessionPath = LOGIN1_SESSION_ROOT + sessionID;
7165
7266 // start watching the Active property
7367 QDBusConnection::SM_BUSNAME().connect(LOGIN1_SERVICE, logindSessionPath, QStringLiteral("org.freedesktop.DBus.Properties"), QStringLiteral("PropertiesChanged"),
@@ -79,7 +73,7 @@ public:
7973 QDBusConnection::SM_BUSNAME().connect(LOGIN1_SERVICE, LOGIN1_PATH, LOGIN1_IFACE, QStringLiteral("PrepareForSleep"),
8074 this, SLOT(onResuming(bool)));
8175 } else {
82− qWarning() << "Failed to get logind session path" << reply.error().message();
76+ qWarning() << "Failed to get logind session: XDG_SESSION_ID is not set";
8377 }
8478 }
8579
tests/plugins/Unity/Session/CMakeLists.txt+1
@@ -60,6 +60,7 @@ install(TARGETS sessionbackendtestExec
6060
6161add_unity8_unittest(SessionBackend dbus-test-runner
6262 ENVIRONMENT LD_PRELOAD=$<TARGET_FILE:SessionBackendTestPreload>
63+ XDG_SESSION_ID=testing
6364 XDG_SESSION_PATH=/session
6465 ARG_PREFIX "--parameter"
6566 ARGS
tests/plugins/Unity/Session/LogindServer.cpp−5
@@ -22,11 +22,6 @@ LogindServer::LogindServer(QObject *parent)
2222{
2323}
2424
25−QDBusObjectPath LogindServer::GetSessionByPID(quint32)
26−{
27− return QDBusObjectPath("/logindsession");
28−}
29−
3025void LogindServer::Reboot(bool interactive)
3126{
3227 Q_EMIT RebootCalled(interactive);
tests/plugins/Unity/Session/LogindServer.h−1
@@ -30,7 +30,6 @@ public:
3030 explicit LogindServer(QObject *parent = nullptr);
3131
3232public Q_SLOTS:
33− QDBusObjectPath GetSessionByPID(quint32 pid);
3433 void Reboot(bool interactive);
3534 void PowerOff(bool interactive);
3635
tests/plugins/Unity/Session/interfaces.xml−4
@@ -3,10 +3,6 @@
33 <method name="Lock" />
44 </interface>
55 <interface name="org.freedesktop.login1.Manager">
6− <method name="GetSessionByPID">
7− <arg name="pid" type="u" direction="in" />
8− <arg name="session" type="o" direction="out" />
9− </method>
106 <method name="Reboot">
117 <arg name="interactive" type="b" direction="in" />
128 </method>
tests/plugins/Unity/Session/server.cpp+1−1
@@ -37,7 +37,7 @@ int main(int argc, char *argv[])
3737 auto connection = QDBusConnection::sessionBus();
3838 if (!connection.registerObject("/org/freedesktop/login1", logind))
3939 return 1;
40− if (!connection.registerObject("/logindsession", logind))
40+ if (!connection.registerObject("/org/freedesktop/login1/session/testing", logind))
4141 return 1;
4242 if (!connection.registerService("org.freedesktop.login1"))
4343 return 1;
tests/plugins/Unity/Session/sessionbackendtest.cpp+5−3
@@ -103,8 +103,8 @@ private Q_SLOTS:
103103 QCoreApplication::processEvents(); // to let the services register on DBus
104104
105105 QDBusInterface login1Interface("org.freedesktop.login1",
106− "/logindsession",
107− "org.freedesktop.login1.Manager");
106+ "/org/freedesktop/login1/session/testing",
107+ "org.freedesktop.login1.Manager");
108108 QSignalSpy spy(&login1Interface, signal.toUtf8().data());
109109
110110 QDBusInterface dbusGnomeSessionWrapper("org.gnome.SessionManager",
@@ -225,7 +225,9 @@ private Q_SLOTS:
225225 DBusUnitySessionService dbusUnitySessionService;
226226 QCoreApplication::processEvents(); // to let the service register on DBus
227227
228− QDBusInterface iface("org.freedesktop.login1", "/logindsession", "org.freedesktop.login1.Session");
228+ QDBusInterface iface("org.freedesktop.login1",
229+ "/org/freedesktop/login1/session/testing",
230+ "org.freedesktop.login1.Session");
229231 QVERIFY(iface.isValid());
230232
231233 QSignalSpy spy(&dbusUnitySessionService, SIGNAL(Unlocked()));