diff -Nru ubuntu-system-service-0.2.3/UbuntuSystemService/systemd.py ubuntu-system-service-0.2.4~build1/UbuntuSystemService/systemd.py
--- ubuntu-system-service-0.2.3/UbuntuSystemService/systemd.py 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/UbuntuSystemService/systemd.py 1970-01-01 00:00:00.000000000 +0000
@@ -1,286 +0,0 @@
-import socket
-import dbus
-import dbus.service
-import dbus.mainloop.glib
-dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
-
-from UbuntuSystemService.utils import *
-import os
-import subprocess
-
-class HostnameSystemdBackend(dbus.service.Object):
- """
- the backend implementing the hostnamed systemd interfaces
- """
-
- # some class properties
- DBUS_HOSTNAME_NAME = "org.freedesktop.hostname1"
-
- def __init__(self, bus=None):
- if bus is None:
- bus = dbus.SystemBus()
- bus_name = dbus.service.BusName(self.DBUS_HOSTNAME_NAME, bus=bus)
- dbus.service.Object.__init__(self, bus_name, "/org/freedesktop/hostname1")
-
- # Initialize properties
- try:
- f = open("/etc/hostname", "r")
- static_hostname = f.readline()
- f.close()
- except Exception:
- # We couldn't read /etc/hostname, so ignore
- static_hostname = socket.gethostname()
-
- self.properties = {
- "Hostname" : socket.gethostname(),
- "StaticHostname" : static_hostname,
- "PrettyHostname" : "",
- "IconName" : ""
- }
-
- # hostnamed interface
- @dbus.service.method(DBUS_HOSTNAME_NAME,
- in_signature='sb',
- out_signature='',
- sender_keyword='sender',
- connection_keyword='conn')
- def SetHostname(self, name, user_interaction, sender=None, conn=None):
- """
- Set the current hostname
- """
- if not authWithPolicyKit(sender, conn,
- "org.freedesktop.hostname1.set-hostname",
- user_interaction):
- raise PermissionDeniedError("Permission denied by policy")
-
- if subprocess.call(["hostname", "-b", name]) != 0:
- raise PermissionDeniedError("Could not run hostname command")
-
- self.properties["Hostname"] = name
- self.PropertiesChanged(self.DBUS_HOSTNAME_NAME,
- { "Hostname": name },
- [])
-
- return
-
- @dbus.service.method(DBUS_HOSTNAME_NAME,
- in_signature='sb',
- out_signature='',
- sender_keyword='sender',
- connection_keyword='conn')
- def SetStaticHostname(self, name, user_interaction, sender=None, conn=None):
- """
- Set the static hostname
- """
- if not authWithPolicyKit(sender, conn,
- "org.freedesktop.hostname1.set-static-hostname",
- user_interaction):
- raise PermissionDeniedError("Permission denied by policy")
-
- try:
- f = open("/etc/hostname", "w")
- f.write(name)
- f.close()
-
- self.properties["StaticHostname"] = name
- self.PropertiesChanged(self.DBUS_HOSTNAME_NAME,
- { "StaticHostname": name },
- [])
- except Exception:
- raise PermissionDeniedError("Can't write to /etc/hostname")
-
- @dbus.service.method(DBUS_HOSTNAME_NAME,
- in_signature='sb',
- out_signature='',
- sender_keyword='sender',
- connection_keyword='conn')
- def SetPrettyHostname(self, name, user_interaction, sender=None, conn=None):
- """
- Set the pretty hostname
- """
- # We don't have a standard place to have this information,
- # so ignoring for now
- pass
-
- @dbus.service.method(DBUS_HOSTNAME_NAME,
- in_signature='sb',
- out_signature='',
- sender_keyword='sender',
- connection_keyword='conn')
- def SetIconName(self, name, user_interaction, sender=None, conn=None):
- """
- Set icon name for this host
- """
- # We don't have a standard place to have this information,
- # so ignoring for now
- pass
-
- # Properties
- @dbus.service.method(dbus.PROPERTIES_IFACE,
- in_signature='ss',
- out_signature='v')
- def Get(self, interface_name, property_name):
- return self.properties[property_name]
-
- @dbus.service.method(dbus.PROPERTIES_IFACE,
- in_signature='s',
- out_signature='a{sv}')
- def GetAll(self, interface_name):
- if interface_name == self.DBUS_HOSTNAME_NAME:
- return self.properties
- else:
- raise dbus.exceptions.DBusException(
- 'com.example.UnknownInterface',
- 'The Foo object does not implement the %s interface'
- % interface_name)
-
- @dbus.service.method(dbus.PROPERTIES_IFACE,
- in_signature='ssv')
- def Set(self, interface_name, property_name, new_value):
- # All our properties are read-only
- pass
-
- @dbus.service.signal(dbus.PROPERTIES_IFACE,
- signature='sa{sv}as')
- def PropertiesChanged(self, interface_name, changed_properties,
- invalidated_properties):
- pass
-
-
-class LocaleSystemdBackend(dbus.service.Object):
- """
- the backend implementing the localed systemd interfaces
- """
-
- # some class properties
- DBUS_LOCALE_NAME = "org.freedesktop.locale1"
-
- def __init__(self, bus=None):
- if bus is None:
- bus = dbus.SystemBus()
- bus_name = dbus.service.BusName(self.DBUS_LOCALE_NAME, bus=bus)
- dbus.service.Object.__init__(self, bus_name, "/org/freedesktop/locale1")
-
- # Initialize properties
- locale = []
- try:
- f = open("/etc/default/locale")
- for line in f:
- if line.startswith("LANG") or line.startswith("LC_"):
- locale.append(line.strip('\n'))
-
- f.close()
- except Exception:
- pass
-
- (model, layout, variant, options) = get_keyboard_from_etc()
- self.properties = {
- "Locale" : locale,
- "VConsoleKeymap" : '',
- "VConsoleKeymapToggle" : '',
- "X11Layout" : layout,
- "X11Model" : model,
- "X11Variant" : variant,
- "X11Options" : options
- }
-
- # localed interface
- @dbus.service.method(DBUS_LOCALE_NAME,
- in_signature='asb',
- out_signature='',
- sender_keyword='sender',
- connection_keyword='conn')
- def SetLocale(self, locale, user_interaction, sender=None, conn=None):
- """
- Set the system locale
- """
- if not authWithPolicyKit(sender, conn,
- "org.freedesktop.locale1.set-locale",
- user_interaction):
- raise PermissionDeniedError("Permission denied by policy")
-
- try:
- f = open("/etc/default/locale", "w")
- for line in locale:
- f.write(line + "\n")
- f.close();
-
- self.properties["Locale"] = locale
- self.PropertiesChanged(self.DBUS_LOCALE_NAME,
- { "Locale": locale },
- [])
- except Exception:
- raise PermissionDeniedError("Could not save to /etc/default/locale")
-
- @dbus.service.method(DBUS_LOCALE_NAME,
- in_signature='ssbb',
- out_signature='',
- sender_keyword='sender',
- connection_keyword='conn')
- def SetVConsoleKeyboard(self, keymap, keymap_toggle, convert, user_interaction, sender=None, conn=None):
- """
- Set vconsole keyboard
- """
- if not authWithPolicyKit(sender, conn,
- "org.freedesktop.locale1.set-keyboard",
- user_interaction):
- raise PermissionDeniedError("Permission denied by policy")
-
- @dbus.service.method(DBUS_LOCALE_NAME,
- in_signature='ssssbb',
- out_signature='',
- sender_keyword='sender',
- connection_keyword='conn')
- def SetX11Keyboard(self, layout, model, variant, options, convert, user_interaction, sender=None, conn=None):
- """
- Set the keyboard for X11
- """
- if not authWithPolicyKit(sender, conn,
- "org.freedesktop.locale1.set-keyboard",
- user_interaction):
- raise PermissionDeniedError("Permission denied by policy")
-
- if set_keyboard_to_etc(model, layout, variant, options):
- self.properties["X11Layout"] = layout
- self.properties["X11Model"] = model
- self.properties["X11Variant"] = variant
- self.properties["X11Options"] = options
-
- self.PropertiesChanged(self.DBUS_LOCALE_NAME,
- { "X11Layout": layout,
- "X11Model": model,
- "X11Variant": variant,
- "X11Options": options },
- [])
- return
-
- # Properties
- @dbus.service.method(dbus.PROPERTIES_IFACE,
- in_signature='ss',
- out_signature='v')
- def Get(self, interface_name, property_name):
- return self.properties[property_name]
-
- @dbus.service.method(dbus.PROPERTIES_IFACE,
- in_signature='s',
- out_signature='a{sv}')
- def GetAll(self, interface_name):
- if interface_name == self.DBUS_LOCALE_NAME:
- return self.properties
- else:
- raise dbus.exceptions.DBusException(
- 'com.example.UnknownInterface',
- 'The Foo object does not implement the %s interface'
- % interface_name)
-
- @dbus.service.method(dbus.PROPERTIES_IFACE,
- in_signature='ssv')
- def Set(self, interface_name, property_name, new_value):
- # All our properties are read-only
- pass
-
- @dbus.service.signal(dbus.PROPERTIES_IFACE,
- signature='sa{sv}as')
- def PropertiesChanged(self, interface_name, changed_properties,
- invalidated_properties):
- pass
diff -Nru ubuntu-system-service-0.2.3/backend/org.freedesktop.hostname1.conf ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.hostname1.conf
--- ubuntu-system-service-0.2.3/backend/org.freedesktop.hostname1.conf 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.hostname1.conf 1970-01-01 00:00:00.000000000 +0000
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -Nru ubuntu-system-service-0.2.3/backend/org.freedesktop.hostname1.policy.in ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.hostname1.policy.in
--- ubuntu-system-service-0.2.3/backend/org.freedesktop.hostname1.policy.in 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.hostname1.policy.in 1970-01-01 00:00:00.000000000 +0000
@@ -1,49 +0,0 @@
-
-
-
-
-
-
-
- The systemd Project
- http://www.freedesktop.org/wiki/Software/systemd
-
-
- <_description>Set host name
- <_message>Authentication is required to set the local host name.
-
- auth_admin_keep
- auth_admin_keep
- auth_admin_keep
-
-
-
-
- <_description>Set static host name
- <_message>Authentication is required to set the statically configured local host name, as well as the pretty host name.
-
- auth_admin_keep
- auth_admin_keep
- auth_admin_keep
-
-
-
-
- <_description>Set machine information
- <_message>Authentication is required to set local machine information.
-
- auth_admin_keep
- auth_admin_keep
- auth_admin_keep
-
-
-
-
diff -Nru ubuntu-system-service-0.2.3/backend/org.freedesktop.hostname1.service ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.hostname1.service
--- ubuntu-system-service-0.2.3/backend/org.freedesktop.hostname1.service 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.hostname1.service 1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-# This file was taken from systemd.
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-[D-BUS Service]
-Name=org.freedesktop.hostname1
-Exec=/usr/lib/system-service/system-service-d
-User=root
-SystemdService=dbus-org.freedesktop.hostname1.service
diff -Nru ubuntu-system-service-0.2.3/backend/org.freedesktop.locale1.conf ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.locale1.conf
--- ubuntu-system-service-0.2.3/backend/org.freedesktop.locale1.conf 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.locale1.conf 1970-01-01 00:00:00.000000000 +0000
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -Nru ubuntu-system-service-0.2.3/backend/org.freedesktop.locale1.policy.in ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.locale1.policy.in
--- ubuntu-system-service-0.2.3/backend/org.freedesktop.locale1.policy.in 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.locale1.policy.in 1970-01-01 00:00:00.000000000 +0000
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
- The systemd Project
- http://www.freedesktop.org/wiki/Software/systemd
-
-
- <_description>Set system locale
- <_message>Authentication is required to set the system locale.
-
- auth_admin_keep
- auth_admin_keep
- auth_admin_keep
-
-
-
-
- <_description>Set system keyboard settings
- <_message>Authentication is required to set the system keyboard settings.
-
- auth_admin_keep
- auth_admin_keep
- auth_admin_keep
-
-
-
-
diff -Nru ubuntu-system-service-0.2.3/backend/org.freedesktop.locale1.service ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.locale1.service
--- ubuntu-system-service-0.2.3/backend/org.freedesktop.locale1.service 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/backend/org.freedesktop.locale1.service 1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-# This file was taken from systemd.
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-[D-BUS Service]
-Name=org.freedesktop.locale1
-Exec=/usr/lib/system-service/system-service-d
-User=root
-SystemdService=dbus-org.freedesktop.locale1.service
diff -Nru ubuntu-system-service-0.2.3/backend/system-service-d ubuntu-system-service-0.2.4~build1/backend/system-service-d
--- ubuntu-system-service-0.2.3/backend/system-service-d 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/backend/system-service-d 2013-02-18 15:22:57.000000000 +0000
@@ -20,12 +20,9 @@
import gobject
from UbuntuSystemService.backend import ServiceBackend
-from UbuntuSystemService.systemd import HostnameSystemdBackend, LocaleSystemdBackend
if __name__ == "__main__":
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
server = ServiceBackend()
- hostname_server = HostnameSystemdBackend()
- locale_server = LocaleSystemdBackend()
gobject.MainLoop().run()
diff -Nru ubuntu-system-service-0.2.3/debian/changelog ubuntu-system-service-0.2.4~build1/debian/changelog
--- ubuntu-system-service-0.2.3/debian/changelog 2012-09-17 10:38:59.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/debian/changelog 2013-03-04 14:26:59.000000000 +0000
@@ -1,3 +1,9 @@
+ubuntu-system-service (0.2.4~build1) raring; urgency=low
+
+ * Drop systemd compat, that conflicts with systemd-service
+
+ -- Sebastien Bacher Mon, 18 Feb 2013 15:25:42 +0000
+
ubuntu-system-service (0.2.3) quantal; urgency=low
* Add missing files to POTFILES.in. LP: #1036840
diff -Nru ubuntu-system-service-0.2.3/po/POTFILES.in ubuntu-system-service-0.2.4~build1/po/POTFILES.in
--- ubuntu-system-service-0.2.3/po/POTFILES.in 2012-09-17 10:19:18.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/po/POTFILES.in 2013-02-21 09:42:48.000000000 +0000
@@ -1,3 +1 @@
backend/com.ubuntu.systemservice.policy.in
-backend/org.freedesktop.hostname1.policy.in
-backend/org.freedesktop.locale1.policy.in
diff -Nru ubuntu-system-service-0.2.3/setup.cfg ubuntu-system-service-0.2.4~build1/setup.cfg
--- ubuntu-system-service-0.2.3/setup.cfg 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/setup.cfg 2013-02-21 09:43:18.000000000 +0000
@@ -4,8 +4,6 @@
[build_i18n]
domain=system-service
xml_files=[ ("share/polkit-1/actions/",
- ("backend/com.ubuntu.systemservice.policy.in",
- "backend/org.freedesktop.hostname1.policy.in",
- "backend/org.freedesktop.locale1.policy.in",)
+ ("backend/com.ubuntu.systemservice.policy.in",)
)
]
diff -Nru ubuntu-system-service-0.2.3/setup.py ubuntu-system-service-0.2.4~build1/setup.py
--- ubuntu-system-service-0.2.3/setup.py 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/setup.py 2013-02-21 09:43:37.000000000 +0000
@@ -12,13 +12,9 @@
data_files=[
# dbus stuff
('share/dbus-1/system-services',
- ['backend/com.ubuntu.SystemService.service',
- 'backend/org.freedesktop.hostname1.service',
- 'backend/org.freedesktop.locale1.service']),
+ ['backend/com.ubuntu.SystemService.service']),
('../etc/dbus-1/system.d/',
- ["backend/com.ubuntu.SystemService.conf",
- "backend/org.freedesktop.hostname1.conf",
- "backend/org.freedesktop.locale1.conf"]),
+ ["backend/com.ubuntu.SystemService.conf"]),
('lib/system-service/',
["backend/system-service-d"]),
],
diff -Nru ubuntu-system-service-0.2.3/test/interactive/test_systemd ubuntu-system-service-0.2.4~build1/test/interactive/test_systemd
--- ubuntu-system-service-0.2.3/test/interactive/test_systemd 2012-09-17 10:17:53.000000000 +0000
+++ ubuntu-system-service-0.2.4~build1/test/interactive/test_systemd 1970-01-01 00:00:00.000000000 +0000
@@ -1,85 +0,0 @@
-#!/usr/bin/python
-
-import dbus
-import os
-import unittest
-
-class TestSystemd(unittest.TestCase):
-
- def setUp(self):
- self.system_bus = dbus.SystemBus()
- self.localed = dbus.Interface(
- self.system_bus.get_object ("org.freedesktop.locale1", "/org/freedesktop/locale1"),
- "org.freedesktop.locale1")
- self.localed_props = dbus.Interface(
- self.system_bus.get_object ("org.freedesktop.locale1", "/org/freedesktop/locale1"),
- "org.freedesktop.DBus.Properties")
-
- self.hostnamed = dbus.Interface(
- self.system_bus.get_object ("org.freedesktop.hostname1", "/org/freedesktop/hostname1"),
- "org.freedesktop.hostname1")
- self.hostnamed_props = dbus.Interface(
- self.system_bus.get_object ("org.freedesktop.hostname1", "/org/freedesktop/hostname1"),
- "org.freedesktop.DBus.Properties")
-
- def test_hostname(self):
- old_hostname = self.hostnamed_props.Get("org.freedesktop.hostname1", "Hostname")
- new_hostname = "ubuntu-system-service"
-
- self.hostnamed.SetHostname(new_hostname, True)
- assert(new_hostname == self.hostnamed_props.Get("org.freedesktop.hostname1", "Hostname"))
-
- # Now restore to the previous value
- self.hostnamed.SetHostname(old_hostname, True)
- assert(old_hostname == self.hostnamed_props.Get("org.freedesktop.hostname1", "Hostname"))
-
- def test_static_hostname(self):
- old_hostname = self.hostnamed_props.Get("org.freedesktop.hostname1", "StaticHostname")
- new_hostname = "ubuntu-system-service"
-
- self.hostnamed.SetStaticHostname(new_hostname, True)
- assert(new_hostname == self.hostnamed_props.Get("org.freedesktop.hostname1", "StaticHostname"))
- assert(new_hostname == open("/etc/hostname").read())
-
- # Now restore to the previous value
- self.hostnamed.SetStaticHostname(old_hostname, True)
- assert(old_hostname == self.hostnamed_props.Get("org.freedesktop.hostname1", "StaticHostname"))
- assert(old_hostname == open("/etc/hostname").read())
-
- def test_set_locale(self):
- old_locale = self.localed_props.Get("org.freedesktop.locale1", "Locale")
- new_locale = [ "LANG=en_US.UTF-8", "LC_MONETARY=es" ]
-
- self.localed.SetLocale(new_locale, True)
- assert(new_locale == self.localed_props.Get("org.freedesktop.locale1", "Locale"))
-
- # Now restore to the previous value
- self.localed.SetLocale(old_locale, True)
- assert(old_locale == self.localed_props.Get("org.freedesktop.locale1", "Locale"))
-
- def test_keyboard(self):
- old_model = self.localed_props.Get("org.freedesktop.locale1", "X11Model")
- old_layout = self.localed_props.Get("org.freedesktop.locale1", "X11Layout")
- old_variant = self.localed_props.Get("org.freedesktop.locale1", "X11Variant")
- old_options = self.localed_props.Get("org.freedesktop.locale1", "X11Options")
-
- new_model = "pc105"
- new_layout = "es"
- new_variant = ""
- new_options = ""
-
- self.localed.SetX11Keyboard(new_layout, new_model, new_variant, new_options, True, True)
- assert(new_model == self.localed_props.Get("org.freedesktop.locale1", "X11Model"))
- assert(new_layout == self.localed_props.Get("org.freedesktop.locale1", "X11Layout"))
- assert(new_variant == self.localed_props.Get("org.freedesktop.locale1", "X11Variant"))
- assert(new_options == self.localed_props.Get("org.freedesktop.locale1", "X11Options"))
-
- # Now restore to the previous value
- self.localed.SetX11Keyboard(old_layout, old_model, old_variant, old_options, True, True)
- assert(old_model == self.localed_props.Get("org.freedesktop.locale1", "X11Model"))
- assert(old_layout == self.localed_props.Get("org.freedesktop.locale1", "X11Layout"))
- assert(old_variant == self.localed_props.Get("org.freedesktop.locale1", "X11Variant"))
- assert(old_options == self.localed_props.Get("org.freedesktop.locale1", "X11Options"))
-
-if __name__ == "__main__":
- unittest.main()