[net-vpn/libreswan] fork ebuild to fix it going interactive

Gentoo bug 649068.
This commit is contained in:
Sławomir Nizio
2018-02-28 21:08:39 +01:00
parent 40396a0597
commit 758d4a5cce
3 changed files with 124 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
DIST libreswan-3.22.tar.gz 6910418 BLAKE2B c06134fa2d1096231797f1ea93de8ed61121472b10ae30ee9a843250dce4ef9f21e7d3bf63f38daf53fbfd8d1e435cfdc704743d0fdcbde8ecac137d9becac48 SHA512 93868327394527750590e1297443d3eb1c9a528d680348098fd2913123dac52c9fecd73b855ee00586c2516b8aa00f7f0d158d8e9b19d7487b5fb26432b86aff
+113
View File
@@ -0,0 +1,113 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit systemd toolchain-funcs
SRC_URI="https://download.libreswan.org/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
DESCRIPTION="IPsec implementation for Linux, fork of Openswan"
HOMEPAGE="https://libreswan.org/"
LICENSE="GPL-2 BSD-4 RSA DES"
SLOT="0"
IUSE="caps curl dnssec ldap pam seccomp selinux systemd test"
COMMON_DEPEND="
dev-libs/gmp:0=
dev-libs/libevent:0=
dev-libs/nspr
caps? ( sys-libs/libcap-ng )
curl? ( net-misc/curl )
dnssec? ( net-dns/unbound net-libs/ldns )
ldap? ( net-nds/openldap )
pam? ( sys-libs/pam )
seccomp? ( sys-libs/libseccomp )
selinux? ( sys-libs/libselinux )
systemd? ( sys-apps/systemd:0= )
"
DEPEND="${COMMON_DEPEND}
app-text/docbook-xml-dtd:4.1.2
app-text/xmlto
dev-libs/nss
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
test? ( dev-python/setproctitle )
"
RDEPEND="${COMMON_DEPEND}
dev-libs/nss[utils(+)]
sys-apps/iproute2
!net-misc/openswan
!net-vpn/strongswan
selinux? ( sec-policy/selinux-ipsec )
"
usetf() {
usex "$1" true false
}
src_prepare() {
sed -i -e 's:/sbin/runscript:/sbin/openrc-run:' initsystems/openrc/ipsec.init.in || die
sed -i -e '/^install/ s/postcheck//' -e '/^doinstall/ s/oldinitdcheck//' initsystems/systemd/Makefile || die
default
}
src_configure() {
tc-export AR CC
export INC_USRLOCAL=/usr
export INC_MANDIR=share/man
export FINALEXAMPLECONFDIR=/usr/share/doc/${PF}
export FINALDOCDIR=/usr/share/doc/${PF}/html
export INITSYSTEM=openrc
export INC_RCDIRS=
export INC_RCDEFAULT=/etc/init.d
export USERCOMPILE=
export USERLINK=
export USE_DNSSEC=$(usetf dnssec)
export USE_LABELED_IPSEC=$(usetf selinux)
export USE_LIBCAP_NG=$(usetf caps)
export USE_LIBCURL=$(usetf curl)
export USE_LINUX_AUDIT=$(usetf selinux)
export USE_LDAP=$(usetf ldap)
export USE_SECCOMP=$(usetf seccomp)
export USE_SYSTEMD_WATCHDOG=$(usetf systemd)
export SD_WATCHDOGSEC=$(usex systemd 200 0)
export USE_XAUTHPAM=$(usetf pam)
export DEBUG_CFLAGS=
export OPTIMIZE_CFLAGS=
export WERROR_CFLAGS=
}
src_compile() {
emake all
emake -C initsystems INITSYSTEM=systemd UNITDIR="$(systemd_get_systemunitdir)" all
}
src_test() {
: # integration tests only that require set of kvms to be set up
}
src_install() {
default
emake -C initsystems INITSYSTEM=systemd UNITDIR="$(systemd_get_systemunitdir)" DESTDIR="${D}" install
echo "include /etc/ipsec.d/*.secrets" > "${D}"/etc/ipsec.secrets
fperms 0600 /etc/ipsec.secrets
dodoc -r docs
find "${D}" -type d -empty -delete || die
}
pkg_postinst() {
local IPSEC_CONFDIR=${ROOT%/}/etc/ipsec.d
# Sabayon modification for Gentoo bug 649068 (Gentoo has cert8.db)
if [[ ! -f ${IPSEC_CONFDIR}/cert9.db ]]; then
ebegin "Setting up NSS database in ${IPSEC_CONFDIR}"
certutil -N -d "${IPSEC_CONFDIR}" -f <(echo)
eend $?
fi
}
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>graaff@gentoo.org</email>
</maintainer>
<use>
<flag name="dnssec">Use DNSSEC resolver (requires <pkg>net-dns/unbound</pkg>)</flag>
</use>
</pkgmetadata>