summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan-Michael Brummer <jan.brummer@tabos.org>2023-02-07 10:56:37 +0100
committerJan-Michael Brummer <jan.brummer@tabos.org>2023-03-27 16:31:58 +0200
commit6b59dd19f667135482de2a70f8a219c35af0eaa7 (patch)
tree9eea9893ecbe74c7175b35dd75e5f3ac7c40afe4 /src
parent0bd5a16259bb5274d0642aa98ae4c10d68b2479e (diff)
downloadlibproxy-git-6b59dd19f667135482de2a70f8a219c35af0eaa7.tar.gz
Add D-Bus service files (#38)
Diffstat (limited to 'src')
-rw-r--r--src/backend/dbus/meson.build20
-rw-r--r--src/backend/dbus/org.libproxy.proxy.conf21
-rw-r--r--src/backend/dbus/org.libproxy.proxy.service.in3
-rw-r--r--src/backend/dbus/proxyd.service.in6
-rw-r--r--src/backend/meson.build4
-rw-r--r--src/libproxy/meson.build2
6 files changed, 49 insertions, 7 deletions
diff --git a/src/backend/dbus/meson.build b/src/backend/dbus/meson.build
index 866d0b8..eb64fcd 100644
--- a/src/backend/dbus/meson.build
+++ b/src/backend/dbus/meson.build
@@ -1,7 +1,12 @@
-if get_option('dbus')
+if build_dbus
gdbus_codegen = find_program('gdbus-codegen')
unitdir = ''
+ dbus_data_dir = join_paths(get_option('prefix'), get_option('datadir'), 'dbus-1')
+ dbus_interfaces_dir = join_paths(dbus_data_dir, 'interfaces')
+ dbus_services_dir = join_paths(dbus_data_dir, 'services')
+ dbus_sysconf_dir = join_paths(dbus_data_dir, 'session.d')
+
systemd = dependency('systemd', required: false)
if systemd.found()
unitdir = systemd.get_variable(pkgconfig: 'systemduserunitdir')
@@ -57,6 +62,19 @@ if get_option('dbus')
service_data = configuration_data()
service_data.set('LIBEXECDIR', join_paths(px_prefix, get_option('libexecdir')))
+ dbus_service = configure_file(
+ input: 'org.libproxy.proxy.service.in',
+ output: 'org.libproxy.proxy.service',
+ configuration: service_data
+ )
+
+ install_data('org.libproxy.proxy.conf', install_dir : dbus_sysconf_dir)
+ install_data(dbus_service, install_dir : dbus_services_dir)
+ install_data('org.libproxy.proxy.xml', install_dir : dbus_interfaces_dir)
+
+ service_data = configuration_data()
+ service_data.set('LIBEXECDIR', join_paths(px_prefix, get_option('libexecdir')))
+
service = configure_file(
input: 'proxyd.service.in',
output: 'proxyd.service',
diff --git a/src/backend/dbus/org.libproxy.proxy.conf b/src/backend/dbus/org.libproxy.proxy.conf
new file mode 100644
index 0000000..f9232a1
--- /dev/null
+++ b/src/backend/dbus/org.libproxy.proxy.conf
@@ -0,0 +1,21 @@
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <policy user="root">
+ <allow own="org.libproxy.proxy"/>
+ </policy>
+ <policy context="default">
+ <allow send_destination="org.libproxy.proxy"
+ send_interface="org.freedesktop.DBus.Introspectable"/>
+
+ <allow send_destination="org.libproxy.proxy"
+ send_interface="org.freedesktop.DBus.Peer"/>
+
+ <allow send_destination="org.libproxy.proxy"
+ send_interface="org.freedesktop.DBus.Properties"/>
+
+ <allow send_destination="org.libproxy.proxy"
+ send_interface="org.libproxy.proxy"/>
+ </policy>
+</busconfig> \ No newline at end of file
diff --git a/src/backend/dbus/org.libproxy.proxy.service.in b/src/backend/dbus/org.libproxy.proxy.service.in
new file mode 100644
index 0000000..e958cd2
--- /dev/null
+++ b/src/backend/dbus/org.libproxy.proxy.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.libproxy.proxy
+Exec=@LIBEXECDIR@/proxyd \ No newline at end of file
diff --git a/src/backend/dbus/proxyd.service.in b/src/backend/dbus/proxyd.service.in
index 2e2a7cc..038e86d 100644
--- a/src/backend/dbus/proxyd.service.in
+++ b/src/backend/dbus/proxyd.service.in
@@ -6,13 +6,9 @@ Type=dbus
BusName=org.libproxy.proxy
ExecStart=@LIBEXECDIR@/proxyd
#Environment="G_MESSAGES_DEBUG=all"
-Restart=on-failure
MemoryDenyWriteExecute=yes
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full
-RestrictRealtime=yes
-
-[Install]
-WantedBy=default.target \ No newline at end of file
+RestrictRealtime=yes \ No newline at end of file
diff --git a/src/backend/meson.build b/src/backend/meson.build
index 24f3d88..bdca0f1 100644
--- a/src/backend/meson.build
+++ b/src/backend/meson.build
@@ -51,3 +51,7 @@ px_backend_dep = declare_dependency(
subdir('dbus')
subdir('plugins')
+
+summary({
+ 'D-Bus Service' : build_dbus,
+}, section: 'Architecture') \ No newline at end of file
diff --git a/src/libproxy/meson.build b/src/libproxy/meson.build
index 3ee67b6..0368e77 100644
--- a/src/libproxy/meson.build
+++ b/src/libproxy/meson.build
@@ -4,7 +4,7 @@ libproxy_inc = include_directories('.')
libproxy_sources = []
-if get_option('dbus')
+if build_dbus
libproxy_sources += [
'proxy-dbus.c',
]