Skip to content

Commit

Permalink
app-crypt/mit-krb5: bump for the new init scripts
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.2.23
  • Loading branch information
erayaslan committed Nov 4, 2015
1 parent a8b3cea commit 07369d3
Showing 1 changed file with 160 additions and 0 deletions.
160 changes: 160 additions & 0 deletions app-crypt/mit-krb5/mit-krb5-1.13.2-r3.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

PYTHON_COMPAT=( python2_7 )

inherit autotools eutils flag-o-matic multilib-minimal python-any-r1 versionator

MY_P="${P/mit-}"
P_DIR=$(get_version_component_range 1-2)
DESCRIPTION="MIT Kerberos V"
HOMEPAGE="http://web.mit.edu/kerberos/www/"
SRC_URI="http://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}-signed.tar"

LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="doc +keyutils libressl openldap +pkinit selinux +threads test xinetd"

CDEPEND="
!!app-crypt/heimdal
>=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
|| (
>=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
>=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
>=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
)
keyutils? ( >=sys-apps/keyutils-1.5.8[${MULTILIB_USEDEP}] )
openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
pkinit? (
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
)
xinetd? ( sys-apps/xinetd )
abi_x86_32? (
!<=app-emulation/emul-linux-x86-baselibs-20140508-r1
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
)"
DEPEND="${CDEPEND}
${PYTHON_DEPS}
virtual/yacc
doc? ( virtual/latex-base )
test? (
${PYTHON_DEPS}
dev-lang/tcl:0
dev-util/dejagnu
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-kerberos )"

S=${WORKDIR}/${MY_P}/src

MULTILIB_CHOST_TOOLS=(
/usr/bin/krb5-config
)

src_unpack() {
unpack ${A}
unpack ./"${MY_P}".tar.gz
}

src_prepare() {
epatch "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
epatch "${FILESDIR}/${PN}-config_LDFLAGS.patch"
epatch "${FILESDIR}/CVE-2015-2695.patch" \
"${FILESDIR}/CVE-2015-2696.patch" \
"${FILESDIR}/CVE-2015-2697.patch"

eautoreconf
}

src_configure() {
append-cppflags "-I${EPREFIX}/usr/include/et"
# QA
append-flags -fno-strict-aliasing
append-flags -fno-strict-overflow

multilib-minimal_src_configure
}

multilib_src_configure() {
use keyutils || export ac_cv_header_keyutils_h=no
ECONF_SOURCE=${S} \
WARN_CFLAGS="set" \
econf \
$(use_with openldap ldap) \
"$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
$(use_enable pkinit) \
$(use_enable threads thread-support) \
--without-hesiod \
--enable-shared \
--with-system-et \
--with-system-ss \
--enable-dns-for-realm \
--enable-kdc-lookaside-cache \
--with-system-verto \
--disable-rpath
}

multilib_src_compile() {
emake -j1
}

multilib_src_test() {
multilib_is_native_abi && emake -j1 check
}

multilib_src_install() {
emake \
DESTDIR="${D}" \
EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
install
}

multilib_src_install_all() {
# default database dir
keepdir /var/lib/krb5kdc

cd ..
dodoc README

if use doc; then
dohtml -r doc/html/*
docinto pdf
dodoc doc/pdf/*.pdf
fi

newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd

insinto /etc
newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
insinto /var/lib/krb5kdc
newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example

if use openldap ; then
insinto /etc/openldap/schema
doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
fi

if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}/kpropd.xinetd" kpropd
fi
}

pkg_preinst() {
if has_version "<${CATEGORY}/${PN}-1.8.0" ; then
elog "MIT split the Kerberos applications from the base Kerberos"
elog "distribution. Kerberized versions of telnet, rlogin, rsh, rcp,"
elog "ftp clients and telnet, ftp deamons now live in"
elog "\"app-crypt/mit-krb5-appl\" package."
fi
}

0 comments on commit 07369d3

Please sign in to comment.