summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-04-12 19:09:26 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-04-23 21:47:28 -0400
commit3ca0cb7363bca613eaa5d206f4e13ae2927ae9a0 (patch)
tree6588ee920b46030bbbf11b2d7de2d18b5dca92c4
parentb710072da4410641512d328f82ee35a7d5d8248a (diff)
meson: properly conditionalize polkit installation
... including pkla installation on Debian. v2: - fix polkit-gobject-1 pkgconfig name
-rw-r--r--meson.build15
-rw-r--r--meson_options.txt2
-rw-r--r--src/core/meson.build4
-rw-r--r--src/hostname/meson.build2
-rw-r--r--src/import/meson.build2
-rw-r--r--src/locale/meson.build2
-rw-r--r--src/login/meson.build2
-rw-r--r--src/machine/meson.build2
-rw-r--r--src/network/meson.build10
-rw-r--r--src/timedate/meson.build2
10 files changed, 33 insertions, 10 deletions
diff --git a/meson.build b/meson.build
index b04c92776c..9b46a7edd8 100644
--- a/meson.build
+++ b/meson.build
@@ -617,6 +617,21 @@ if smack_run_label != ''
m4_defines += ['-DHAVE_SMACK_RUN_LABEL']
endif
+want_polkit = get_option('polkit')
+install_polkit = false
+install_polkit_pkla = false
+if want_polkit != 'no'
+ conf.set('ENABLE_POLKIT', 1)
+ install_polkit = true
+
+ libpolkit = dependency('polkit-gobject-1',
+ required : false)
+ if libpolkit.found() and libpolkit.version().version_compare('< 0.106')
+ message('Old polkit detected, will install pkla files')
+ install_polkit_pkla = true
+ endif
+endif
+
want_audit = get_option('audit')
if want_audit != 'no'
libaudit = dependency('audit', required : want_audit == 'yes')
diff --git a/meson_options.txt b/meson_options.txt
index 610e365fcd..b1b80bfa69 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -159,6 +159,8 @@ option('smack', type : 'combo', choices : ['auto', 'yes', 'no'],
description : 'SMACK support')
option('smack-run-label', type : 'string',
description : 'run systemd --system itself with a specific SMACK label')
+option('polkit', type : 'combo', choices : ['auto', 'yes', 'no'],
+ description : 'PolicyKit support')
option('audit', type : 'combo', choices : ['auto', 'yes', 'no'],
description : 'libaudit support')
diff --git a/src/core/meson.build b/src/core/meson.build
index bf4e2dbed9..97410a8cc4 100644
--- a/src/core/meson.build
+++ b/src/core/meson.build
@@ -203,7 +203,7 @@ custom_target(
input : policy_in,
output : 'org.freedesktop.systemd1.policy',
command : intltool_command,
- install : true,
+ install : install_polkit,
install_dir : polkitpolicydir)
# TODO: this might work with meson from git, see
@@ -214,7 +214,7 @@ custom_target(
# po_dir : po_dir,
# input : policy_in,
# output : 'org.freedesktop.systemd1.policy',
-# install : true,
+# install : install_polkit,
# install_dir : polkitpolicydir)
install_data('system.conf',
diff --git a/src/hostname/meson.build b/src/hostname/meson.build
index 43a035c0bf..6985a41910 100644
--- a/src/hostname/meson.build
+++ b/src/hostname/meson.build
@@ -11,6 +11,6 @@ if conf.get('ENABLE_HOSTNAMED', 0) == 1
input : 'org.freedesktop.hostname1.policy.in',
output : 'org.freedesktop.hostname1.policy',
command : intltool_command,
- install : true,
+ install : install_polkit,
install_dir : polkitpolicydir)
endif
diff --git a/src/import/meson.build b/src/import/meson.build
index 173d6d6f3f..66f43dd714 100644
--- a/src/import/meson.build
+++ b/src/import/meson.build
@@ -61,7 +61,7 @@ if conf.get('ENABLE_IMPORTD', 0) == 1
input : 'org.freedesktop.import1.policy.in',
output : 'org.freedesktop.import1.policy',
command : intltool_command,
- install : true,
+ install : install_polkit,
install_dir : polkitpolicydir)
install_data('import-pubring.gpg',
diff --git a/src/locale/meson.build b/src/locale/meson.build
index 2f903cffd0..775ad2ce77 100644
--- a/src/locale/meson.build
+++ b/src/locale/meson.build
@@ -19,7 +19,7 @@ if conf.get('ENABLE_LOCALED', 0) == 1
input : 'org.freedesktop.locale1.policy.in',
output : 'org.freedesktop.locale1.policy',
command : intltool_command,
- install : true,
+ install : install_polkit,
install_dir : polkitpolicydir)
endif
diff --git a/src/login/meson.build b/src/login/meson.build
index 75b8498862..d3e2b73e8b 100644
--- a/src/login/meson.build
+++ b/src/login/meson.build
@@ -78,7 +78,7 @@ if conf.get('ENABLE_LOGIND', 0) == 1
input : 'org.freedesktop.login1.policy.in',
output : 'org.freedesktop.login1.policy',
command : intltool_command,
- install : true,
+ install : install_polkit,
install_dir : polkitpolicydir)
install_data('70-power-switch.rules',
diff --git a/src/machine/meson.build b/src/machine/meson.build
index bf4f88f1aa..de98246282 100644
--- a/src/machine/meson.build
+++ b/src/machine/meson.build
@@ -34,7 +34,7 @@ if conf.get('ENABLE_MACHINED', 0) == 1
input : 'org.freedesktop.machine1.policy.in',
output : 'org.freedesktop.machine1.policy',
command : intltool_command,
- install : true,
+ install : install_polkit,
install_dir : polkitpolicydir)
endif
diff --git a/src/network/meson.build b/src/network/meson.build
index 66d6a52dcf..4cde777292 100644
--- a/src/network/meson.build
+++ b/src/network/meson.build
@@ -108,8 +108,14 @@ if conf.get('ENABLE_NETWORKD', 0) == 1
install_dir : dbuspolicydir)
install_data('org.freedesktop.network1.service',
install_dir : dbussystemservicedir)
- install_data('systemd-networkd.rules',
- install_dir : polkitrulesdir)
+ if install_polkit
+ install_data('systemd-networkd.rules',
+ install_dir : polkitrulesdir)
+ endif
+ if install_polkit_pkla
+ install_data('systemd-networkd.pkla',
+ install_dir : polkitpkladir)
+ endif
tests += [
[['src/network/test-networkd-conf.c'],
diff --git a/src/timedate/meson.build b/src/timedate/meson.build
index f9c19f1d67..52518a87e4 100644
--- a/src/timedate/meson.build
+++ b/src/timedate/meson.build
@@ -11,6 +11,6 @@ if conf.get('ENABLE_TIMEDATED', 0) == 1
input : 'org.freedesktop.timedate1.policy.in',
output : 'org.freedesktop.timedate1.policy',
command : intltool_command,
- install : true,
+ install : install_polkit,
install_dir : polkitpolicydir)
endif