SHA256
1
0
forked from pool/openvpn

Accepting request 173037 from network:vpn

- 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.
- Disabled systemd variant of restart on update rpm macro, adopted other
  macros to use openvpn.target to e.g. stop all instances on uninstall.

OBS-URL: https://build.opensuse.org/request/show/173037
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openvpn?expand=0&rev=46
This commit is contained in:
Stephan Kulow 2013-04-23 15:25:34 +00:00 committed by Git OBS Bridge
commit 6e8070f077
5 changed files with 45 additions and 22 deletions

View File

@ -1 +1 @@
D /var/run/openvpn 0710 root openvpn -
D /var/run/openvpn 0750 root root -

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
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.
- 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

View File

@ -1,14 +1,15 @@
[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target
Description=OpenVPN tunneling daemon instance using /etc/openvpn/%I.conf
After=network.target
PartOf=openvpn.target
[Service]
PrivateTmp=true
Type=forking
PrivateTmp=true
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf
ExecStart=/usr/sbin/openvpn --daemon --suppress-timestamps --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf
ExecReload=/sbin/killproc -p /var/run/openvpn/%i.pid -HUP /usr/sbin/openvpn
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target openvpn.target

View File

@ -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
@ -132,14 +133,17 @@ find contrib sample -type f -perm +100 \
export CFLAGS="$RPM_OPT_FLAGS -W -Wall -fno-strict-aliasing"
export LDFLAGS
%configure \
--enable-iproute2 \
--enable-x509-alt-username \
--enable-password-save \
--enable-plugins \
--enable-plugin-down-root \
--enable-plugin-auth-pam \
--with-lzo-headers=%_includedir/lzo \
CFLAGS="$CFLAGS -fPIE $PLUGIN_DEFS" \
--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 \
--with-lzo-headers=%_includedir/lzo \
CFLAGS="$CFLAGS -fPIE $PLUGIN_DEFS" \
LDFLAGS="$LDFLAGS -pie -lpam -rdynamic -Wl,-rpath,%{_libdir}/%{name}/plugin/lib"
make
@ -150,7 +154,8 @@ mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/openvpn
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}.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
@ -170,22 +175,23 @@ install -m 755 $RPM_SOURCE_DIR/client-netconfig.down sample/sample-scripts/clien
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/{OpenVPN,%name}
%post
%__mkdir_p -m750 %{_localstatedir}/run/openvpn
%if %{with_systemd}
%service_add_post %{name}.service
%service_add_post %{name}.target
%else
%{?fillup_and_insserv:%fillup_and_insserv}
%endif
%preun
%if %{with_systemd}
%service_del_preun %{name}.service
%service_del_preun %{name}.target
%else
%{?stop_on_removal:%stop_on_removal openvpn}
%endif
%postun
%if %{with_systemd}
%service_del_postun %{name}.service
/bin/systemctl --system daemon-reload &>/dev/null || :
%else
%{?insserv_cleanup:%insserv_cleanup}
%endif
@ -203,7 +209,8 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/{OpenVPN,%name}
%doc %{_mandir}/man8/openvpn.8.gz
%config(noreplace) %{_sysconfdir}/openvpn/
%if %{with_systemd}
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}@.service
%{_unitdir}/%{name}.target
%{_libexecdir}/tmpfiles.d/%{name}.conf
%else
%config %{_sysconfdir}/init.d/openvpn
@ -211,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

3
openvpn.target Normal file
View File

@ -0,0 +1,3 @@
[Unit]
Description=OpenVPN target allowing to start/stop all openvpn@.service instances at once