diff options
author | root <root@rshg054.dnsready.net> | 2012-08-19 00:04:07 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-08-19 00:04:07 +0000 |
commit | c512f9eb344575ac6bce0b13729c05e1760cd094 (patch) | |
tree | 8d60a9bd559a941bba52a67170900c159d2024eb /testing/openvpn | |
parent | 948da5eabcbf8d74270e661d0730ba1c203913f5 (diff) |
Sun Aug 19 00:04:07 UTC 2012
Diffstat (limited to 'testing/openvpn')
-rw-r--r-- | testing/openvpn/PKGBUILD | 75 | ||||
-rw-r--r-- | testing/openvpn/openvpn-tapdev.conf | 12 | ||||
-rwxr-xr-x | testing/openvpn/openvpn-tapdev.rc | 40 | ||||
-rwxr-xr-x | testing/openvpn/openvpn.rc | 43 | ||||
-rw-r--r-- | testing/openvpn/openvpn@.service | 10 |
5 files changed, 180 insertions, 0 deletions
diff --git a/testing/openvpn/PKGBUILD b/testing/openvpn/PKGBUILD new file mode 100644 index 000000000..ea7443098 --- /dev/null +++ b/testing/openvpn/PKGBUILD @@ -0,0 +1,75 @@ +# $Id: PKGBUILD 165397 2012-08-17 23:28:47Z heftig $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgname=openvpn +pkgver=2.2.2 +pkgrel=2 +pkgdesc="An easy-to-use, robust, and highly configurable VPN (Virtual Private Network)" +arch=(i686 x86_64) +url="http://openvpn.net/index.php/open-source.html" +depends=('openssl' 'lzo2' 'iproute2') +license=('custom') +backup=(usr/share/openvpn/easy-rsa/vars + usr/share/openvpn/easy-rsa/openssl-1.0.0.cnf + etc/conf.d/openvpn-tapdev) +source=(http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz + http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz.asc + openvpn@.service + openvpn.rc + openvpn-tapdev.rc + openvpn-tapdev.conf) +md5sums=('c5181e27b7945fa6276d21873329c5c7' + '81ff11ec8cd9fc3c8bc646aae24c4298' + '44047df812a3fcd57a7e36a61732a9b9' + 'a3809b9727f0c2af2d0770f5c7442db2' + 'd2c48e970088d679dd3c2afd914ff731' + '722f483c9e3ce2ec66d3301aaf7cf3d5') + +build() { + cd $srcdir/$pkgname-$pkgver + # Build openvpn + CFLAGS="$CFLAGS -DPLUGIN_LIBDIR=\\\"/usr/lib/openvpn\\\"" ./configure \ + --prefix=/usr \ + --enable-password-save \ + --mandir=/usr/share/man \ + --enable-iproute2 + make + + # Build plugins + for plug in auth-pam down-root; do + cd $srcdir/$pkgname-$pkgver/plugin/$plug + make + done +} + +package() { + cd $srcdir/$pkgname-$pkgver + # Install openvpn + make DESTDIR=$pkgdir install + install -d -m755 $pkgdir/etc/openvpn + # Install examples + install -d -m755 $pkgdir/usr/share/openvpn + cp -r sample-config-files $pkgdir/usr/share/openvpn/examples + find $pkgdir/usr/share/openvpn -type f -exec chmod 644 {} \; + find $pkgdir/usr/share/openvpn -type d -exec chmod 755 {} \; + # Install license + install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING + # Install plugins + for plug in auth-pam down-root; do + cd $srcdir/$pkgname-$pkgver/plugin/$plug + install -D -m755 openvpn-$plug.so $pkgdir/usr/lib/openvpn/openvpn-$plug.so + cd - + done + # Install contrib + install -d -m755 $pkgdir/usr/share/openvpn/contrib + cp -r contrib $pkgdir/usr/share/openvpn + # Install easy-rsa + cd $srcdir/$pkgname-$pkgver + make -C easy-rsa/2.0 install DESTDIR=$pkgdir PREFIX=usr/share/openvpn/easy-rsa + rm -f ${pkgdir}/usr/share/openvpn/easy-rsa/openssl-0.9.?.cnf + # Install rc scripts + install -D -m755 $srcdir/openvpn.rc $pkgdir/etc/rc.d/openvpn + install -D -m755 $srcdir/openvpn-tapdev.rc $pkgdir/etc/rc.d/openvpn-tapdev + install -D -m644 $srcdir/openvpn-tapdev.conf $pkgdir/etc/conf.d/openvpn-tapdev + install -D -m644 $srcdir/openvpn@.service $pkgdir/usr/lib/systemd/system/openvpn@.service +} diff --git a/testing/openvpn/openvpn-tapdev.conf b/testing/openvpn/openvpn-tapdev.conf new file mode 100644 index 000000000..afa5586dd --- /dev/null +++ b/testing/openvpn/openvpn-tapdev.conf @@ -0,0 +1,12 @@ +# +# /etc/conf.d/openvpn-tapdev +# +# Place openvpn-tapdev before network into your DAEMONS array +# This will create permanent tap devices which you can use for bridging +# +# Example: +# TAPDEVS="work home" +# Will create two tap devices "work" and "home" +# + +TAPDEVS="" diff --git a/testing/openvpn/openvpn-tapdev.rc b/testing/openvpn/openvpn-tapdev.rc new file mode 100755 index 000000000..2c51f8248 --- /dev/null +++ b/testing/openvpn/openvpn-tapdev.rc @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +. /etc/conf.d/openvpn-tapdev + +case "$1" in + start) + stat_busy "Creating tap devices for OpenVPN ... " + success=0 + for tapdev in ${TAPDEVS}; do + stat_append "${tapdev} " + /usr/sbin/openvpn --mktun --dev-type tap --dev ${tapdev} >/dev/null 2>&1 || success=$? + done + if [ $success -eq 0 ]; then + add_daemon openvpn-tapdev + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Destroying tap devices for OpenVPN ..." + for tapdev in ${TAPDEVS}; do + stat_append "${tapdev} " + /usr/sbin/openvpn --rmtun --dev-type tap --dev ${tapdev} >/dev/null 2>&1 || success=$? + done + rm_daemon openvpn-tapdev + stat_done + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/openvpn/openvpn.rc b/testing/openvpn/openvpn.rc new file mode 100755 index 000000000..96c28b641 --- /dev/null +++ b/testing/openvpn/openvpn.rc @@ -0,0 +1,43 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +CFGDIR="/etc/openvpn" +STATEDIR="/var/run/openvpn" + +case "$1" in + start) + stat_busy "Starting OpenVPN ... " + success=0 + mkdir -p "${STATEDIR}" + for cfg in "${CFGDIR}"/*.conf; do + stat_append "$(basename "${cfg}" .conf) " + /usr/sbin/openvpn --daemon --writepid "${STATEDIR}"/"$(basename "${cfg}" .conf)".pid --cd "${CFGDIR}" --config "${cfg}" || success=$? + done + if [ $success -eq 0 ]; then + add_daemon openvpn + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Stopping OpenVPN ..." + for pidfile in "${STATEDIR}"/*.pid; do + stat_append "$(basename "${pidfile}" .pid) " + kill $(cat "${pidfile}" 2>/dev/null) 2>/dev/null + rm -f "${pidfile}" + done + rm_daemon openvpn + stat_done + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/openvpn/openvpn@.service b/testing/openvpn/openvpn@.service new file mode 100644 index 000000000..c3de3bdf7 --- /dev/null +++ b/testing/openvpn/openvpn@.service @@ -0,0 +1,10 @@ +[Unit] +Description=OpenVPN connection to %i +After=network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/openvpn --config /etc/openvpn/%i.conf --daemon openvpn@%i --cd /etc/openvpn + +[Install] +WantedBy=multi-user.target |