Hello community,

here is the log from the commit of package hyper-v for openSUSE:Factory checked 
in at 2013-12-26 17:38:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyper-v (Old)
 and      /work/SRC/openSUSE:Factory/.hyper-v.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyper-v"

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyper-v/hyper-v.changes  2013-09-08 
15:27:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hyper-v.new/hyper-v.changes     2013-12-26 
17:38:10.000000000 +0100
@@ -1,0 +2,5 @@
+Wed Dec 18 14:46:37 CET 2013 - [email protected]
+
+- Use native systemd services for post 13.1 releases
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hyper-v.spec ++++++
--- /var/tmp/diff_new_pack.NjZJDM/_old  2013-12-26 17:38:11.000000000 +0100
+++ /var/tmp/diff_new_pack.NjZJDM/_new  2013-12-26 17:38:11.000000000 +0100
@@ -18,11 +18,23 @@
 
 %define hv_kvp_daemon hv_kvp_daemon
 %define hv_vss_daemon hv_vss_daemon
+%define helper_dir /usr/lib/%{name}
 
 Name:           hyper-v
 ExclusiveArch:  %ix86 x86_64
+# systemd for post 13.1 releases
+%if 0%{?suse_version} > 1310
+%define use_systemd 1
+%else
+%define use_systemd 0
+%endif
+%if %{use_systemd}
+%{?systemd_requires}
+BuildRequires:  pkgconfig(systemd)
+%else
 PreReq:         %insserv_prereq
 Requires(pre):  coreutils
+%endif
 Summary:        Microsoft Hyper-V tools
 License:        GPL-2.0
 Group:          System/Kernel
@@ -30,7 +42,7 @@
 Supplements:    modalias(pci:v00001414d00005353sv*sd*bc*sc*i*)
 Url:            http://www.kernel.org
 # Arbitrary version number
-Version:        5
+Version:        6
 Release:        0
 Source5:        hyper-v.kvptest.ps1.txt
 Source9:        hyper-v.include.linux.hyperv.h
@@ -84,23 +96,71 @@
 mkdir -p $RPM_BUILD_ROOT/usr/sbin
 install -m755 %{hv_kvp_daemon} $RPM_BUILD_ROOT/usr/sbin
 install -m755 %{hv_vss_daemon} $RPM_BUILD_ROOT/usr/sbin
-mkdir -p $RPM_BUILD_ROOT/usr/lib/%{name}/bin
-cp -avL %{S:20} $RPM_BUILD_ROOT/usr/lib/%{name}/bin/hv_get_dhcp_info
-cp -avL %{S:21} $RPM_BUILD_ROOT/usr/lib/%{name}/bin/hv_get_dns_info
-cp -avL %{S:22} $RPM_BUILD_ROOT/usr/lib/%{name}/bin/hv_set_ifconfig
-chmod 755 $RPM_BUILD_ROOT/usr/lib/%{name}/bin/*
+mkdir -p $RPM_BUILD_ROOT%{helper_dir}/bin
+cp -avL %{S:20} $RPM_BUILD_ROOT%{helper_dir}/bin/hv_get_dhcp_info
+cp -avL %{S:21} $RPM_BUILD_ROOT%{helper_dir}/bin/hv_get_dns_info
+cp -avL %{S:22} $RPM_BUILD_ROOT%{helper_dir}/bin/hv_set_ifconfig
+chmod 755 $RPM_BUILD_ROOT%{helper_dir}/bin/*
+%if %{use_systemd}
+d=$RPM_BUILD_ROOT%{_unitdir}
+mkdir -vp ${d}
+#
+cat > ${d}/%{hv_kvp_daemon}.service <<'EOF'
+[Unit]
+Description=Hyper-V KVP Daemon
+ConditionVirtualization=microsoft
+
+[Service]
+Environment=%{helper_dir}/bin:/usr/sbin:/usr/bin:/sbin:/bin
+Type=forking
+# Restart appears to work, but its unsupported
+# Reboot required until kernel-user protocol is fixed
+ExecStartPre=/usr/bin/mkdir /run/%{hv_kvp_daemon}
+ExecStart=/usr/sbin/%{hv_kvp_daemon}
+ExecReload=/usr/bin/false
+Restart=no
+
+[Install]
+WantedBy=default.target
+EOF
+#
+cat > ${d}/%{hv_vss_daemon}.service <<'EOF'
+[Unit]
+Description=Hyper-V VSS Daemon
+ConditionVirtualization=microsoft
+
+[Service]
+Type=forking
+# Restart appears to work, but its unsupported
+# Reboot required until kernel-user protocol is fixed
+ExecStartPre=/usr/bin/mkdir /run/%{hv_vss_daemon}
+ExecStart=/usr/sbin/%{hv_vss_daemon}
+ExecReload=/usr/bin/false
+Restart=no
+
+[Install]
+WantedBy=default.target
+EOF
+#
+head -n 42 ${d}/*.service 
+%else
 mkdir -p $RPM_BUILD_ROOT/etc/init.d
 install -m755 %{S:11} $RPM_BUILD_ROOT/etc/init.d/%{hv_kvp_daemon}
 ln -sfvbn ../../etc/init.d/%{hv_kvp_daemon} 
$RPM_BUILD_ROOT/usr/sbin/rc%{hv_kvp_daemon}
 install -m755 %{S:13} $RPM_BUILD_ROOT/etc/init.d/%{hv_vss_daemon}
 ln -sfvbn ../../etc/init.d/%{hv_vss_daemon} 
$RPM_BUILD_ROOT/usr/sbin/rc%{hv_vss_daemon}
+%endif
 
 %files
 %defattr (-,root,root)
 %doc kvptest.ps1.txt
+%if %{use_systemd}
+%{_unitdir}
+%else
 /etc/init.d/*
+%endif
 /usr/sbin/*
-/usr/lib/%{name}
+%{helper_dir}
 
 %pre
 # hv_kvp_daemon in SLES11 SP2 stored temporary state files in /var/opt
@@ -120,6 +180,10 @@
        fi
        rmdir -v  /var/opt/hyperv || :
 fi
+%if %{use_systemd}
+%{service_add_pre %{hv_kvp_daemon}.service}
+%{service_add_pre %{hv_vss_daemon}.service}
+%endif
 
 %post
 board_vendor=
@@ -138,18 +202,33 @@
 fi
 if test "${board_vendor}" = "Microsoft Corporation" -a "${product_name}" = 
"Virtual Machine"
 then
+%if %{use_systemd}
+%{service_add_post %{hv_kvp_daemon}.service}
+%{service_add_post %{hv_vss_daemon}.service}
+%else
        echo "Enabling %{hv_kvp_daemon} on '${product_name}' from 
'${board_vendor}'"
        %{insserv_force_if_yast %{hv_kvp_daemon}}
        echo "Enabling %{hv_vss_daemon} on '${product_name}' from 
'${board_vendor}'"
        %{insserv_force_if_yast %{hv_vss_daemon}}
+%endif
 fi
 
 %preun
+%if %{use_systemd}
+%{service_del_preun %{hv_kvp_daemon}.service}
+%{service_del_preun %{hv_vss_daemon}.service}
+%else
 %stop_on_removal %{hv_kvp_daemon}
 %stop_on_removal %{hv_vss_daemon}
+%endif
 
 %postun
 # no restart on update because the daemon can not be restarted
+%if %{use_systemd}
+%{service_del_postun %{hv_kvp_daemon}.service}
+%{service_del_postun %{hv_vss_daemon}.service}
+%else
 %insserv_cleanup
+%endif
 
 %changelog

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to