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]
