summaryrefslogtreecommitdiff
path: root/pcr/openswan
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/openswan')
-rw-r--r--pcr/openswan/PKGBUILD56
-rw-r--r--pcr/openswan/compile.patch11
-rwxr-xr-xpcr/openswan/openswan43
-rwxr-xr-xpcr/openswan/openswan.rc.d43
-rwxr-xr-xpcr/openswan/openswan.service13
5 files changed, 166 insertions, 0 deletions
diff --git a/pcr/openswan/PKGBUILD b/pcr/openswan/PKGBUILD
new file mode 100644
index 000000000..ab7bd69f5
--- /dev/null
+++ b/pcr/openswan/PKGBUILD
@@ -0,0 +1,56 @@
+# Contributor: xjpvictor Huang <ke [AT] xjpvictor [DOT] info>
+pkgname=openswan
+pkgver=2.6.38
+pkgrel=2
+pkgdesc="Open Source implementation of IPsec for the Linux operating system"
+url="http://www.openswan.org"
+license=('GPL' 'custom')
+arch=('i686' 'x86_64')
+depends=('iproute2>=2.6.8' 'gmp' 'perl')
+makedepends=('flex' 'bison')
+conflicts=('ipsec-tools')
+backup=(etc/ipsec.conf \
+ etc/ipsec.d/policies/{block,clear,clear-or-private,private,private-or-clear})
+source=(http://download.openswan.org/openswan/openswan-$pkgver.tar.gz
+ openswan
+ openswan.service)
+
+prepare() {
+ cd $srcdir/openswan-$pkgver
+ # Change install paths to Arch defaults
+ sed -i 's|/usr/local|/usr|;s|libexec/ipsec|lib/openswan|;s|)/sbin|)/bin|' Makefile.inc
+}
+
+build() {
+ cd $srcdir/openswan-$pkgver
+
+ # Change install paths to Arch defaults
+ sed -i 's|/usr/local|/usr|;s|libexec/ipsec|lib/openswan|;s|)/sbin|)/bin|' Makefile.inc
+
+ make USE_XAUTH=true USE_OBJDIR=true programs
+}
+
+package() {
+ cd $srcdir/openswan-$pkgver
+
+ # Create /etc/rc.d for init script, and license directory
+ mkdir -p $pkgdir/{etc/rc.d,usr/share/licenses/openswan}
+ make DESTDIR=$pkgdir install
+
+ # Change permissions in /var
+ chmod 700 $pkgdir/var/run/pluto
+
+ # Copy License
+ cp LICENSE $pkgdir/usr/share/licenses/openswan
+
+ # Install init script
+ install -Dm755 ../openswan $pkgdir/etc/rc.d/openswan
+ install -Dm644 ../openswan.service $pkgdir/usr/lib/systemd/system/openswan.service
+ mkdir $pkgdir/usr/lib/systemd/scripts/
+ cp $pkgdir/etc/rc.d/ipsec $pkgdir/usr/lib/systemd/scripts/ipsec
+ # fix manpages
+ mv $pkgdir/usr/man $pkgdir/usr/share/
+}
+md5sums=('13073eb5314b83a31be88e4117e8bbcd'
+ '543d84162761b9cc9ec319e938c4dd2a'
+ 'd8b465c10838c72e31329d65011002b6')
diff --git a/pcr/openswan/compile.patch b/pcr/openswan/compile.patch
new file mode 100644
index 000000000..8ddff67f2
--- /dev/null
+++ b/pcr/openswan/compile.patch
@@ -0,0 +1,11 @@
+--- openswan-2.6.23/Makefile 2009-09-09 02:42:54.000000000 +0200
++++ Makefile 2009-12-30 10:13:53.000000000 +0100
+@@ -12,6 +12,8 @@
+ # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ # for more details.
+ #
++CFLAGS=-fno-strict-aliasing
++CXXFLAGS=-fno-strict-aliasing
+
+
+ OPENSWANSRCDIR?=$(shell pwd)
diff --git a/pcr/openswan/openswan b/pcr/openswan/openswan
new file mode 100755
index 000000000..30bd0d56e
--- /dev/null
+++ b/pcr/openswan/openswan
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting Openswan IPsec"
+ /etc/rc.d/ipsec --start
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ add_daemon openswan
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Openswan IPsec"
+ /etc/rc.d/ipsec --stop
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ rm_daemon openswan
+ fi
+ ;;
+ restart)
+ stat_busy "Restarting Openswan IPsec"
+ /etc/rc.d/ipsec --restart
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ add_daemon openswan
+ fi
+ ;;
+ status)
+ /etc/rc.d/ipsec --status
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
diff --git a/pcr/openswan/openswan.rc.d b/pcr/openswan/openswan.rc.d
new file mode 100755
index 000000000..30bd0d56e
--- /dev/null
+++ b/pcr/openswan/openswan.rc.d
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting Openswan IPsec"
+ /etc/rc.d/ipsec --start
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ add_daemon openswan
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Openswan IPsec"
+ /etc/rc.d/ipsec --stop
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ rm_daemon openswan
+ fi
+ ;;
+ restart)
+ stat_busy "Restarting Openswan IPsec"
+ /etc/rc.d/ipsec --restart
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ add_daemon openswan
+ fi
+ ;;
+ status)
+ /etc/rc.d/ipsec --status
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
diff --git a/pcr/openswan/openswan.service b/pcr/openswan/openswan.service
new file mode 100755
index 000000000..6d899705c
--- /dev/null
+++ b/pcr/openswan/openswan.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Openswan daemon
+After=network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/lib/systemd/scripts/ipsec --start
+ExecStop=/usr/lib/systemd/scripts/ipsec --stop
+ExecReload=/usr/lib/systemd/scripts/ipsec --restart
+Restart=always
+
+[Install]
+WantedBy=multi-user.target