diff options
Diffstat (limited to 'net-misc/openswan/openswan-2.1.3.ebuild')
-rw-r--r-- | net-misc/openswan/openswan-2.1.3.ebuild | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/net-misc/openswan/openswan-2.1.3.ebuild b/net-misc/openswan/openswan-2.1.3.ebuild new file mode 100644 index 000000000000..60fc17fe565c --- /dev/null +++ b/net-misc/openswan/openswan-2.1.3.ebuild @@ -0,0 +1,125 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openswan/openswan-2.1.3.ebuild,v 1.1 2004/06/19 13:39:12 pfeifer Exp $ + +inherit eutils + +MY_P=${P/_p/_kb} +S=${WORKDIR}/${MY_P} +DESCRIPTION="Open Source implementation of IPsec for the Linux operating system (was SuperFreeS/WAN)." +HOMEPAGE="http://www.openswan.org/" +SRC_URI="http://www.openswan.org/code/${MY_P}.tar.gz + mirror://gentoo/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* x86 amd64" +IUSE="" + +DEPEND="virtual/glibc + virtual/linux-sources + >=dev-libs/gmp-3.1.1 + net-misc/host + sys-apps/iproute2" +RDEPEND="" + +check_version_h() { + if [ ! -f "${ROOT}/usr/src/linux/include/linux/version.h" ] + then + eerror "Please verify that your /usr/src/linux symlink is pointing" + eerror "to your current kernel sources, and that you have a running kernel" + die "/usr/src/linux symlink not setup!" + fi +} + +get_KV_info() { + check_version_h + + # Get the kernel version of sources in /usr/src/linux ... + export KV_full="$(awk '/UTS_RELEASE/ { gsub("\"", "", $3); print $3 }' \ + "${ROOT}/usr/src/linux/include/linux/version.h")" + export KV_major="$(echo "${KV_full}" | cut -d. -f1)" + export KV_minor="$(echo "${KV_full}" | cut -d. -f2)" + export KV_micro="$(echo "${KV_full}" | cut -d. -f3 | sed -e 's:[^0-9].*::')" +} + +is_kernel() { + [ -z "$1" -o -z "$2" ] && return 1 + + get_KV_info + + if [ "${KV_major}" -eq "$1" -a "${KV_minor}" -eq "$2" ] + then + return 0 + else + return 1 + fi +} + +pkg_setup() { + get_KV_info + + einfo "Linux kernel is version ${KV_major}.${KV_minor}.${KV_micro}" + + if is_kernel 2 5 + then + eerror "Kernel version ${KV_major}.${KV_minor}.${KV_micro} will not work with this ebuild." + die "Please install a 2.6.x version of the Linux kernel." + fi + + if is_kernel 2 6 + then + einfo "This ebuild will set ${P} to use 2.6 native IPsec (KAME)." + einfo "KLIPS will not be compiled/installed." + export MYMAKE="programs" + + elif is_kernel 2 4 + then + [ -d /usr/src/linux/net/ipsec ] || { + eerror "You need to have an IPsec enabled 2.4.x kernel." + eerror "Ensure you have one running and make a symlink to it in /usr/src/linux" + } + einfo "Using patched-in IPsec code for kernel 2.4" + einfo "Your kernel only supports KLIPS for kernel level IPsec." + export MYMAKE="confcheck programs" + + else + eerror "Sorry, no support for your kernel version ${KV_major}.${KV_minor}.${KV_micro}." + die "Install an IPsec enabled 2.4 or 2.6 kernel." + fi +} + +src_unpack() { + unpack ${A} + + cd ${S} + epatch ${FILESDIR}/${P}-gentoo.patch +} + +src_compile() { + make \ + DESTDIR=${D} \ + USERCOMPILE="${CFLAGS}" \ + FINALCONFDIR=/etc/ipsec \ + INC_RCDEFAULT=/etc/init.d \ + INC_USRLOCAL=/usr \ + INC_MANDIR=share/man \ + ${MYMAKE} || die +} + +src_install() { + make \ + DESTDIR=${D} \ + USERCOMPILE="${CFLAGS}" \ + FINALCONFDIR=/etc/ipsec \ + INC_RCDEFAULT=/etc/init.d \ + INC_USRLOCAL=/usr \ + INC_MANDIR=share/man \ + install || die + + dodoc INSTALL CREDITS BUGS CHANGES README doc/* + dosym /etc/ipsec/ipsec.d /etc/ipsec.d + + exeinto /etc/init.d/ + doexe ${FILESDIR}/ipsec +} |