forked from calculate/calculate-overlay
parent
6e99a5d782
commit
edefa5e6da
@ -1,2 +1,3 @@
|
|||||||
DIST bind-9.10.2-P3.tar.gz 8469831 SHA256 78079a66dda455ffecfe93ef72d1ffc947f17b1c453d55ec06b860b49a5e1d4a SHA512 cf33c3f83ab7c46f5919c16719870310f9e82237df4ed7ba4f7eb76ddae14b9644bd67dbb6c46e75650f59185aee391d3ac6fee45b2edb88473f9dbc578bb016 WHIRLPOOL ff7e1c827bfb62e229b8d93c299ff0647614f8403ba84cd3ebdbcafd51d37fdfcee7afd3feaf73036dfc46904b9b506b1da7c7e8ae73e167fe6f1f0246dc6163
|
DIST bind-9.10.2-P3.tar.gz 8469831 SHA256 78079a66dda455ffecfe93ef72d1ffc947f17b1c453d55ec06b860b49a5e1d4a SHA512 cf33c3f83ab7c46f5919c16719870310f9e82237df4ed7ba4f7eb76ddae14b9644bd67dbb6c46e75650f59185aee391d3ac6fee45b2edb88473f9dbc578bb016 WHIRLPOOL ff7e1c827bfb62e229b8d93c299ff0647614f8403ba84cd3ebdbcafd51d37fdfcee7afd3feaf73036dfc46904b9b506b1da7c7e8ae73e167fe6f1f0246dc6163
|
||||||
|
DIST bind-9.10.3-P2.tar.gz 8523719 SHA256 4a6c1911ac0d4b6be635b63de3429b6c168ea244043f12bbc8a4eb3368fd6ecd SHA512 21905cdff464f9ff275b87744433970d4a80faa6d9245c66c092421a45e89e438bd78f3bfe0d795964312f072c936e44eb6867b72decbba86821619180ced210 WHIRLPOOL 7bc4038a746e5b5c4166fb0d7a57985be9defef4c4c494492312671b81853f506c3216fcd94df993f6f1088d4c36c838d40d85fedbe8eee1b4265c5e2caecaa6
|
||||||
DIST dyndns-samples.tbz2 22866 SHA256 92fb06a92ca99cbbe96b90bcca229ef9c12397db57ae17e199dad9f1218fdbe8 SHA512 83b0bf99f8e9ff709e8e9336d8c5231b98a4b5f0c60c10792f34931e32cc638d261967dfa5a83151ec3740977d94ddd6e21e9ce91267b3e279b88affdbc18cac WHIRLPOOL 08d4e6a817f1d02597631e18152dbd55ea1bc4c82174be150cc77efc9e1f0f03b6471d1cefbe4229cd3161de752ef232a43ca274a07b78e9c974ceb04cfe99a2
|
DIST dyndns-samples.tbz2 22866 SHA256 92fb06a92ca99cbbe96b90bcca229ef9c12397db57ae17e199dad9f1218fdbe8 SHA512 83b0bf99f8e9ff709e8e9336d8c5231b98a4b5f0c60c10792f34931e32cc638d261967dfa5a83151ec3740977d94ddd6e21e9ce91267b3e279b88affdbc18cac WHIRLPOOL 08d4e6a817f1d02597631e18152dbd55ea1bc4c82174be150cc77efc9e1f0f03b6471d1cefbe4229cd3161de752ef232a43ca274a07b78e9c974ceb04cfe99a2
|
||||||
|
@ -0,0 +1,415 @@
|
|||||||
|
# Copyright 1999-2016 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Id$
|
||||||
|
|
||||||
|
# Re dlz/mysql and threads, needs to be verified..
|
||||||
|
# MySQL uses thread local storage in its C api. Thus MySQL
|
||||||
|
# requires that each thread of an application execute a MySQL
|
||||||
|
# thread initialization to setup the thread local storage.
|
||||||
|
# This is impossible to do safely while staying within the DLZ
|
||||||
|
# driver API. This is a limitation caused by MySQL, and not the DLZ API.
|
||||||
|
# Because of this BIND MUST only run with a single thread when
|
||||||
|
# using the MySQL driver.
|
||||||
|
|
||||||
|
EAPI="5"
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
|
||||||
|
|
||||||
|
inherit python-r1 eutils autotools toolchain-funcs flag-o-matic multilib db-use user systemd
|
||||||
|
|
||||||
|
MY_PV="${PV/_p/-P}"
|
||||||
|
MY_PV="${MY_PV/_rc/rc}"
|
||||||
|
MY_P="${PN}-${MY_PV}"
|
||||||
|
|
||||||
|
SDB_LDAP_VER="1.1.0-fc14"
|
||||||
|
|
||||||
|
RRL_PV="${MY_PV}"
|
||||||
|
|
||||||
|
NSLINT_DIR="contrib/nslint-3.0a2/"
|
||||||
|
|
||||||
|
# SDB-LDAP: http://bind9-ldap.bayour.com/
|
||||||
|
|
||||||
|
DESCRIPTION="BIND - Berkeley Internet Name Domain - Name Server"
|
||||||
|
HOMEPAGE="http://www.isc.org/software/bind"
|
||||||
|
SRC_URI="ftp://ftp.isc.org/isc/bind9/${MY_PV}/${MY_P}.tar.gz
|
||||||
|
doc? ( mirror://gentoo/dyndns-samples.tbz2 )"
|
||||||
|
# sdb-ldap? (
|
||||||
|
# http://ftp.disconnected-by-peer.at/pub/bind-sdb-ldap-${SDB_LDAP_VER}.patch.bz2
|
||||||
|
# )"
|
||||||
|
|
||||||
|
LICENSE="GPL-2 ISC BSD BSD-2 HPND JNIC openssl"
|
||||||
|
SLOT="0"
|
||||||
|
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||||
|
IUSE="berkdb +caps dlz doc fetchlimit filter-aaaa fixed-rrset geoip gost gssapi idn ipv6
|
||||||
|
json ldap libressl mysql nslint odbc postgres python rpz seccomp selinux sit ssl static-libs
|
||||||
|
+threads urandom xml sdb-ldap"
|
||||||
|
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
|
||||||
|
|
||||||
|
REQUIRED_USE="postgres? ( dlz )
|
||||||
|
berkdb? ( dlz )
|
||||||
|
mysql? ( dlz !threads )
|
||||||
|
odbc? ( dlz )
|
||||||
|
ldap? ( dlz )
|
||||||
|
gost? ( !libressl ssl )
|
||||||
|
threads? ( caps )
|
||||||
|
sdb-ldap? ( dlz )"
|
||||||
|
|
||||||
|
DEPEND="
|
||||||
|
ssl? (
|
||||||
|
!libressl? ( dev-libs/openssl:0[-bindist] )
|
||||||
|
libressl? ( dev-libs/libressl )
|
||||||
|
)
|
||||||
|
mysql? ( >=virtual/mysql-4.0 )
|
||||||
|
odbc? ( >=dev-db/unixODBC-2.2.6 )
|
||||||
|
ldap? ( net-nds/openldap )
|
||||||
|
idn? ( net-dns/idnkit )
|
||||||
|
postgres? ( dev-db/postgresql:= )
|
||||||
|
caps? ( >=sys-libs/libcap-2.1.0 )
|
||||||
|
xml? ( dev-libs/libxml2 )
|
||||||
|
geoip? ( >=dev-libs/geoip-1.4.6 )
|
||||||
|
gssapi? ( virtual/krb5 )
|
||||||
|
gost? ( >=dev-libs/openssl-1.0.0:0[-bindist] )
|
||||||
|
seccomp? ( sys-libs/libseccomp )
|
||||||
|
json? ( dev-libs/json-c )
|
||||||
|
sdb-ldap? ( net-nds/openldap )"
|
||||||
|
|
||||||
|
RDEPEND="${DEPEND}
|
||||||
|
selinux? ( sec-policy/selinux-bind )
|
||||||
|
|| ( sys-process/psmisc >=sys-freebsd/freebsd-ubin-9.0_rc sys-process/fuser-bsd )"
|
||||||
|
|
||||||
|
S="${WORKDIR}/${MY_P}"
|
||||||
|
|
||||||
|
# bug 479092, requires networking
|
||||||
|
RESTRICT="test"
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
ebegin "Creating named group and user"
|
||||||
|
enewgroup named 40
|
||||||
|
enewuser named 40 -1 /etc/bind named
|
||||||
|
eend ${?}
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
epatch "${FILESDIR}"/${P}-libressl.patch #563362
|
||||||
|
|
||||||
|
# Adjusting PATHs in manpages
|
||||||
|
for i in bin/{named/named.8,check/named-checkconf.8,rndc/rndc.8} ; do
|
||||||
|
sed -i \
|
||||||
|
-e 's:/etc/named.conf:/etc/bind/named.conf:g' \
|
||||||
|
-e 's:/etc/rndc.conf:/etc/bind/rndc.conf:g' \
|
||||||
|
-e 's:/etc/rndc.key:/etc/bind/rndc.key:g' \
|
||||||
|
"${i}" || die "sed failed, ${i} doesn't exist"
|
||||||
|
done
|
||||||
|
|
||||||
|
if use dlz; then
|
||||||
|
# sdb-ldap patch as per bug #160567
|
||||||
|
# Upstream URL: http://bind9-ldap.bayour.com/
|
||||||
|
# New patch take from bug 302735
|
||||||
|
if use sdb-ldap; then
|
||||||
|
epatch "${FILESDIR}"/${PN}-sdb-ldap-${SDB_LDAP_VER}.patch
|
||||||
|
cp -fp contrib/sdb/ldap/ldapdb.[ch] bin/named/
|
||||||
|
cp -fp contrib/sdb/ldap/{ldap2zone.1,ldap2zone.c} bin/tools/
|
||||||
|
cp -fp contrib/sdb/ldap/{zone2ldap.1,zone2ldap.c} bin/tools/
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# should be installed by bind-tools
|
||||||
|
sed -i -r -e "s:(nsupdate|dig|delv) ::g" bin/Makefile.in || die
|
||||||
|
|
||||||
|
# Disable tests for now, bug 406399
|
||||||
|
sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die
|
||||||
|
|
||||||
|
if use nslint; then
|
||||||
|
sed -i -e 's:/etc/named.conf:/etc/bind/named.conf:' ${NSLINT_DIR}/nslint.{c,8} || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug #220361
|
||||||
|
rm aclocal.m4
|
||||||
|
rm -rf libtool.m4/
|
||||||
|
eautoreconf
|
||||||
|
}
|
||||||
|
|
||||||
|
src_configure() {
|
||||||
|
local myconf=""
|
||||||
|
|
||||||
|
if use urandom; then
|
||||||
|
myconf="${myconf} --with-randomdev=/dev/urandom"
|
||||||
|
else
|
||||||
|
myconf="${myconf} --with-randomdev=/dev/random"
|
||||||
|
fi
|
||||||
|
|
||||||
|
use geoip && myconf="${myconf} --with-geoip"
|
||||||
|
|
||||||
|
# bug #158664
|
||||||
|
# gcc-specs-ssp && replace-flags -O[23s] -O
|
||||||
|
|
||||||
|
# To include db.h from proper path
|
||||||
|
use berkdb && append-flags "-I$(db_includedir)"
|
||||||
|
|
||||||
|
export BUILD_CC=$(tc-getBUILD_CC)
|
||||||
|
econf \
|
||||||
|
--sysconfdir=/etc/bind \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--with-libtool \
|
||||||
|
--enable-full-report \
|
||||||
|
--without-readline \
|
||||||
|
$(use_enable caps linux-caps) \
|
||||||
|
$(use_enable fetchlimit) \
|
||||||
|
$(use_enable filter-aaaa) \
|
||||||
|
$(use_enable fixed-rrset) \
|
||||||
|
$(use_enable ipv6) \
|
||||||
|
$(use_enable rpz rpz-nsdname) \
|
||||||
|
$(use_enable rpz rpz-nsip) \
|
||||||
|
$(use_enable seccomp) \
|
||||||
|
$(use_enable sit) \
|
||||||
|
$(use_enable threads) \
|
||||||
|
$(use_with berkdb dlz-bdb) \
|
||||||
|
$(use_with dlz dlopen) \
|
||||||
|
$(use_with dlz dlz-filesystem) \
|
||||||
|
$(use_with dlz dlz-stub) \
|
||||||
|
$(use_with gost) \
|
||||||
|
$(use_with gssapi) \
|
||||||
|
$(use_with idn) \
|
||||||
|
$(use_with json libjson) \
|
||||||
|
$(use_with ldap dlz-ldap) \
|
||||||
|
$(use_with mysql dlz-mysql) \
|
||||||
|
$(use_with odbc dlz-odbc) \
|
||||||
|
$(use_with postgres dlz-postgres) \
|
||||||
|
$(use_with python) \
|
||||||
|
$(use_with ssl ecdsa) \
|
||||||
|
$(use_with ssl openssl "${EPREFIX}"/usr) \
|
||||||
|
$(use_with xml libxml2) \
|
||||||
|
${myconf}
|
||||||
|
|
||||||
|
# $(use_enable static-libs static) \
|
||||||
|
|
||||||
|
# bug #151839
|
||||||
|
echo '#undef SO_BSDCOMPAT' >> config.h
|
||||||
|
|
||||||
|
if use nslint; then
|
||||||
|
cd $NSLINT_DIR
|
||||||
|
econf
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_compile() {
|
||||||
|
emake
|
||||||
|
|
||||||
|
if use nslint; then
|
||||||
|
emake -C $NSLINT_DIR CCOPT="${CFLAGS}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
if use nslint; then
|
||||||
|
cd $NSLINT_DIR
|
||||||
|
dobin nslint
|
||||||
|
doman nslint.8
|
||||||
|
cd "${S}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dodoc CHANGES FAQ README
|
||||||
|
|
||||||
|
if use idn; then
|
||||||
|
dodoc contrib/idn/README.idnkit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if use doc; then
|
||||||
|
dodoc doc/arm/Bv9ARM.pdf
|
||||||
|
|
||||||
|
docinto misc
|
||||||
|
dodoc doc/misc/*
|
||||||
|
|
||||||
|
# might a 'html' useflag make sense?
|
||||||
|
docinto html
|
||||||
|
dohtml -r doc/arm/*
|
||||||
|
|
||||||
|
docinto contrib
|
||||||
|
dodoc contrib/scripts/{nanny.pl,named-bootconf.sh}
|
||||||
|
|
||||||
|
# some handy-dandy dynamic dns examples
|
||||||
|
pushd "${D}"/usr/share/doc/${PF} 1>/dev/null
|
||||||
|
tar xf "${DISTDIR}"/dyndns-samples.tbz2 || die
|
||||||
|
popd 1>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
insinto /etc/bind
|
||||||
|
newins "${FILESDIR}"/named.conf-r8 named.conf
|
||||||
|
|
||||||
|
# ftp://ftp.rs.internic.net/domain/named.cache:
|
||||||
|
insinto /var/bind
|
||||||
|
newins "${FILESDIR}"/named.cache-r2 named.cache
|
||||||
|
|
||||||
|
insinto /var/bind/pri
|
||||||
|
newins "${FILESDIR}"/localhost.zone-r3 localhost.zone
|
||||||
|
|
||||||
|
newinitd "${FILESDIR}"/named.init-r13 named
|
||||||
|
newconfd "${FILESDIR}"/named.confd-r7 named
|
||||||
|
|
||||||
|
if use gost; then
|
||||||
|
sed -i -e 's/^OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0}$/OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-1}/' "${D}/etc/init.d/named" || die
|
||||||
|
else
|
||||||
|
sed -i -e 's/^OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-1}$/OPENSSL_LIBGOST=${OPENSSL_LIBGOST:-0}/' "${D}/etc/init.d/named" || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
newenvd "${FILESDIR}"/10bind.env 10bind
|
||||||
|
|
||||||
|
# Let's get rid of those tools and their manpages since they're provided by bind-tools
|
||||||
|
rm -f "${D}"/usr/share/man/man1/{dig,host,nslookup}.1*
|
||||||
|
rm -f "${D}"/usr/share/man/man8/nsupdate.8*
|
||||||
|
rm -f "${D}"/usr/bin/{dig,host,nslookup,nsupdate}
|
||||||
|
rm -f "${D}"/usr/sbin/{dig,host,nslookup,nsupdate}
|
||||||
|
for tool in dsfromkey importkey keyfromlabel keygen \
|
||||||
|
revoke settime signzone verify; do
|
||||||
|
rm -f "${D}"/usr/{,s}bin/dnssec-"${tool}"
|
||||||
|
rm -f "${D}"/usr/share/man/man8/dnssec-"${tool}".8*
|
||||||
|
done
|
||||||
|
|
||||||
|
# bug 405251, library archives aren't properly handled by --enable/disable-static
|
||||||
|
if ! use static-libs; then
|
||||||
|
find "${D}" -type f -name '*.a' -delete || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug 405251
|
||||||
|
find "${D}" -type f -name '*.la' -delete || die
|
||||||
|
|
||||||
|
if use python; then
|
||||||
|
install_python_tools() {
|
||||||
|
dosbin bin/python/dnssec-{checkds,coverage}
|
||||||
|
}
|
||||||
|
python_foreach_impl install_python_tools
|
||||||
|
|
||||||
|
python_replicate_script "${D}usr/sbin/dnssec-checkds"
|
||||||
|
python_replicate_script "${D}usr/sbin/dnssec-coverage"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bug 450406
|
||||||
|
dosym named.cache /var/bind/root.cache
|
||||||
|
|
||||||
|
dosym /var/bind/pri /etc/bind/pri
|
||||||
|
dosym /var/bind/sec /etc/bind/sec
|
||||||
|
dosym /var/bind/dyn /etc/bind/dyn
|
||||||
|
keepdir /var/bind/{pri,sec,dyn}
|
||||||
|
|
||||||
|
dodir /var/log/named
|
||||||
|
|
||||||
|
fowners root:named /{etc,var}/bind /var/log/named /var/bind/{sec,pri,dyn}
|
||||||
|
fowners root:named /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf}
|
||||||
|
fperms 0640 /var/bind/named.cache /var/bind/pri/localhost.zone /etc/bind/{bind.keys,named.conf}
|
||||||
|
fperms 0750 /etc/bind /var/bind/pri
|
||||||
|
fperms 0770 /var/log/named /var/bind/{,sec,dyn}
|
||||||
|
|
||||||
|
systemd_newunit "${FILESDIR}/named.service-r1" named.service
|
||||||
|
systemd_dotmpfilesd "${FILESDIR}"/named.conf
|
||||||
|
exeinto /usr/libexec
|
||||||
|
doexe "${FILESDIR}/generate-rndc-key.sh"
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
if [ ! -f '/etc/bind/rndc.key' ]; then
|
||||||
|
if use urandom; then
|
||||||
|
einfo "Using /dev/urandom for generating rndc.key"
|
||||||
|
/usr/sbin/rndc-confgen -r /dev/urandom -a
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
einfo "Using /dev/random for generating rndc.key"
|
||||||
|
/usr/sbin/rndc-confgen -a
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
chown root:named /etc/bind/rndc.key
|
||||||
|
chmod 0640 /etc/bind/rndc.key
|
||||||
|
fi
|
||||||
|
|
||||||
|
einfo
|
||||||
|
einfo "You can edit /etc/conf.d/named to customize named settings"
|
||||||
|
einfo
|
||||||
|
use mysql || use postgres || use ldap && {
|
||||||
|
elog "If your named depends on MySQL/PostgreSQL or LDAP,"
|
||||||
|
elog "uncomment the specified rc_named_* lines in your"
|
||||||
|
elog "/etc/conf.d/named config to ensure they'll start before bind"
|
||||||
|
einfo
|
||||||
|
}
|
||||||
|
einfo "If you'd like to run bind in a chroot AND this is a new"
|
||||||
|
einfo "install OR your bind doesn't already run in a chroot:"
|
||||||
|
einfo "1) Uncomment and set the CHROOT variable in /etc/conf.d/named."
|
||||||
|
einfo "2) Run \`emerge --config '=${CATEGORY}/${PF}'\`"
|
||||||
|
einfo
|
||||||
|
|
||||||
|
CHROOT=$(source /etc/conf.d/named 2>/dev/null; echo ${CHROOT})
|
||||||
|
if [[ -n ${CHROOT} ]]; then
|
||||||
|
elog "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!"
|
||||||
|
elog "To enable the old behaviour (without using mount) uncomment the"
|
||||||
|
elog "CHROOT_NOMOUNT option in your /etc/conf.d/named config."
|
||||||
|
elog "If you decide to use the new/default method, ensure to make backup"
|
||||||
|
elog "first and merge your existing configs/zones to /etc/bind and"
|
||||||
|
elog "/var/bind because bind will now mount the needed directories into"
|
||||||
|
elog "the chroot dir."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_config() {
|
||||||
|
CHROOT=$(source /etc/conf.d/named; echo ${CHROOT})
|
||||||
|
CHROOT_NOMOUNT=$(source /etc/conf.d/named; echo ${CHROOT_NOMOUNT})
|
||||||
|
CHROOT_GEOIP=$(source /etc/conf.d/named; echo ${CHROOT_GEOIP})
|
||||||
|
|
||||||
|
if [[ -z "${CHROOT}" ]]; then
|
||||||
|
eerror "This config script is designed to automate setting up"
|
||||||
|
eerror "a chrooted bind/named. To do so, please first uncomment"
|
||||||
|
eerror "and set the CHROOT variable in '/etc/conf.d/named'."
|
||||||
|
die "Unset CHROOT"
|
||||||
|
fi
|
||||||
|
if [[ -d "${CHROOT}" ]]; then
|
||||||
|
ewarn "NOTE: As of net-dns/bind-9.4.3_p5-r1 the chroot part of the init-script got some major changes!"
|
||||||
|
ewarn "To enable the old behaviour (without using mount) uncomment the"
|
||||||
|
ewarn "CHROOT_NOMOUNT option in your /etc/conf.d/named config."
|
||||||
|
ewarn
|
||||||
|
ewarn "${CHROOT} already exists... some things might become overridden"
|
||||||
|
ewarn "press CTRL+C if you don't want to continue"
|
||||||
|
sleep 10
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo; einfo "Setting up the chroot directory..."
|
||||||
|
|
||||||
|
mkdir -m 0750 -p ${CHROOT}
|
||||||
|
mkdir -m 0755 -p ${CHROOT}/{dev,etc,var/log,run}
|
||||||
|
mkdir -m 0750 -p ${CHROOT}/etc/bind
|
||||||
|
mkdir -m 0770 -p ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/
|
||||||
|
# As of bind 9.8.0
|
||||||
|
if has_version net-dns/bind[gost]; then
|
||||||
|
if [ "$(get_libdir)" = "lib64" ]; then
|
||||||
|
mkdir -m 0755 -p ${CHROOT}/usr/lib64/engines
|
||||||
|
ln -s lib64 ${CHROOT}/usr/lib
|
||||||
|
else
|
||||||
|
mkdir -m 0755 -p ${CHROOT}/usr/lib/engines
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
chown root:named ${CHROOT} ${CHROOT}/var/{bind,log/named} ${CHROOT}/run/named/ ${CHROOT}/etc/bind
|
||||||
|
|
||||||
|
mknod ${CHROOT}/dev/null c 1 3
|
||||||
|
chmod 0666 ${CHROOT}/dev/null
|
||||||
|
|
||||||
|
mknod ${CHROOT}/dev/zero c 1 5
|
||||||
|
chmod 0666 ${CHROOT}/dev/zero
|
||||||
|
|
||||||
|
if use urandom; then
|
||||||
|
mknod ${CHROOT}/dev/urandom c 1 9
|
||||||
|
chmod 0666 ${CHROOT}/dev/urandom
|
||||||
|
else
|
||||||
|
mknod ${CHROOT}/dev/random c 1 8
|
||||||
|
chmod 0666 ${CHROOT}/dev/random
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${CHROOT_NOMOUNT:-0}" -ne 0 ]; then
|
||||||
|
cp -a /etc/bind ${CHROOT}/etc/
|
||||||
|
cp -a /var/bind ${CHROOT}/var/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${CHROOT_GEOIP:-0}" -eq 1 ]; then
|
||||||
|
mkdir -m 0755 -p ${CHROOT}/usr/share/GeoIP
|
||||||
|
fi
|
||||||
|
|
||||||
|
elog "You may need to add the following line to your syslog-ng.conf:"
|
||||||
|
elog "source jail { unix-stream(\"${CHROOT}/dev/log\"); };"
|
||||||
|
}
|
@ -0,0 +1,110 @@
|
|||||||
|
Fix LibreSSL compatibility, patches from OpenBSD
|
||||||
|
|
||||||
|
http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/isc-bind/patches/
|
||||||
|
|
||||||
|
http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/net/isc-bind/patches/patch-lib_dns_dst_openssl_h?rev=1.1&content-type=text/plain
|
||||||
|
http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/net/isc-bind/patches/patch-lib_dns_openssl_link_c?rev=1.1&content-type=text/plain
|
||||||
|
http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/net/isc-bind/patches/patch-lib_dns_openssldh_link_c?rev=1.1&content-type=text/plain
|
||||||
|
http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/net/isc-bind/patches/patch-lib_dns_openssldsa_link_c?rev=1.1&content-type=text/plain
|
||||||
|
http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/net/isc-bind/patches/patch-lib_dns_opensslrsa_link_c?rev=1.1&content-type=text/plain
|
||||||
|
|
||||||
|
--- lib/dns/dst_openssl.h.orig Wed Sep 16 14:00:47 2015
|
||||||
|
+++ lib/dns/dst_openssl.h Wed Sep 16 14:02:42 2015
|
||||||
|
@@ -36,7 +36,7 @@
|
||||||
|
#define USE_ENGINE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
/*
|
||||||
|
* These are new in OpenSSL 1.1.0. BN_GENCB _cb needs to be declared in
|
||||||
|
* the function like this before the BN_GENCB_new call:
|
||||||
|
--- lib/dns/openssl_link.c.orig Wed Sep 16 14:01:23 2015
|
||||||
|
+++ lib/dns/openssl_link.c Wed Sep 16 14:01:46 2015
|
||||||
|
@@ -88,7 +88,7 @@ entropy_getpseudo(unsigned char *buf, int num) {
|
||||||
|
return (result == ISC_R_SUCCESS ? 1 : -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
static void
|
||||||
|
entropy_add(const void *buf, int num, double entropy) {
|
||||||
|
/*
|
||||||
|
@@ -121,7 +121,7 @@ lock_callback(int mode, int type, const char *file, in
|
||||||
|
UNLOCK(&locks[type]);
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
static unsigned long
|
||||||
|
id_callback(void) {
|
||||||
|
return ((unsigned long)isc_thread_self());
|
||||||
|
@@ -187,7 +187,7 @@ dst__openssl_init(const char *engine) {
|
||||||
|
if (result != ISC_R_SUCCESS)
|
||||||
|
goto cleanup_mutexalloc;
|
||||||
|
CRYPTO_set_locking_callback(lock_callback);
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
CRYPTO_set_id_callback(id_callback);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -287,7 +287,7 @@ dst__openssl_destroy(void) {
|
||||||
|
CRYPTO_cleanup_all_ex_data();
|
||||||
|
#endif
|
||||||
|
ERR_clear_error();
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
ERR_remove_state(0);
|
||||||
|
#endif
|
||||||
|
ERR_free_strings();
|
||||||
|
--- lib/dns/openssldh_link.c.orig Wed Sep 16 14:01:23 2015
|
||||||
|
+++ lib/dns/openssldh_link.c Wed Sep 16 14:02:06 2015
|
||||||
|
@@ -173,7 +173,7 @@ openssldh_generate(dst_key_t *key, int generator, void
|
||||||
|
DH *dh = NULL;
|
||||||
|
#if OPENSSL_VERSION_NUMBER > 0x00908000L
|
||||||
|
BN_GENCB *cb;
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
BN_GENCB _cb;
|
||||||
|
#endif
|
||||||
|
union {
|
||||||
|
@@ -210,7 +210,7 @@ openssldh_generate(dst_key_t *key, int generator, void
|
||||||
|
if (dh == NULL)
|
||||||
|
return (dst__openssl_toresult(ISC_R_NOMEMORY));
|
||||||
|
cb = BN_GENCB_new();
|
||||||
|
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
if (cb == NULL) {
|
||||||
|
DH_free(dh);
|
||||||
|
return (dst__openssl_toresult(ISC_R_NOMEMORY));
|
||||||
|
--- lib/dns/openssldsa_link.c.orig Wed Sep 16 14:01:23 2015
|
||||||
|
+++ lib/dns/openssldsa_link.c Wed Sep 16 14:02:22 2015
|
||||||
|
@@ -359,7 +359,7 @@ openssldsa_generate(dst_key_t *key, int unused, void (
|
||||||
|
isc_result_t result;
|
||||||
|
#if OPENSSL_VERSION_NUMBER > 0x00908000L
|
||||||
|
BN_GENCB *cb;
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
BN_GENCB _cb;
|
||||||
|
#endif
|
||||||
|
union {
|
||||||
|
@@ -383,7 +383,7 @@ openssldsa_generate(dst_key_t *key, int unused, void (
|
||||||
|
if (dsa == NULL)
|
||||||
|
return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
|
||||||
|
cb = BN_GENCB_new();
|
||||||
|
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
if (cb == NULL) {
|
||||||
|
DSA_free(dsa);
|
||||||
|
return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
|
||||||
|
--- lib/dns/opensslrsa_link.c.orig Wed Sep 16 14:01:23 2015
|
||||||
|
+++ lib/dns/opensslrsa_link.c Wed Sep 16 14:02:31 2015
|
||||||
|
@@ -771,7 +771,7 @@ opensslrsa_generate(dst_key_t *key, int exp, void (*ca
|
||||||
|
} u;
|
||||||
|
RSA *rsa = RSA_new();
|
||||||
|
BIGNUM *e = BN_new();
|
||||||
|
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||||
|
BN_GENCB _cb;
|
||||||
|
#endif
|
||||||
|
BN_GENCB *cb = BN_GENCB_new();
|
@ -0,0 +1,90 @@
|
|||||||
|
; This file holds the information on root name servers needed to
|
||||||
|
; initialize cache of Internet domain name servers
|
||||||
|
; (e.g. reference this file in the "cache . <file>"
|
||||||
|
; configuration file of BIND domain name servers).
|
||||||
|
;
|
||||||
|
; This file is made available by InterNIC
|
||||||
|
; under anonymous FTP as
|
||||||
|
; file /domain/named.cache
|
||||||
|
; on server FTP.INTERNIC.NET
|
||||||
|
; -OR- RS.INTERNIC.NET
|
||||||
|
;
|
||||||
|
; last update: December 01, 2015
|
||||||
|
; related version of root zone: 2015120100
|
||||||
|
;
|
||||||
|
; formerly NS.INTERNIC.NET
|
||||||
|
;
|
||||||
|
. 3600000 NS A.ROOT-SERVERS.NET.
|
||||||
|
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
|
||||||
|
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:30
|
||||||
|
;
|
||||||
|
; FORMERLY NS1.ISI.EDU
|
||||||
|
;
|
||||||
|
. 3600000 NS B.ROOT-SERVERS.NET.
|
||||||
|
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
|
||||||
|
B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:84::b
|
||||||
|
;
|
||||||
|
; FORMERLY C.PSI.NET
|
||||||
|
;
|
||||||
|
. 3600000 NS C.ROOT-SERVERS.NET.
|
||||||
|
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
|
||||||
|
C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c
|
||||||
|
;
|
||||||
|
; FORMERLY TERP.UMD.EDU
|
||||||
|
;
|
||||||
|
. 3600000 NS D.ROOT-SERVERS.NET.
|
||||||
|
D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13
|
||||||
|
D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d
|
||||||
|
;
|
||||||
|
; FORMERLY NS.NASA.GOV
|
||||||
|
;
|
||||||
|
. 3600000 NS E.ROOT-SERVERS.NET.
|
||||||
|
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
|
||||||
|
;
|
||||||
|
; FORMERLY NS.ISC.ORG
|
||||||
|
;
|
||||||
|
. 3600000 NS F.ROOT-SERVERS.NET.
|
||||||
|
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
|
||||||
|
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f
|
||||||
|
;
|
||||||
|
; FORMERLY NS.NIC.DDN.MIL
|
||||||
|
;
|
||||||
|
. 3600000 NS G.ROOT-SERVERS.NET.
|
||||||
|
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
|
||||||
|
;
|
||||||
|
; FORMERLY AOS.ARL.ARMY.MIL
|
||||||
|
;
|
||||||
|
. 3600000 NS H.ROOT-SERVERS.NET.
|
||||||
|
H.ROOT-SERVERS.NET. 3600000 A 198.97.190.53
|
||||||
|
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::53
|
||||||
|
;
|
||||||
|
; FORMERLY NIC.NORDU.NET
|
||||||
|
;
|
||||||
|
. 3600000 NS I.ROOT-SERVERS.NET.
|
||||||
|
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
|
||||||
|
I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53
|
||||||
|
;
|
||||||
|
; OPERATED BY VERISIGN, INC.
|
||||||
|
;
|
||||||
|
. 3600000 NS J.ROOT-SERVERS.NET.
|
||||||
|
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
|
||||||
|
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:30
|
||||||
|
;
|
||||||
|
; OPERATED BY RIPE NCC
|
||||||
|
;
|
||||||
|
. 3600000 NS K.ROOT-SERVERS.NET.
|
||||||
|
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
|
||||||
|
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1
|
||||||
|
;
|
||||||
|
; OPERATED BY ICANN
|
||||||
|
;
|
||||||
|
. 3600000 NS L.ROOT-SERVERS.NET.
|
||||||
|
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
|
||||||
|
L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42
|
||||||
|
;
|
||||||
|
; OPERATED BY WIDE
|
||||||
|
;
|
||||||
|
. 3600000 NS M.ROOT-SERVERS.NET.
|
||||||
|
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
|
||||||
|
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35
|
||||||
|
; End of file
|
@ -0,0 +1 @@
|
|||||||
|
d /run/named 0750 named named -
|
@ -0,0 +1,36 @@
|
|||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
if [[ ${CATEGORY}/${PN} == "sys-libs/db" ]]
|
||||||
|
then
|
||||||
|
fix_libdb_6() {
|
||||||
|
if [[ -f /usr/include/db4.8/db.h ]] &&
|
||||||
|
[[ -f /usr/include/db4.8/db_185.h ]] &&
|
||||||
|
[[ -f /usr/lib/libdb-4.8.so ]]
|
||||||
|
then
|
||||||
|
ln -sf db4.8/db.h /usr/include/db.h
|
||||||
|
ln -sf db4.8/db_185.h /usr/include/db_185.h
|
||||||
|
ln -sf libdb-4.8.so /usr/lib/libdb.so
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
post_pkg_postrm() {
|
||||||
|
if [[ $PV == '0_rc73' ]]
|
||||||
|
then
|
||||||
|
fix_libdb_6
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
post_pkg_postinst() {
|
||||||
|
if [[ $SLOT == "4.8" ]] && [[ -d /var/db/pkg/sys-libs/db-0_rc73 ]]
|
||||||
|
then
|
||||||
|
fix_libdb_6
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
fi
|
@ -0,0 +1,4 @@
|
|||||||
|
# Calculate format=samba path=/etc/calculate name=ini.env merge=sys-apps/calculate-utils ini(overlay-calculate.remerge)<97
|
||||||
|
|
||||||
|
[overlay-calculate]
|
||||||
|
remerge = 97
|
@ -0,0 +1,23 @@
|
|||||||
|
# Calculate ini(overlay-calculate.revision)<63 exec=/bin/bash
|
||||||
|
|
||||||
|
#-ini(overlay-calculate.revision,63)-#
|
||||||
|
|
||||||
|
#?pkg(sys-libs/db:6.0)!=#
|
||||||
|
DBPKG=/var/db/pkg
|
||||||
|
OLDPN=sys-libs/db-6.0.35
|
||||||
|
NEWPN=sys-libs/db-0_rc73
|
||||||
|
|
||||||
|
if [[ -d $DBPKG/$OLDPN ]]
|
||||||
|
then
|
||||||
|
mv $DBPKG/$OLDPN $DBPKG/$NEWPN
|
||||||
|
echo 0 >$DBPKG/$NEWPN/SLOT
|
||||||
|
|
||||||
|
grep -rnP "sys-libs/db[^ ]+:6" $DBPKG/*/*/*DEPEND | awk -F: '{print $1}' |
|
||||||
|
while read fn
|
||||||
|
do
|
||||||
|
sed -ri 's/(sys-libs\/db[^ ]+):[^ []+/\1/' $fn
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
#pkg#
|
||||||
|
|
||||||
|
exit 0
|
@ -0,0 +1,29 @@
|
|||||||
|
# Copyright 1999-2015 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
# $Header: $
|
||||||
|
|
||||||
|
EAPI="5"
|
||||||
|
PYTHON_COMPAT=(python2_7)
|
||||||
|
|
||||||
|
declare -A CALCULATE_MODULES=(
|
||||||
|
["lib"]="3.4.5.9"
|
||||||
|
["install"]="3.4.5.10"
|
||||||
|
["core"]="3.4.5.5"
|
||||||
|
["i18n"]="3.4.5.10"
|
||||||
|
["client"]="3.4.5.1"
|
||||||
|
["console-gui"]="3.4.5.1"
|
||||||
|
["update"]="3.4.5.7"
|
||||||
|
["builder"]="3.4.5.12"
|
||||||
|
)
|
||||||
|
|
||||||
|
inherit calculate-utils
|
||||||
|
|
||||||
|
DESCRIPTION="A set of Calculate utilities for system installation, build and upgrade"
|
||||||
|
HOMEPAGE="http://www.calculate-linux.org/main/en/calculate_utilities"
|
||||||
|
|
||||||
|
LICENSE="Apache-2.0"
|
||||||
|
SLOT="3"
|
||||||
|
KEYWORDS="amd64 x86"
|
||||||
|
|
||||||
|
RDEPEND="!sys-libs/db:0"
|
||||||
|
DEPEND="!sys-libs/db:0"
|
Loading…
Reference in new issue