[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