a36066c
diff -uN xen-4.5.0/tools/hotplug/Linux/systemd.orig/Makefile xen-4.5.0/tools/hotplug/Linux/systemd/Makefile
a36066c
--- xen-4.5.0/tools/hotplug/Linux/systemd.orig/Makefile	2015-01-12 16:53:24.000000000 +0000
a36066c
+++ xen-4.5.0/tools/hotplug/Linux/systemd/Makefile	2015-01-25 22:23:26.000000000 +0000
a36066c
@@ -14,7 +14,8 @@
a36066c
 XEN_SYSTEMD_SERVICE += xen-qemu-dom0-disk-backend.service
a36066c
 XEN_SYSTEMD_SERVICE += xendomains.service
a36066c
 XEN_SYSTEMD_SERVICE += xen-watchdog.service
a36066c
-XEN_SYSTEMD_SERVICE += xen-init-dom0.service
a36066c
+#XEN_SYSTEMD_SERVICE += xen-init-dom0.service
a36066c
+XEN_SYSTEMD_SERVICE += oxenstored.service
f8e0147
 XEN_SYSTEMD_SERVICE += xendriverdomain.service
a36066c
 
a36066c
 ALL_XEN_SYSTEMD =	$(XEN_SYSTEMD_MODULES)  \
a36066c
diff -uN xen-4.5.0/tools/hotplug/Linux/systemd.orig/var-lib-xenstored.mount.in xen-4.5.0/tools/hotplug/Linux/systemd/var-lib-xenstored.mount.in
a36066c
--- xen-4.5.0/tools/hotplug/Linux/systemd.orig/var-lib-xenstored.mount.in	2015-01-12 16:53:24.000000000 +0000
a36066c
+++ xen-4.5.0/tools/hotplug/Linux/systemd/var-lib-xenstored.mount.in	2015-01-25 22:28:59.000000000 +0000
a36066c
@@ -9,4 +9,4 @@
a36066c
 What=xenstore
a36066c
 Where=@XEN_LIB_STORED@
a36066c
 Type=tmpfs
a36066c
-Options=mode=755
a36066c
+Options=mode=755,context="system_u:object_r:xenstored_var_lib_t:s0"
a36066c
diff -uN xen-4.5.0/tools/hotplug/Linux/systemd.orig/xenconsoled.service.in xen-4.5.0/tools/hotplug/Linux/systemd/xenconsoled.service.in
a36066c
--- xen-4.5.0/tools/hotplug/Linux/systemd.orig/xenconsoled.service.in	2015-01-12 16:53:24.000000000 +0000
a36066c
+++ xen-4.5.0/tools/hotplug/Linux/systemd/xenconsoled.service.in	2015-01-25 22:30:26.000000000 +0000
a36066c
@@ -1,7 +1,7 @@
a36066c
 [Unit]
a36066c
 Description=Xenconsoled - handles logging from guest consoles and hypervisor
a36066c
-Requires=proc-xen.mount xenstored.service
a36066c
-After=proc-xen.mount xenstored.service
a36066c
+Requires=proc-xen.mount
a36066c
+After=proc-xen.mount xenstored.service oxenstored.service
a36066c
 ConditionPathExists=/proc/xen/capabilities
a36066c
 
a36066c
 [Service]
a36066c
diff -uN xen-4.5.0/tools/hotplug/Linux/systemd.orig/xendomains.service.in xen-4.5.0/tools/hotplug/Linux/systemd/xendomains.service.in
a36066c
--- xen-4.5.0/tools/hotplug/Linux/systemd.orig/xendomains.service.in	2015-01-12 16:53:24.000000000 +0000
a36066c
+++ xen-4.5.0/tools/hotplug/Linux/systemd/xendomains.service.in	2015-01-25 22:31:55.000000000 +0000
a36066c
@@ -1,7 +1,7 @@
a36066c
 [Unit]
a36066c
 Description=Xendomains - start and stop guests on boot and shutdown
a36066c
-Requires=proc-xen.mount xenstored.service
a36066c
-After=proc-xen.mount xenstored.service xenconsoled.service xen-init-dom0.service
a36066c
+Requires=proc-xen.mount
a36066c
+After=proc-xen.mount xenstored.service xenconsoled.service oxenstored.service
a36066c
 After=network-online.target
a36066c
 After=remote-fs.target
a36066c
 ConditionPathExists=/proc/xen/capabilities
a36066c
diff -uN xen-4.5.0/tools/hotplug/Linux/systemd.orig/xen-qemu-dom0-disk-backend.service.in xen-4.5.0/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in
a36066c
--- xen-4.5.0/tools/hotplug/Linux/systemd.orig/xen-qemu-dom0-disk-backend.service.in	2015-01-12 16:53:24.000000000 +0000
a36066c
+++ xen-4.5.0/tools/hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service.in	2015-01-25 22:34:36.000000000 +0000
a36066c
@@ -1,7 +1,7 @@
a36066c
 [Unit]
a36066c
 Description=qemu for xen dom0 disk backend
a36066c
-Requires=proc-xen.mount xenstored.service
a36066c
-After=proc-xen.mount xenstored.service xenconsoled.service
a36066c
+Requires=proc-xen.mount
a36066c
+After=proc-xen.mount xenstored.service xenconsoled.service oxenstored.service
a36066c
 Before=xendomains.service libvirtd.service libvirt-guests.service
a36066c
 RefuseManualStop=true
a36066c
 ConditionPathExists=/proc/xen/capabilities
