~jseutter/landscape-client/invalid-integer

« back to all changes in this revision

Viewing changes to setupui.py

Merged ui-permissions-and-panel [r=therve,free.ekanayaka][f=911665]

The following changes have been made:
  - Split Configuration model into a DBus service mechanism and a proxy for the client.
  - Split Registration model in to a DBus service mechanism and a proxy for the client (with asynchronous registration).
  - Create PolicyKit policies for configuration and registration and cause these to be checked by the relevant DBus service mechanism when it receives dbus calls (effectively trigger a challenge for a password and only allow admin users to continue).
   - Create DBus service and conf files for the two service mechanisms (Allowing them to be run by the System bus on demand)
   - Create an application desktop file causing the landscape-client-settings-ui program to be launchable from gnome-control-center
   - Create the icon preferences-management-service.svg to represent this activity in gnome-control-center.
   - Create setupui.py - a distutils script for the settings-ui components.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
 
 
3
import os
 
4
 
 
5
from distutils.core import setup, Command
 
6
from distutils.command.install import install
 
7
 
 
8
from landscape import UPSTREAM_VERSION
 
9
 
 
10
 
 
11
class install_dbus_service(Command):
 
12
    description = "Fix script path in DBus service config"
 
13
    user_options = []
 
14
 
 
15
    def initialize_options(self):
 
16
        pass
 
17
 
 
18
    def finalize_options(self):
 
19
        pass
 
20
 
 
21
    def run(self):
 
22
        install_bin = self.get_finalized_command('install_scripts')
 
23
        update_icon_cmd = "/usr/bin/gtk-update-icon-cache-3.0"
 
24
        icon_dir = "/usr/share/icons/hicolor/"
 
25
        os.system("%s %s" % (update_icon_cmd, icon_dir))
 
26
        script_install_dir = install_bin.install_dir
 
27
        output = ""
 
28
        service_dir = "/usr/share/dbus-1/system-services/"
 
29
        for service_file in os.listdir(service_dir):
 
30
            if service_file.find("com.canonical.LandscapeClient") > -1:
 
31
                service_path = os.path.join(service_dir, service_file)
 
32
                ff = open(service_path, "r")
 
33
                output = ""
 
34
                for line in ff.readlines():
 
35
                    if line.strip()[:5] == "Exec=":
 
36
                        line = line.replace("/usr/bin", script_install_dir)
 
37
                    output += line
 
38
                ff.close()
 
39
                ff = open(service_path, "w")
 
40
                ff.write(output)
 
41
                ff.close()
 
42
 
 
43
 
 
44
pkit_description = \
 
45
    "PolicyKit mechanism and policy for Landscape Client settings."
 
46
author = "Landscape Team"
 
47
author_email = "landscape-team@canonical.com"
 
48
url = "http://landscape.canonical.com"
 
49
 
 
50
install.sub_commands.append(('install_dbus_service', None))
 
51
setup(name="landscape Client Settings PolicyKit",
 
52
      version=UPSTREAM_VERSION,
 
53
      description=pkit_description,
 
54
      author=author,
 
55
      author_email=author_email,
 
56
      url=url,
 
57
      packages=["landscape.ui",
 
58
                "landscape.ui.lib",
 
59
                "landscape.ui.model",
 
60
                "landscape.ui.model.configuration",
 
61
                "landscape.ui.model.registration",
 
62
                "landscape.ui.controller",
 
63
                "landscape.ui.view"],
 
64
      package_data={"landscape.ui.view":
 
65
                        ["ui/landscape-client-settings.glade"]},
 
66
      data_files=[
 
67
        ('/usr/share/dbus-1/system-services/',
 
68
         ['dbus-1/com.canonical.LandscapeClientSettings.service',
 
69
          'dbus-1/com.canonical.LandscapeClientRegistration.service']),
 
70
        ('/usr/share/polkit-1/actions',
 
71
         ['polkit-1/com.canonical.LandscapeClientSettings.policy',
 
72
          'polkit-1/com.canonical.LandscapeClientRegistration.policy']),
 
73
        ('/etc/dbus-1/system.d/',
 
74
         ['dbus-1/com.canonical.LandscapeClientSettings.conf',
 
75
          'dbus-1/com.canonical.LandscapeClientRegistration.conf']),
 
76
        ('/usr/share/applications/',
 
77
         ['applications/landscape-client-settings.desktop']),
 
78
        ('/usr/share/icons/hicolor/scalable/apps/',
 
79
         ['icons/preferences-management-service.svg'])],
 
80
      scripts=['scripts/landscape-client-settings-mechanism',
 
81
               'scripts/landscape-client-registration-mechanism',
 
82
               "scripts/landscape-client-settings-ui"],
 
83
      cmdclass={"install_dbus_service": install_dbus_service})