[packages/vtun] - up to 3.0.3 - added systemd service
baggins
baggins at pld-linux.org
Fri Aug 16 18:37:58 CEST 2013
commit 0128b96b4dced01b357b1646d5ace20bc8d69985
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Fri Aug 16 18:37:38 2013 +0200
- up to 3.0.3
- added systemd service
vtun-linking.patch | 2 +-
vtun-sslauth.patch | 4 ++--
vtun.service | 10 ++++++++++
vtun.sh | 28 ++++++++++++++++++++++++++++
vtun.spec | 26 +++++++++++++++++++++-----
5 files changed, 62 insertions(+), 8 deletions(-)
---
diff --git a/vtun.spec b/vtun.spec
index 732a077..8cd1d31 100644
--- a/vtun.spec
+++ b/vtun.spec
@@ -5,15 +5,17 @@
Summary: Virtual tunnel over TCP/IP networks
Summary(pl.UTF-8): Wirtualne tunele poprzez sieci TCP/IP
Name: vtun
-Version: 3.0.2
-Release: 4
+Version: 3.0.3
+Release: 1
Epoch: 2
License: GPL
Group: Networking/Daemons
Source0: http://dl.sourceforge.net/vtun/%{name}-%{version}.tar.gz
-# Source0-md5: d3d8bc4d58886498a1c338670eab9315
+# Source0-md5: f3becf2a0270910a841060c08d1db824
Source1: %{name}.init
Source2: %{name}.sysconfig
+Source3: %{name}.service
+Source4: %{name}.sh
Patch1: %{name}-autoheader.patch
Patch2: %{name}-sslauth.patch
Patch3: %{name}-linking.patch
@@ -24,10 +26,11 @@ BuildRequires: bison
BuildRequires: flex
BuildRequires: lzo-devel >= 2.0.1
%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.671
BuildRequires: zlib-devel
Requires(post,preun): /sbin/chkconfig
Requires: rc-scripts
+Requires: systemd-units >= 206-6
Obsoletes: vppp
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -72,7 +75,8 @@ cp -f /usr/share/automake/config.* .
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8} \
- $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_localstatedir}/log/vtun}
+ $RPM_BUILD_ROOT{/etc/{sysconfig,rc.d/init.d},%{_localstatedir}/log/vtun} \
+ $RPM_BUILD_ROOT{/lib/systemd/pld-helpers.d,%{systemdunitdir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
@@ -80,6 +84,8 @@ install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man8} \
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/vtund
install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/vtun
+install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/vtund.service
+install %{SOURCE4} $RPM_BUILD_ROOT/lib/systemd/pld-helpers.d/vtund.sh
touch $RPM_BUILD_ROOT%{_sysconfdir}/vtund.conf
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/vtun.8
echo ".so vtund.8" > $RPM_BUILD_ROOT%{_mandir}/man8/vtun.8
@@ -90,12 +96,20 @@ rm -rf $RPM_BUILD_ROOT
%post
/sbin/chkconfig --add vtund
%service vtund restart "vtun daemons"
+%systemd_post vtund.service
%preun
if [ "$1" = "0" ]; then
%service vtund stop
/sbin/chkconfig --del vtund
fi
+%systemd_preun vtund.service
+
+%postun
+%systemd_reload
+
+%triggerpostun -- %{name} < 2:3.0.3-1
+%systemd_trigger vtund.service
%files
%defattr(644,root,root,755)
@@ -103,6 +117,8 @@ fi
%attr(754,root,root) /etc/rc.d/init.d/vtund
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vtun
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vtund.conf
+%{systemdunitdir}/vtund.service
+%attr(755,root,root) /lib/systemd/pld-helpers.d/vtund.sh
%attr(755,root,root) %{_sbindir}/vtund
%attr(755,root,root) %dir /var/log/vtund
%{_mandir}/man*/*
diff --git a/vtun-linking.patch b/vtun-linking.patch
index e8c6034..d892053 100644
--- a/vtun-linking.patch
+++ b/vtun-linking.patch
@@ -5,7 +5,7 @@ diff -Nur vtun/Makefile.in vtun.linking/Makefile.in
#
CC = @CC@
CFLAGS = @CFLAGS@ @CPPFLAGS@
--LDFLAGS = @LIBS@
+-LDFLAGS = @LDFLAGS@ @LIBS@
+LIBS = @LIBS@
+LDFLAGS = @LDFLAGS@
diff --git a/vtun-sslauth.patch b/vtun-sslauth.patch
index 67d0db0..f700a05 100644
--- a/vtun-sslauth.patch
+++ b/vtun-sslauth.patch
@@ -166,8 +166,8 @@ diff -Nur vtun-3.0.2-orig/cfg_file.y vtun-3.0.2/cfg_file.y
%token K_OPTIONS K_DEFAULT K_PORT K_BINDADDR K_PERSIST K_TIMEOUT
%token K_PASSWD K_PROG K_PPP K_SPEED K_IFCFG K_FWALL K_ROUTE K_DEVICE
%token K_MULTI K_SRCADDR K_IFACE K_ADDR
--%token K_TYPE K_PROT K_COMPRESS K_ENCRYPT K_KALIVE K_STAT
-+%token K_TYPE K_PROT K_COMPRESS K_ENCRYPT K_KALIVE K_STAT K_SSLAUTH
+-%token K_TYPE K_PROT K_NAT_HACK K_COMPRESS K_ENCRYPT K_KALIVE K_STAT
++%token K_TYPE K_PROT K_NAT_HACK K_COMPRESS K_ENCRYPT K_KALIVE K_STAT K_SSLAUTH
%token K_UP K_DOWN K_SYSLOG K_IPROUTE
%token <str> K_HOST K_ERROR
diff --git a/vtun.service b/vtun.service
new file mode 100644
index 0000000..cbbb3b8
--- /dev/null
+++ b/vtun.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Virtual Tunnels over TCP/IP networks
+After=local-fs.target
+
+[Service]
+Type=forking
+ExecStart=/lib/systemd/pld-helpers.d/vtund.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/vtun.sh b/vtun.sh
new file mode 100644
index 0000000..25caf43
--- /dev/null
+++ b/vtun.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# Get service config
+[ -f /etc/sysconfig/vtun ] && . /etc/sysconfig/vtun
+
+err_exit() {
+ echo $@
+ exit 1
+}
+
+[ -n "$VTUND_MODE" ] || err_exit "VTUND_MODE not set"
+
+VTUND_OPTS="$VTUND_OPTS -f $VTUND_CONF"
+
+if [ $VTUND_MODE = "server" ]; then
+ VTUND_OPTS="$VTUND_OPTS -s"
+
+elif [ $VTUND_MODE = "client" ]; then
+ [ -n "$VTUND_SESSION" ] || err_exit "VTUND_SESSION not set"
+ [ -n "$VTUND_SERVER_ADDR" ] || err_exit "VTUND_SERVER_ADDR not set"
+ [ -n "$VTUND_PORT" ] && VTUND_OPTS="$VTUND_OPTS -P $VTUND_PORT"
+ VTUND_OPTS="$VTUND_OPTS $VTUND_SESSION $VTUND_SERVER_ADDR"
+
+else
+ err_exit "Invalid VTUND_MODE ($VTUND_MODE), should be set to \"server\" or \"client\""
+fi
+
+exec /usr/sbin/vtund $VTUND_OPTS
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vtun.git/commitdiff/0128b96b4dced01b357b1646d5ace20bc8d69985
More information about the pld-cvs-commit
mailing list