b665e43
--- xen-4.6.0/tools/configure.ac.orig	2015-02-15 16:47:22.000000000 +0000
b665e43
+++ xen-4.6.0/tools/configure.ac	2015-03-01 16:18:30.493647587 +0000
b665e43
@@ -382,9 +382,9 @@
a36066c
 
b665e43
 AS_IF([test "x$systemd" = "xy"], [
b665e43
     AC_CONFIG_FILES([
b665e43
+    hotplug/Linux/systemd/oxenstored.service
b665e43
     hotplug/Linux/systemd/proc-xen.mount
b665e43
     hotplug/Linux/systemd/var-lib-xenstored.mount
b665e43
-    hotplug/Linux/systemd/xen-init-dom0.service
b665e43
     hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service
b665e43
     hotplug/Linux/systemd/xen-watchdog.service
b665e43
     hotplug/Linux/systemd/xenconsoled.service
b665e43
--- xen-4.6.0/tools/configure.orig	2015-02-15 16:47:22.000000000 +0000
b665e43
+++ xen-4.6.0/tools/configure	2015-03-01 16:20:10.648285840 +0000
b665e43
@@ -8995,7 +8995,7 @@
a36066c
 
b665e43
 if test "x$systemd" = "xy"; then :
a36066c
 
f8e0147
-    ac_config_files="$ac_config_files hotplug/Linux/systemd/proc-xen.mount hotplug/Linux/systemd/var-lib-xenstored.mount hotplug/Linux/systemd/xen-init-dom0.service hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service hotplug/Linux/systemd/xen-watchdog.service hotplug/Linux/systemd/xenconsoled.service hotplug/Linux/systemd/xendomains.service hotplug/Linux/systemd/xendriverdomain.service hotplug/Linux/systemd/xenstored.service"
f8e0147
+    ac_config_files="$ac_config_files hotplug/Linux/systemd/oxenstored.service hotplug/Linux/systemd/proc-xen.mount hotplug/Linux/systemd/var-lib-xenstored.mount hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service hotplug/Linux/systemd/xen-watchdog.service hotplug/Linux/systemd/xenconsoled.service hotplug/Linux/systemd/xendomains.service hotplug/Linux/systemd/xendriverdomain.service hotplug/Linux/systemd/xenstored.service"
a36066c
 
a36066c
 
b665e43
 fi
f8e0147
--- xen-4.8.0-rc2/tools/hotplug/Linux/launch-xenstore.in.orig	2016-10-10 19:10:56.000000000 +0100
f8e0147
+++ xen-4.8.0-rc2/tools/hotplug/Linux/launch-xenstore.in	2016-10-17 10:08:05.264638560 +0100
f8e0147
@@ -15,7 +15,9 @@
f8e0147
 # License along with this library; If not, see <http://www.gnu.org/licenses/>.
f8e0147
 #
f8e0147
 
f8e0147
+if [ "$XENSTORED" == "" ]; then
f8e0147
 XENSTORED=@XENSTORED@
f8e0147
+fi
f8e0147
 
f8e0147
 . @XEN_SCRIPT_DIR@/hotplugpath.sh
f8e0147
 
f8e0147
--- xen-4.8.0-rc2/tools/hotplug/Linux/systemd/xenstored.service.in.orig	2016-10-10 19:10:56.000000000 +0100
f8e0147
+++ xen-4.8.0-rc2/tools/hotplug/Linux/systemd/xenstored.service.in	2016-10-17 16:08:22.247227302 +0100
f8e0147
@@ -10,8 +10,10 @@
f8e0147
 Type=notify
f8e0147
 NotifyAccess=all
f8e0147
 RemainAfterExit=true
f8e0147
+Environment=XENSTORED=/usr/sbin/xenstored
f8e0147
 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
f8e0147
 ExecStart=@XEN_SCRIPT_DIR@/launch-xenstore
f8e0147
+ExecStartPost=-@LIBEXEC_BIN@/xen-init-dom0
f8e0147
 
f8e0147
 [Install]
f8e0147
 WantedBy=multi-user.target
f8e0147
--- xen-4.8.0-rc2/tools/hotplug/Linux/systemd/oxenstored.service.in.orig	2016-10-17 16:08:57.643505629 +0100
f8e0147
+++ xen-4.8.0-rc2/tools/hotplug/Linux/systemd/oxenstored.service.in	2016-10-17 16:10:02.499847897 +0100
f8e0147
@@ -0,0 +1,21 @@
f8e0147
+[Unit]
f8e0147
+Description=The ocaml version of Xen xenstore
f8e0147
+Requires=proc-xen.mount var-lib-xenstored.mount
f8e0147
+After=proc-xen.mount var-lib-xenstored.mount
f8e0147
+Before=libvirtd.service libvirt-guests.service
f8e0147
+RefuseManualStop=true
f8e0147
+ConditionPathExists=/proc/xen/capabilities
f8e0147
+
f8e0147
+[Service]
f8e0147
+Type=notify
f8e0147
+NotifyAccess=all
f8e0147
+RemainAfterExit=true
f8e0147
+Environment=XENSTORED=/usr/sbin/oxenstored
f8e0147
+ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
f8e0147
+ExecStart=@XEN_SCRIPT_DIR@/launch-xenstore
f8e0147
+ExecStartPost=-@LIBEXEC_BIN@/xen-init-dom0
f8e0147
+
f8e0147
+[Install]
f8e0147
+WantedBy=multi-user.target
f8e0147
+Also=proc-xen.mount
f8e0147
+Also=var-lib-xenstored.mount