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()