diff --git a/openvpn-tmpfile.conf b/openvpn-tmpfile.conf index 431c9f5..9416334 100644 --- a/openvpn-tmpfile.conf +++ b/openvpn-tmpfile.conf @@ -1 +1 @@ -D /var/run/openvpn 0710 root root - +D /var/run/openvpn 0750 root root - diff --git a/openvpn.changes b/openvpn.changes index 7076a4f..bb80770 100644 --- a/openvpn.changes +++ b/openvpn.changes @@ -1,13 +1,14 @@ ------------------------------------------------------------------- -Tue Apr 23 10:22:32 UTC 2013 - mt@suse.de +Tue Apr 23 13:20:48 UTC 2013 - mt@suse.de - Fixed to enable systemd support in configure +- Fixed openvpn-tmpfile.conf to use GID root, there is no openvpn group. +- Added openvpn.target file allowing to handle all instances at once. - Fixed to install the service template correctly as openvpn@.service. Use "systemctl enable openvpn@foo.service" to enable instance using /etc/openvpn/foo.conf. -- Fixed openvpn-tmpfile.conf to use GID root, there is no openvpn group. -- Disabled all systemd post install macros trying to use not existing - openvpn.service file. +- Disabled systemd variant of restart on update rpm macro, adopted other + macros to use openvpn.target to e.g. stop all instances on uninstall. ------------------------------------------------------------------- Tue Mar 26 14:38:48 UTC 2013 - aj@suse.com diff --git a/openvpn.service b/openvpn.service index 6e05253..71ec1d8 100644 --- a/openvpn.service +++ b/openvpn.service @@ -1,6 +1,7 @@ [Unit] -Description=OpenVPN Robust And Highly Flexible Tunneling Application Instance using %I.conf -After=syslog.target network.target +Description=OpenVPN tunneling daemon instance using /etc/openvpn/%I.conf +After=network.target +PartOf=openvpn.target [Service] Type=forking @@ -10,5 +11,5 @@ ExecStart=/usr/sbin/openvpn --daemon --suppress-timestamps --writepid /var/run/o ExecReload=/sbin/killproc -p /var/run/openvpn/%i.pid -HUP /usr/sbin/openvpn [Install] -WantedBy=multi-user.target +WantedBy=multi-user.target openvpn.target diff --git a/openvpn.spec b/openvpn.spec index 75ae8b6..4045ed4 100644 --- a/openvpn.spec +++ b/openvpn.spec @@ -43,7 +43,8 @@ Source4: client-netconfig.up Source5: client-netconfig.down Source7: %{name}.keyring Source8: %{name}.service -Source9: %{name}-tmpfile.conf +Source9: %{name}.target +Source10: %{name}-tmpfile.conf Patch1: %{name}-2.3-plugin-man.dif Patch5: %{name}-2.3.0-man-dot.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -135,7 +136,9 @@ export LDFLAGS --enable-iproute2 \ --enable-x509-alt-username \ --enable-password-save \ +%if %{with_systemd} --enable-systemd \ +%endif --enable-plugins \ --enable-plugin-down-root \ --enable-plugin-auth-pam \ @@ -152,6 +155,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/openvpn mkdir -p $RPM_BUILD_ROOT/%{_datadir}/openvpn %if %{with_systemd} install -D -m 644 $RPM_SOURCE_DIR/%{name}.service %{buildroot}/%{_unitdir}/%{name}@.service +install -D -m 644 $RPM_SOURCE_DIR/%{name}.target %{buildroot}/%{_unitdir}/%{name}.target # tmpfiles.d mkdir -p %{buildroot}%{_libexecdir}/tmpfiles.d install -m 0644 $RPM_SOURCE_DIR/%{name}-tmpfile.conf %{buildroot}%{_libexecdir}/tmpfiles.d/%{name}.conf @@ -171,21 +175,24 @@ install -m 755 $RPM_SOURCE_DIR/client-netconfig.down sample/sample-scripts/clien rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/{OpenVPN,%name} %post -%if ! %{with_systemd} -#service_add_post #{name}@.service -#else +%__mkdir_p -m750 %{_localstatedir}/run/openvpn +%if %{with_systemd} +%service_add_post %{name}.target +%else %{?fillup_and_insserv:%fillup_and_insserv} %endif %preun -%if ! %{with_systemd} -#service_del_preun #{name}@.service +%if %{with_systemd} +%service_del_preun %{name}.target %else %{?stop_on_removal:%stop_on_removal openvpn} %endif %postun -%if ! %{with_systemd} +%if %{with_systemd} +/bin/systemctl --system daemon-reload &>/dev/null || : +%else %{?insserv_cleanup:%insserv_cleanup} %endif @@ -203,6 +210,7 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/{OpenVPN,%name} %config(noreplace) %{_sysconfdir}/openvpn/ %if %{with_systemd} %{_unitdir}/%{name}@.service +%{_unitdir}/%{name}.target %{_libexecdir}/tmpfiles.d/%{name}.conf %else %config %{_sysconfdir}/init.d/openvpn @@ -210,7 +218,7 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/{OpenVPN,%name} %{_sbindir}/rcopenvpn %endif %{_sbindir}/openvpn -%attr(0755,root,root) %dir %ghost %{_localstatedir}/run/openvpn +%attr(0750,root,root) %dir %ghost %{_localstatedir}/run/openvpn %{_includedir}/%{name}-plugin.h %files down-root-plugin diff --git a/openvpn.target b/openvpn.target new file mode 100644 index 0000000..632256d --- /dev/null +++ b/openvpn.target @@ -0,0 +1,3 @@ +[Unit] +Description=OpenVPN target allowing to start/stop all openvpn@.service instances at once +