You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-dialup/openl2tp/openl2tp-1.8-r2.ebuild

130 lines
3.4 KiB

# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-info
DESCRIPTION="Userspace tools for kernel L2TP implementation"
HOMEPAGE="https://sourceforge.net/projects/openl2tp/"
SRC_URI="mirror://sourceforge/openl2tp/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+client debug dmalloc doc +examples rpc server stats"
REQUIRED_USE="|| ( client server )"
BDEPEND="
>=net-libs/rpcsvc-proto-1.3.1-r1
sys-devel/bison
sys-devel/flex
"
DEPEND="
>=net-dialup/ppp-2.4.5
>=net-libs/libtirpc-1.0.3
sys-libs/readline:=
dmalloc? ( dev-libs/dmalloc )
"
RDEPEND="${DEPEND}
rpc? ( net-nds/rpcbind )
"
CONFIG_CHECK="~PPPOL2TP"
PATCHES=(
"${FILESDIR}/${P}-werror.patch"
"${FILESDIR}/${P}-ldflags.patch"
"${FILESDIR}/${P}-pppd-2.patch"
"${FILESDIR}/${P}-man.patch"
"${FILESDIR}/${P}-l2tpconfig.patch"
"${FILESDIR}/${P}-parallelbuild.patch"
"${FILESDIR}/${P}-optionsfile.patch"
"${FILESDIR}/${P}-clientip_as_ipparam.patch"
"${FILESDIR}/${P}-setkey.patch"
"${FILESDIR}/${P}-unused-var.patch"
"${FILESDIR}/${P}-configure-Makefile.patch"
"${FILESDIR}/${P}-cflags.patch"
"${FILESDIR}/${P}-tirpc.patch"
"${FILESDIR}/${P}-native-tc.patch"
"${FILESDIR}/${P}-musl.patch"
"${FILESDIR}/${P}-strings.patch"
)
src_prepare() {
default
sed -i 's/CFLAGS.optimize/CFLAGS_optimize/g' Makefile */Makefile || die "Makefile sed failed"
}
src_configure() {
myconf=
use client || myconf+=" L2TP_FEATURE_LAC_SUPPORT=n
L2TP_FEATURE_LAIC_SUPPORT=n
L2TP_FEATURE_LAOC_SUPPORT=n "
use server || myconf+=" L2TP_FEATURE_LNS_SUPPORT=n
L2TP_FEATURE_LNIC_SUPPORT=n
L2TP_FEATURE_LNOC_SUPPORT=n "
use rpc || myconf+=" L2TP_FEATURE_RPC_MANAGEMENT=n "
use stats && myconf+=" L2TP_FEATURE_LOCAL_STAT_FILE=y "
use debug && myconf+=" L2TP_DEBUG=y "
use dmalloc && myconf+=" USE_DMALLOC=y "
echo ${myconf} > "${T}/myconf"
}
src_compile() {
emake $(cat "${T}/myconf")
}
src_install() {
emake $(cat "${T}/myconf") DESTDIR="${D}" install
if use examples; then
docinto event_socket
dodoc doc/{event_sock_example.c,README.event_sock}
docinto
dodoc -r "${FILESDIR}"/examples
fi
if use doc; then
dodoc doc/*.txt
newdoc plugins/README README.plugins
dodoc -r ipsec
fi
newinitd "${FILESDIR}"/openl2tpd.initd openl2tpd
# init.d script is quite different for RPC and non-RPC versions.
use rpc || sed -i s/userpc=\"yes\"/userpc=\"no\"/ "${D}/etc/init.d/openl2tpd" || die "sed failed"
newconfd "${FILESDIR}"/openl2tpd.confd openl2tpd
}
pkg_postinst() {
if use rpc; then
ewarn
ewarn "RPC control does not provide any auth checks for control connection."
ewarn "Unless you need this you should disable it, for reference:"
ewarn "http://forums.openl2tp.org/viewtopic.php?f=4&t=41"
ewarn
ewarn "Therefore DO NOT USE RPC IN INSECURE ENVIRONMENTS!"
else
ewarn
ewarn "Without RPC support you won't be able to use l2tpconfig."
ewarn "Please read http://forums.openl2tp.org/viewtopic.php?f=4&t=41"
ewarn "for more information about the security risk before enabling."
ewarn
ewarn "If you are using numerical strings (e.g. login name containing only"
ewarn "digits) or special characters in password, please use double quotes"
ewarn "to enclose them."
fi
if use stats; then
ewarn
ewarn "To enable status files openl2tpd must be started with -S option."
ewarn "Upstream warns about runtime overhead with status files enabled."
fi
}