summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/dbusmock/files/0.16.9-replace-dbus-launch.patch')
-rw-r--r--dev-python/dbusmock/files/0.16.9-replace-dbus-launch.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/dev-python/dbusmock/files/0.16.9-replace-dbus-launch.patch b/dev-python/dbusmock/files/0.16.9-replace-dbus-launch.patch
new file mode 100644
index 000000000000..54149ed033aa
--- /dev/null
+++ b/dev-python/dbusmock/files/0.16.9-replace-dbus-launch.patch
@@ -0,0 +1,76 @@
+From 9470c54a2836795974e83e55ea859e4653b20b37 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martin@piware.de>
+Date: Mon, 19 Jun 2017 16:31:28 +0200
+Subject: [PATCH] Call dbus-daemon directly instead of dbus-launch
+
+dbus-launch is X11 specific and being deprecated.
+
+Adjust documentation to use dbus-run-session instead.
+
+https://bugs.debian.org/836053
+---
+ NEWS | 4 ++++
+ README.rst | 6 +++---
+ dbusmock/testcase.py | 18 ++++++++++--------
+ 3 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index c1250ea..181a4df 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,7 @@
++0.17 (UNRELEASED)
++-----------------
++ - Call dbus-daemon directly instead of dbus-launch. (Debian #836053)
++
+ 0.16.9 (2017-06-19)
+ -------------------
+ - NetworkManager template: Fix type of 'State' property in AddActiveConnection()
+diff --git a/README.rst b/README.rst
+index 3dc4552..310e1ac 100644
+--- a/README.rst
++++ b/README.rst
+@@ -118,9 +118,9 @@ Let's walk through:
+ Simple example from shell
+ -------------------------
+
+-We use the actual session bus for this example. You can use ``dbus-launch`` to
+-start a private one as well if you want, but that is not part of the actual
+-mocking.
++We use the actual session bus for this example. You can use
++``dbus-run-session`` to start a private one as well if you want, but that is
++not part of the actual mocking.
+
+ So let's start a mock at the D-Bus name ``com.example.Foo`` with an initial
+ "main" object on path /, with the main D-Bus interface
+diff --git a/dbusmock/testcase.py b/dbusmock/testcase.py
+index 825c61f..49787e2 100644
+--- a/dbusmock/testcase.py
++++ b/dbusmock/testcase.py
+@@ -97,16 +97,18 @@ def start_dbus(klass, conf=None):
+ Normally you do not need to call this directly. Use start_system_bus()
+ and start_session_bus() instead.
+ '''
+- argv = ['dbus-launch']
++ argv = ['dbus-daemon', '--fork', '--print-address=1', '--print-pid=1']
+ if conf:
+ argv.append('--config-file=' + conf)
+- out = subprocess.check_output(argv, universal_newlines=True)
+- variables = {}
+- for line in out.splitlines():
+- (k, v) = line.split('=', 1)
+- variables[k] = v
+- return (int(variables['DBUS_SESSION_BUS_PID']),
+- variables['DBUS_SESSION_BUS_ADDRESS'])
++ else:
++ argv.append('--session')
++ lines = subprocess.check_output(argv, universal_newlines=True).strip().splitlines()
++ assert len(lines) == 2, 'expected exactly 2 lines of output from dbus-daemon'
++ # usually the first line is the address, but be lenient and accept any order
++ try:
++ return (int(lines[1]), lines[0])
++ except ValueError:
++ return (int(lines[0]), lines[1])
+
+ @classmethod
+ def stop_dbus(klass, pid):