5
from distutils.core import setup, Command
6
from distutils.command.install import install
8
from landscape import UPSTREAM_VERSION
11
class install_dbus_service(Command):
12
description = "Fix script path in DBus service config"
15
def initialize_options(self):
18
def finalize_options(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
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")
34
for line in ff.readlines():
35
if line.strip()[:5] == "Exec=":
36
line = line.replace("/usr/bin", script_install_dir)
39
ff = open(service_path, "w")
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"
50
install.sub_commands.append(('install_dbus_service', None))
51
setup(name="landscape Client Settings PolicyKit",
52
version=UPSTREAM_VERSION,
53
description=pkit_description,
55
author_email=author_email,
57
packages=["landscape.ui",
60
"landscape.ui.model.configuration",
61
"landscape.ui.model.registration",
62
"landscape.ui.controller",
64
package_data={"landscape.ui.view":
65
["ui/landscape-client-settings.glade"]},
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})