diff --git a/.gitignore b/.gitignore
index 1cd2d45808..174209352b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -54,6 +54,7 @@
/daemon/libvirtd.8.in
/daemon/libvirtd.init
/daemon/libvirtd.pod
+/daemon/libvirtd.policy
/daemon/libvirtd.service
/daemon/test_libvirtd.aug
/docs/apibuild.py.stamp
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 1c7505b743..1643f3891e 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -35,8 +35,7 @@ EXTRA_DIST = \
libvirtd.conf \
libvirtd.init.in \
libvirtd.upstart \
- libvirtd.policy-0 \
- libvirtd.policy-1 \
+ libvirtd.policy.in \
libvirtd.sasl \
libvirtd.sysconf \
libvirtd.sysctl \
@@ -173,13 +172,20 @@ libvirtd_LDADD += ../src/libvirt.la
if HAVE_POLKIT
if HAVE_POLKIT0
policydir = $(datadir)/PolicyKit/policy
-policyfile = libvirtd.policy-0
+policyauth = auth_admin_keep_session
else
policydir = $(datadir)/polkit-1/actions
-policyfile = libvirtd.policy-1
+policyauth = auth_admin_keep
endif
endif
+libvirtd.policy: libvirtd.policy.in $(top_builddir)/config.status
+ $(AM_V_GEN) sed \
+ -e 's![@]authaction[@]!$(policyauth)!g' \
+ < $< > $@-t && \
+ mv $@-t $@
+BUILT_SOURCES += libvirtd.policy
+
install-data-local: install-init-redhat install-init-systemd install-init-upstart \
install-data-sasl install-data-polkit \
install-logrotate install-sysctl
@@ -197,7 +203,7 @@ uninstall-local:: uninstall-init-redhat uninstall-init-systemd uninstall-init-up
if HAVE_POLKIT
install-data-polkit::
$(MKDIR_P) $(DESTDIR)$(policydir)
- $(INSTALL_DATA) $(srcdir)/$(policyfile) $(DESTDIR)$(policydir)/org.libvirt.unix.policy
+ $(INSTALL_DATA) libvirtd.policy $(DESTDIR)$(policydir)/org.libvirt.unix.policy
uninstall-data-polkit::
rm -f $(DESTDIR)$(policydir)/org.libvirt.unix.policy
rmdir $(DESTDIR)$(policydir) || :
diff --git a/daemon/libvirtd.policy-0 b/daemon/libvirtd.policy-0
deleted file mode 100644
index 5d6845c5c2..0000000000
--- a/daemon/libvirtd.policy-0
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
- Monitor local virtualized systems
- System policy prevents monitoring of local virtualized systems
-
-
- yes
- yes
- yes
-
-
-
-
- Manage local virtualized systems
- System policy prevents management of local virtualized systems
-
-
- auth_admin
- auth_admin
- auth_admin_keep_session
-
-
-
diff --git a/daemon/libvirtd.policy-1 b/daemon/libvirtd.policy.in
similarity index 96%
rename from daemon/libvirtd.policy-1
rename to daemon/libvirtd.policy.in
index c2bec1f2a7..45b0d799a5 100644
--- a/daemon/libvirtd.policy-1
+++ b/daemon/libvirtd.policy.in
@@ -36,7 +36,7 @@ file are instantly applied.
read-write mode for management, and we require user password -->
auth_admin
auth_admin
- auth_admin_keep
+ @authaction@