net-misc/dhcp: Bump patches and ldap patch

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/mds@1996 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one 2010-02-14 07:48:10 +00:00
parent 5b3b906281
commit e1c19e6ccb
8 changed files with 760 additions and 12 deletions

View File

@ -2,6 +2,12 @@
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/ChangeLog,v 1.154 2009/05/29 23:30:28 vapier Exp $
14 Feb 2010; Mario Fetka <mario.fetka@gmail.com> dhcp-3.1.3.ebuild,
+files/dhcp-3.1.3-dhclient-no-down-1.patch, +dhcp-4.0.2.ebuild,
+files/dhcp-4.0.2-no_isc_blurb-1.patch, +dhcp-4.1.1.ebuild,
+files/dhcp-4.1.1-no_isc_blurb-1.patch:
Bump patches and ldap patch
14 Feb 2010; Mario Fetka <mario.fetka@gmail.com>
+files/dhcp-3.0.3-dhclient-stdin-conf.patch, +files/dhcp-3.0.3-tr.patch,
+files/dhcp-3.0.3-x-option.patch, +files/dhcp-3.0-ddns-example.patch,

View File

@ -20,6 +20,7 @@ AUX dhcp-3.1.0a1-dhclient-resolvconf.patch 10316 RMD160 183bedd1660bf5a5f9dc7d00
AUX dhcp-3.1.1-CVE-2009-0692.patch 494 RMD160 42d3490a34b9559a9c0f335c2a3b8c8a2105d55f SHA1 e1c6da730672194b1771f0729c7d9f08073dfa6e SHA256 df77ad202d11e21355ed92bf015286fcd2f28ae21302283ab570ea4d9b9632af
AUX dhcp-3.1.2.ebuild.patch 3115 RMD160 f4fe966cabb398ee07dbf3c5ea1770ae4c440293 SHA1 d3f52f648b7a26a1c399f2cebde133e03e5a110e SHA256 54213b839cbf549358763caec1edf433343e8a39073d8e335fa87d9cabf375cd
AUX dhcp-3.1.2_p1-CVE-2009-1892.patch 427 RMD160 fe7daa6834faa0f6078ef125525f6a2db0c05f37 SHA1 eb6dcedecef536f743e97e7d0b5eea0a08f5e55a SHA256 55bb136138b76d6fa9c9165b348fb2c6975b935b3bba72ea551fc8bcae4fcc9b
AUX dhcp-3.1.3-dhclient-no-down-1.patch 2948 RMD160 20b7b67b59e39bb691ae1ec9567ba49bbc465128 SHA1 00774bd3fa683c9af1ce0b3ff9bbc0015d2bb97f SHA256 d4e9d5fdf124aa8a359a22f2f244033710c4831176cf8904c32c10ff4b1f4f16
AUX dhcp-4.0-dhclient-metric.patch 8100 RMD160 cd599d5523be30809024b8e0f81cd84e4d932317 SHA1 ba9ff19cc5274b0e3e8408eba4725e0546413954 SHA256 a1c5589ac1c57ba7fe66336646f4286ebd7112f05abf5ae59b69ff26e7409afc
AUX dhcp-4.0-dhclient-ntp.patch 7966 RMD160 d6dd1c3363f06712a82231eae1eb559f5a45bbb5 SHA1 3c1b373c6649c1ccb44f205fbee116c134514f4e SHA256 e93bda7f2baae9163f96ab0408bfbe885caa96a8698f9e566b8a9dc04de9359b
AUX dhcp-4.0-dhclient-resolvconf.patch 14516 RMD160 0a53cbb795c4d4989f5632b6314b69be5bd94611 SHA1 e1db8ecca4de1c45fcec7e93fb13d186931d74f6 SHA256 1cdbb9ed297426b2d44063ffb8642c9c5cdf54dc2f9c3c8f59100f4ab2c40986
@ -30,8 +31,10 @@ AUX dhcp-4.0-no_isc_blurb.patch 2748 RMD160 f29d8705fab63320c18c6319dd5703a51acc
AUX dhcp-4.0-paranoia.patch 4996 RMD160 2f8339e3d8af9164c91cc5a3bab7605ecd728295 SHA1 94db8a07b82b69d0a05645b08ef5d0ec0b99bd19 SHA256 14d328d400cdc1b4d7d6329d9c8e997b2c5e76e8f21330e267a75d6240799058
AUX dhcp-4.0.1-dhclient-stdin-conf.patch 2965 RMD160 2c3dd3994f0a7f15f3fe51972dd04a2e6055613a SHA1 f4a9d51126ea489f75fcf29053ab432b68e5055d SHA256 0b25bc74ae258656dd1f0e6f4ffd6b4ef8b4ad56956624c0b6070941a180e57c
AUX dhcp-4.0.1.ebuild.patch 2594 RMD160 2a07162a5a9b9c3373d409a9bf0a05e9ae97d23f SHA1 edd8ab5fb8f0af1082395df492397485883a22e1 SHA256 95b4847217b05389ae245eb95d059431e7e4ba068f2911e1c6e531912c03a48b
AUX dhcp-4.0.2-no_isc_blurb-1.patch 2926 RMD160 1834092946267c6e04f737406e5ece4441451e5a SHA1 6666ee124a06b24ae2d33b10620b3f8ac22dda1c SHA256 2baeecda2649004cead2eb5fc4c47a7cf49182d71528d4433c2912cc9486c13f
AUX dhcp-4.1-dhclient-metric.patch 7493 RMD160 59131eb3645b80e666b0741324992f10545213e4 SHA1 ec7fedbc46efe882c172eb07613711cccc0bce73 SHA256 405027d4ed4aa4cf8df8e0972c543885f1a2c077483eac6771a58b84bee2a343
AUX dhcp-4.1-no_isc_blurb.patch 2711 RMD160 6b6816756fc899a1bb108281faa4765fcf1d09f7 SHA1 5f010721ee2fd39232fc15ef18faccce6d15e3fe SHA256 c9a17ac6695fa29b016f9dc024b648641b3958ffb2c9740671a9f9c5e8b8e52e
AUX dhcp-4.1.1-no_isc_blurb-1.patch 2871 RMD160 5669a81ac079670ea63d990890cf9d8f021277eb SHA1 7d4ccb64a59940cb9c80bc2d5c8c3bcc282e2c09 SHA256 e827a0b80dee1566edbe75ee8ff896b3efec089f6c518ef8949ada0247aa8957
AUX dhcpd.conf 1092 RMD160 936bb112c7cdf8e669b695599252d1f6626be2f3 SHA1 cbabbcea73a0cbc9692462683b983c96d6f18b0c SHA256 b86d27e0560689057b01a352474582fceb3a398eaf3b17f901378ec56284c4d5
AUX dhcpd.init 1989 RMD160 7f6b6858020100e47efa5d6a0809b2959e551249 SHA1 2c611adc6425fd095740aa56d09d8aafb4fea58a SHA256 916bfeb81dcb3423fd4239270ac2dce2e6dc105b28a06e03b352f6bf6b30ed1e
AUX dhcpd.init2 2421 RMD160 baa01ae97b227edba7653cd51735613be2dac652 SHA1 f2068ceb2d79d7992f46b31e6a6e3277a0167dce SHA256 fef93e5a7264780044a977ade27e9cc70de824063791bcd07d3db81c11c16df5
@ -41,15 +44,20 @@ DIST dhcp-3.1.2.tar.gz 799626 RMD160 026ac48b176ec273397fafa8a834a21fd6331681 SH
DIST dhcp-3.1.2p1.tar.gz 792355 RMD160 53434f8404c69e8e113cad030ec975cf13b467cc SHA1 730214fa6e70d187f1492aa3d4f1c2868ffcc8de SHA256 e0cb405e0fef0ecebec7aaed294032a06178ff28be87498596e6069ccda4341e
DIST dhcp-3.1.3.tar.gz 804097 RMD160 2337d1cc29e7be8ac973d8bfec633367dd37c12a SHA1 92fea5036c38a840f2f944b6cd1d90b18f950b7c SHA256 cb363247a897beaf5708c98d3a80dba8edd8f639d6bd1f4ada6c5a64ba51e2d4
DIST dhcp-4.0.1.tar.gz 1050570 RMD160 a9764a76d105778362fe4b58e77783331ee3448a SHA1 7d813740ab4a64e474f1c01b1395617987532ed1 SHA256 965d09a7759250eff7d6d06d37425ea085c14edb5b405f8357ef5ec72ded28ef
DIST dhcp-4.0.2.tar.gz 1043137 RMD160 7c80370b433de30f89c8e685a939a89e5390ead7 SHA1 585a1b78d3bff6a7e421e7f63343aaee269be0df SHA256 43874113815028b08ac76f14b6b9590b2649663bcbb47a70af9a752fd5274461
DIST dhcp-4.1.0.tar.gz 1086815 RMD160 bf96fa9d135a65b4d9b27f8caf4f3744f0636c80 SHA1 46e161892140a3b60cd56e62b442f48f51bc605f SHA256 688741e970410efdb177513550f8cd1ee52032eb109313ab316a852f40310914
DIST dhcp-4.1.1.tar.gz 1084368 RMD160 8b5b7223979c2bf279fe8042ad97680f1d2205fe SHA1 b23a28d481a84248f8170b4c6c1166a86c04b2a6 SHA256 37058685bffbfeb793cfb0867f0b1911f8d238ea69fbaa6cbb165455ab803618
DIST ldap-for-dhcp-3.1.2-2.tar.gz 39752 RMD160 96d2f469b1349485c0202012697222911b81abe8 SHA1 023d12eeb148ad493e252edbfd112d19c9d0cecd SHA256 afd30a30d72a17a4d8ae1a27c247711f03b30b5e270bdcf9f521695b55b28db7
DIST ldap-for-dhcp-3.1.3-1.tar.gz 41029 RMD160 8b3793f6f6db956fd9c2d6b1ea94e8bd040d188b SHA1 e8053dac00e04fa27ebe90260e78a7d37da21ec7 SHA256 4df0daf50ddc31eb3cfd7c31226ac3d766fb37884f80fc6b96f3c3ee4a94baab
DIST ldap-for-dhcp-4.0.1-3.tar.gz 39117 RMD160 977ec08ec0213e1a53d0dd5b3b08a234172dbd22 SHA1 8bc692bb2017c1b5ff35d73c10e5a2e4ed44e559 SHA256 161f5cd479ba0789d139ef59d101244fa7c880c3d1c13cbbbbae978004a30a18
DIST ldap-for-dhcp-4.1.0-5.tar.gz 39281 RMD160 bfcfd98542b4e3616f1008fda30495e853e91c09 SHA1 bc2dc8c0215d3abac346c05db0b6327d34d2132c SHA256 e99977de60b5fc03ef30b035ab15c90896296909cde1c76886c1361a714b90cc
DIST ldap-for-dhcp-4.1.1-1.tar.gz 38986 RMD160 4a48d1303f8d8ca864a7211cb89dab74cbb04943 SHA1 274455b3a0e2638a6a7d69054d0af683d4c51061 SHA256 69e5b40703cef761d5483a8125dd59f40ffaee6aa8c272ba306905987f22fa83
EBUILD dhcp-3.1.2.ebuild 8466 RMD160 3a49e7318d635a5ef940d2765832cfa133fe77d3 SHA1 9895117cd684d340ef9cdf8a7a924b77ffcfdb64 SHA256 5b2a6adc4c5ba199ba4bf57b2edf98b6788396c5c99587d0607cd4cccb28ca10
EBUILD dhcp-3.1.2_p1.ebuild 8489 RMD160 659d3f81fb9c920d47e65f2870e02eba93577d69 SHA1 fdb52c4412a22a8abb3c622664c58c7282e6db31 SHA256 d4a86105aa84c816c70ee85491131270560073b5f79bbeae8dd15e657075a65b
EBUILD dhcp-3.1.3.ebuild 8582 RMD160 ff557fd78cf7f9603f5bc2d8089da0cab478ddf3 SHA1 7aa0e60b290afba91eee2dde9ac4d7ed5c9bf353 SHA256 c6d652a1f6eaac1b0dcfae7fa0565b10e8bde04d747a6561415f3b9ec782f1f2
EBUILD dhcp-3.1.3.ebuild 8185 RMD160 7b8b78ba48bc18631e46e58747a33397811fdb29 SHA1 375b954a85de466202e1af32e8f6ba7b5b017c2e SHA256 731cfa5271cdbf6f1fa7fdd22ba88ccb41eb29ee6274d3099b49118442d0c062
EBUILD dhcp-4.0.1.ebuild 7518 RMD160 b67abe9cbe58a82ee136336e5945aaad203226c2 SHA1 ffffa20129703a1f98b30764d243d3033fc8ea0c SHA256 bfd9c9a7f62d2f6bffb230112a3951ad53dfcdee1978431d393255191f2625c8
EBUILD dhcp-4.0.2.ebuild 7060 RMD160 25bc5f814f40a4f6fe8451df3d10d2793c3658e8 SHA1 f758d091cc5b477e4bd7525c461d38f6ba49e6b5 SHA256 a9dcff93da690c2da81a4bb6130c36e07fbddbb16551356a00d3118292688d8a
EBUILD dhcp-4.1.0.ebuild 7477 RMD160 088bf5e5ef19ade51b419e0749204facaef14cc5 SHA1 5c1caa8751fb82b444c79fce43a253e1d5fa426f SHA256 1da58a544cf20d2680888ab78a0c6e7ce3c5b17c00287d5396b07046567ee1ea
MISC ChangeLog 29592 RMD160 1f192478db173ccfd700d5062dd25dac97ac0816 SHA1 0ca6bb7c8aaaf4aab9827459eadca48e41a42f72 SHA256 896b40614c372dc0d66d8e542ca37d012f5599c31dd10cf2db8a23bc4e67c8c8
EBUILD dhcp-4.1.1.ebuild 7017 RMD160 1531efd00a2dae59f77669c1c94055fb64c6cc46 SHA1 c2171fe8cbb30874bde08a71d4d3d7d3b7db12a0 SHA256 ca686df07dbab0b3555fe33a70ce7a368b2fd46a4fa7ebc2323b5ffcc859ec0d
MISC ChangeLog 29863 RMD160 d13619e066c226bc681d132bf64b40f1de32ea97 SHA1 71f51e5d42cd964cf3b0b7555ff59d2b2a6d2734 SHA256 7b7da8cf1700a9b3f5913a62010c6bad8741f08319a446cc2c58e78432d22b80
MISC metadata.xml 358 RMD160 97ecd4b6ee0a24352a71a66d5ad4fd82481156b4 SHA1 d80da2cf7c6892cdad6b681fda29e46472d68871 SHA256 8665f24cdfcc09576b595f8bd257333ff5f9ea7ee0ca2925ba6fb74d90e12415

View File

@ -46,15 +46,9 @@ src_unpack() {
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-ntp.patch
# resolvconf support in dhclient-script
epatch "${FILESDIR}/${PN}"-3.1.0a1-dhclient-resolvconf.patch
# Fix setting hostnames on Linux
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-hostname.patch
# Allow mtu settings
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-mtu.patch
# Allow dhclient to use IF_METRIC to set route metrics
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-metric.patch
# Stop downing the interface on Linux as that breaks link dameons
# such as wpa_supplicant and netplug
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-no-down.patch
epatch "${FILESDIR}/${PN}"-3.1.3-dhclient-no-down-1.patch
# Quiet the isc blurb
epatch "${FILESDIR}/${PN}"-3.0.3-no_isc_blurb.patch
# Enable dhclient to get extra configuration from stdin
@ -74,9 +68,6 @@ src_unpack() {
# Add dbus support to dhclient
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-dbus.patch
# Denial of service through mixed identifier/ethernet host definitions
epatch "${FILESDIR}/${P}"-CVE-2009-1892.patch
# Ldap patch for dhcp
epatch "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}/dhcp-${MY_LDAP_PV}"-ldap.patch

View File

@ -0,0 +1,226 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/dhcp-4.0.1.ebuild,v 1.2 2010/01/15 19:00:22 ulm Exp $
inherit eutils flag-o-matic autotools
LDAP_PV="4.0.1-3"
MY_PV="${PV//_alpha/a}"
MY_PV="${MY_PV//_beta/b}"
MY_PV="${MY_PV//_rc/rc}"
MY_P="${PN}-${MY_PV}"
MY_LDAP_PV="${LDAP_PV//-*/}"
DESCRIPTION="ISC Dynamic Host Configuration Protocol"
HOMEPAGE="http://www.isc.org/products/DHCP"
SRC_URI="ftp://ftp.isc.org/isc/dhcp/${MY_P}.tar.gz
ldap? ( http://cloud.github.com/downloads/dcantrell/ldap-for-dhcp/ldap-for-dhcp-${LDAP_PV}.tar.gz
http://ftp.mars.arge.at/pub/ldap-for-dhcp-${LDAP_PV}.tar.gz )"
LICENSE="as-is BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
IUSE="doc ipv6 selinux kernel_linux vim-syntax ldap ssl"
DEPEND="selinux? ( sec-policy/selinux-dhcp )
kernel_linux? ( sys-apps/net-tools )
vim-syntax? ( app-vim/dhcpd-syntax )
ldap? ( net-nds/openldap
ssl? ( dev-libs/openssl ) )"
PROVIDE="virtual/dhcpc"
S="${WORKDIR}/${MY_P}"
src_unpack() {
unpack ${A}
cd "${S}"
# Gentoo patches - these will probably never be accepted upstream
# Enable chroot support
epatch "${FILESDIR}/${PN}"-4.0-paranoia.patch
# Fix some permission issues
epatch "${FILESDIR}/${PN}"-3.0-fix-perms.patch
# Enable dhclient to equery NTP servers
epatch "${FILESDIR}/${PN}"-4.0-dhclient-ntp.patch
# resolvconf support in dhclient-script
epatch "${FILESDIR}/${PN}"-4.0-dhclient-resolvconf.patch
# Stop downing the interface on Linux as that breaks link daemons
# such as wpa_supplicant and netplug
epatch "${FILESDIR}/${PN}"-3.1.3-dhclient-no-down-1.patch
# Quiet the isc blurb
epatch "${FILESDIR}/${PN}"-4.0.2-no_isc_blurb-1.patch
# Enable dhclient to get extra configuration from stdin
epatch "${FILESDIR}/${PN}"-4.0.1-dhclient-stdin-conf.patch
# Disable fallback interfaces when using BPF
# This allows more than one dhclient instance on the BSD's
epatch "${FILESDIR}/${PN}"-3.0.5-bpf-nofallback.patch
# This allows the software to actually compile on linux
epatch "${FILESDIR}/${PN}"-4.0-linux-ipv6-header.patch
# NetworkManager support patches
# If they fail to apply to future versions they will be dropped
# Add dbus support to dhclient
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-dbus.patch
# Ldap patch for dhcp
epatch "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}/dhcp-${MY_LDAP_PV}"-ldap.patch
# Brand the version with Gentoo
# include revision if >0
local newver="Gentoo"
[[ ${PR} != "r0" ]] && newver="${newver}-${PR}"
sed -i "/AC_INIT/s/\(\[[0-9]\+\.[0-9]\+\.[0-9]\+\)/\1-${newver}/" \
configure.ac || die
# Change the hook script locations of the scripts
sed -i -e 's,/etc/dhclient-exit-hooks,/etc/dhcp/dhclient-exit-hooks,g' \
-e 's,/etc/dhclient-enter-hooks,/etc/dhcp/dhclient-enter-hooks,g' \
client/scripts/* || die
# No need for the linux script to force bash, #158540.
sed -i -e 's,#!/bin/bash,#!/bin/sh,' client/scripts/linux || die
# Quiet the freebsd logger a little
sed -i -e '/LOGGER=/ s/-s -p user.notice //g' client/scripts/freebsd || die
# Remove these options from the sample config
sed -i -e "/\(script\|host-name\|domain-name\) / d" \
client/dhclient.conf || die
# Only install different man pages if we don't have en
if [[ " ${LINGUAS} " != *" en "* ]]; then
# Install Japanese man pages
if [[ " ${LINGUAS} " == *" ja "* && -d doc/ja_JP.eucJP ]]; then
einfo "Installing Japanese documention"
cp doc/ja_JP.eucJP/dhclient* client
cp doc/ja_JP.eucJP/dhcp* common
fi
fi
# Now remove the non-english docs so there are no errors later
[[ -d doc/ja_JP.eucJP ]] && rm -rf doc/ja_JP.eucJP
eautoreconf
}
src_compile() {
econf \
--enable-paranoia \
--sysconfdir /etc/dhcp \
--with-cli-pid-file=/var/run/dhcp/dhclient.pid \
--with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
--with-srv-pid-file=/var/run/dhcp/dhcpd.pid \
--with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
--with-relay-pid-file=/var/run/dhcp/dhcrelay.pid \
$(use_enable ipv6 dhcpv6) \
$(use_with ldap) \
$(use_with ssl ldapcrypto) \
|| die
emake || die "compile problem"
}
src_install() {
for installdir in includes tests common minires dst omapip client dhcpctl relay server; do
cd "${S}/${installdir}"
if [ "${installdir}" == client ]; then
make install DESTDIR="${D}" exec_prefix="" || die
else
make install DESTDIR="${D}" exec_prefix="/usr" || die
fi
done
cd "${S}"
exeinto /sbin
if use kernel_linux; then
newexe "${S}"/client/scripts/linux dhclient-script
else
newexe "${S}"/client/scripts/freebsd dhclient-script
fi
if use doc; then
dodoc README RELNOTES doc/*
use ldap && dodoc "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/*.ldap "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/draft-ietf-dhc-ldap-schema-01.txt
fi
insinto /etc/dhcp
newins client/dhclient.conf dhclient.conf.sample
keepdir /var/{lib,run}/dhcp
# Install our server files
insinto /etc/dhcp
newins server/dhcpd.conf dhcpd.conf.sample
newinitd "${FILESDIR}"/dhcpd.init dhcpd
newinitd "${FILESDIR}"/dhcrelay.init dhcrelay
newconfd "${FILESDIR}"/dhcpd.conf dhcpd
newconfd "${FILESDIR}"/dhcrelay.conf dhcrelay
# install ldap files
if use ldap; then
insinto /etc/openldap/schema
doins "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/dhcp.*
dosbin "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/dhcpd-conf-to-ldap
fi
# We never want portage to own this file
rm -f "${D}"/var/lib/dhcp/dhcpd.leases
}
pkg_preinst() {
enewgroup dhcp
enewuser dhcp -1 -1 /var/lib/dhcp dhcp
}
pkg_postinst() {
chown dhcp:dhcp "${ROOT}"/var/{lib,run}/dhcp
if [[ -e "${ROOT}"/etc/init.d/dhcp ]] ; then
ewarn
ewarn "WARNING: The dhcp init script has been renamed to dhcpd"
ewarn "/etc/init.d/dhcp and /etc/conf.d/dhcp need to be removed and"
ewarn "and dhcp should be removed from the default runlevel"
ewarn
fi
einfo "You can edit /etc/conf.d/dhcpd to customize dhcp settings."
einfo
einfo "If you would like to run dhcpd in a chroot, simply configure the"
einfo "DHCPD_CHROOT directory in /etc/conf.d/dhcpd and then run:"
einfo " emerge --config =${PF}"
}
pkg_config() {
local CHROOT="$(
sed -n -e 's/^[[:blank:]]\?DHCPD_CHROOT="*\([^#"]\+\)"*/\1/p' \
"${ROOT}"/etc/conf.d/dhcpd
)"
if [[ -z ${CHROOT} ]]; then
eerror "CHROOT not defined in /etc/conf.d/dhcpd"
return 1
fi
CHROOT="${ROOT}/${CHROOT}"
if [[ -d ${CHROOT} ]] ; then
ewarn "${CHROOT} already exists - aborting"
return 0
fi
ebegin "Setting up the chroot directory"
mkdir -m 0755 -p "${CHROOT}/"{dev,etc,var/lib,var/run/dhcp}
cp /etc/{localtime,resolv.conf} "${CHROOT}"/etc
cp -R /etc/dhcp "${CHROOT}"/etc
cp -R /var/lib/dhcp "${CHROOT}"/var/lib
ln -s ../../var/lib/dhcp "${CHROOT}"/etc/dhcp/lib
chown -R dhcp:dhcp "${CHROOT}"/var/{lib,run}/dhcp
eend 0
local logger="$(best_version virtual/logger)"
einfo "To enable logging from the dhcpd server, configure your"
einfo "logger (${logger}) to listen on ${CHROOT}/dev/log"
}

View File

@ -0,0 +1,225 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/dhcp-4.1.0.ebuild,v 1.2 2010/01/15 19:00:22 ulm Exp $
inherit eutils flag-o-matic autotools
LDAP_PV="4.1.1-1"
MY_PV="${PV//_alpha/a}"
MY_PV="${MY_PV//_beta/b}"
MY_PV="${MY_PV//_rc/rc}"
MY_P="${PN}-${MY_PV}"
MY_LDAP_PV="${LDAP_PV//-*/}"
DESCRIPTION="ISC Dynamic Host Configuration Protocol"
HOMEPAGE="http://www.isc.org/products/DHCP"
SRC_URI="ftp://ftp.isc.org/isc/dhcp/${MY_P}.tar.gz
ldap? ( http://cloud.github.com/downloads/dcantrell/ldap-for-dhcp/ldap-for-dhcp-${LDAP_PV}.tar.gz
http://ftp.mars.arge.at/pub/ldap-for-dhcp-${LDAP_PV}.tar.gz )"
LICENSE="as-is BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
IUSE="doc ipv6 selinux kernel_linux vim-syntax ldap ssl"
DEPEND="selinux? ( sec-policy/selinux-dhcp )
kernel_linux? ( sys-apps/net-tools )
vim-syntax? ( app-vim/dhcpd-syntax )
ldap? ( net-nds/openldap
ssl? ( dev-libs/openssl ) )"
PROVIDE="virtual/dhcpc"
S="${WORKDIR}/${MY_P}"
src_unpack() {
unpack ${A}
cd "${S}"
# Gentoo patches - these will probably never be accepted upstream
# Fix some permission issues
epatch "${FILESDIR}/${PN}"-3.0-fix-perms.patch
# Enable dhclient to equery NTP servers
epatch "${FILESDIR}/${PN}"-4.0-dhclient-ntp.patch
# resolvconf support in dhclient-script
epatch "${FILESDIR}/${PN}"-4.0-dhclient-resolvconf.patch
# Stop downing the interface on Linux as that breaks link daemons
# such as wpa_supplicant and netplug
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-no-down.patch
# Quiet the isc blurb
epatch "${FILESDIR}/${PN}"-4.1.1-no_isc_blurb-1.patch
# Enable dhclient to get extra configuration from stdin
epatch "${FILESDIR}/${PN}"-4.0.1-dhclient-stdin-conf.patch
# Disable fallback interfaces when using BPF
# This allows more than one dhclient instance on the BSD's
epatch "${FILESDIR}/${PN}"-3.0.5-bpf-nofallback.patch
# This allows the software to actually compile on linux
epatch "${FILESDIR}/${PN}"-4.0-linux-ipv6-header.patch
# NetworkManager support patches
# If they fail to apply to future versions they will be dropped
# Add dbus support to dhclient
epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-dbus.patch
# Ldap patch for dhcp
epatch "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}/dhcp-${MY_LDAP_PV}"-ldap.patch
# Brand the version with Gentoo
# include revision if >0
local newver="Gentoo"
[[ ${PR} != "r0" ]] && newver="${newver}-${PR}"
sed -i "/AC_INIT/s/\(\[[0-9]\+\.[0-9]\+\.[0-9]\+\)/\1-${newver}/" \
configure.ac || die
# Change the hook script locations of the scripts
sed -i -e 's,/etc/dhclient-exit-hooks,/etc/dhcp/dhclient-exit-hooks,g' \
-e 's,/etc/dhclient-enter-hooks,/etc/dhcp/dhclient-enter-hooks,g' \
client/scripts/* || die
# No need for the linux script to force bash, #158540.
sed -i -e 's,#!/bin/bash,#!/bin/sh,' client/scripts/linux || die
# Quiet the freebsd logger a little
sed -i -e '/LOGGER=/ s/-s -p user.notice //g' client/scripts/freebsd || die
# Remove these options from the sample config
sed -i -e "/\(script\|host-name\|domain-name\) / d" \
client/dhclient.conf || die
# Only install different man pages if we don't have en
if [[ " ${LINGUAS} " != *" en "* ]]; then
# Install Japanese man pages
if [[ " ${LINGUAS} " == *" ja "* && -d doc/ja_JP.eucJP ]]; then
einfo "Installing Japanese documention"
cp doc/ja_JP.eucJP/dhclient* client
cp doc/ja_JP.eucJP/dhcp* common
fi
fi
# Now remove the non-english docs so there are no errors later
[[ -d doc/ja_JP.eucJP ]] && rm -rf doc/ja_JP.eucJP
eautoreconf
}
src_compile() {
econf \
--enable-paranoia \
--sysconfdir /etc/dhcp \
--with-cli-pid-file=/var/run/dhcp/dhclient.pid \
--with-cli-lease-file=/var/lib/dhcp/dhclient.leases \
--with-srv-pid-file=/var/run/dhcp/dhcpd.pid \
--with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
--with-relay-pid-file=/var/run/dhcp/dhcrelay.pid \
$(use_enable ipv6 dhcpv6) \
$(use_with ldap) \
$(use_with ssl ldapcrypto) \
|| die
emake || die "compile problem"
}
src_install() {
for installdir in includes tests common minires dst omapip client dhcpctl relay server; do
cd "${S}/${installdir}"
if [ "${installdir}" == client ]; then
make install DESTDIR="${D}" exec_prefix="" || die
else
make install DESTDIR="${D}" exec_prefix="/usr" || die
fi
done
cd "${S}"
exeinto /sbin
if use kernel_linux; then
newexe "${S}"/client/scripts/linux dhclient-script
else
newexe "${S}"/client/scripts/freebsd dhclient-script
fi
if use doc; then
dodoc README RELNOTES doc/*
use ldap && dodoc "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/*.ldap "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/draft-ietf-dhc-ldap-schema-01.txt
fi
insinto /etc/dhcp
newins client/dhclient.conf dhclient.conf.sample
keepdir /var/{lib,run}/dhcp
keepdir /var/lib/dhclient
# Install our server files
insinto /etc/dhcp
newins server/dhcpd.conf dhcpd.conf.sample
newinitd "${FILESDIR}"/dhcpd.init2 dhcpd
newinitd "${FILESDIR}"/dhcrelay.init dhcrelay
newconfd "${FILESDIR}"/dhcpd.conf dhcpd
newconfd "${FILESDIR}"/dhcrelay.conf dhcrelay
# install ldap files
if use ldap; then
insinto /etc/openldap/schema
doins "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/dhcp.*
dosbin "${WORKDIR}/ldap-for-dhcp-${LDAP_PV}"/dhcpd-conf-to-ldap
fi
# We never want portage to own this file
rm -f "${D}"/var/lib/dhcp/dhcpd.leases
}
pkg_preinst() {
enewgroup dhcp
enewuser dhcp -1 -1 /var/lib/dhcp dhcp
}
pkg_postinst() {
chown -R dhcp:dhcp "${ROOT}"/var/{lib,run}/dhcp
if [[ -e "${ROOT}"/etc/init.d/dhcp ]] ; then
ewarn
ewarn "WARNING: The dhcp init script has been renamed to dhcpd"
ewarn "/etc/init.d/dhcp and /etc/conf.d/dhcp need to be removed and"
ewarn "and dhcp should be removed from the default runlevel"
ewarn
fi
einfo "You can edit /etc/conf.d/dhcpd to customize dhcp settings."
einfo
einfo "If you would like to run dhcpd in a chroot, simply configure the"
einfo "DHCPD_CHROOT directory in /etc/conf.d/dhcpd and then run:"
einfo " emerge --config =${PF}"
}
pkg_config() {
local CHROOT="$(
sed -n -e 's/^[[:blank:]]\?DHCPD_CHROOT="*\([^#"]\+\)"*/\1/p' \
"${ROOT}"/etc/conf.d/dhcpd
)"
if [[ -z ${CHROOT} ]]; then
eerror "CHROOT not defined in /etc/conf.d/dhcpd"
return 1
fi
CHROOT="${ROOT}/${CHROOT}"
if [[ -d ${CHROOT} ]] ; then
ewarn "${CHROOT} already exists - aborting"
return 0
fi
ebegin "Setting up the chroot directory"
mkdir -m 0755 -p "${CHROOT}/"{dev,etc,var/lib,var/run/dhcp}
cp /etc/{localtime,resolv.conf} "${CHROOT}"/etc
cp -R /etc/dhcp "${CHROOT}"/etc
cp -R /var/lib/dhcp "${CHROOT}"/var/lib
ln -s ../../var/lib/dhcp "${CHROOT}"/etc/dhcp/lib
chown -R dhcp:dhcp "${CHROOT}"/var/{lib,run}/dhcp
eend 0
local logger="$(best_version virtual/logger)"
einfo "To enable logging from the dhcpd server, configure your"
einfo "logger (${logger}) to listen on ${CHROOT}/dev/log"
}

View File

@ -0,0 +1,84 @@
Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com)
Date: 2010-02-14
Initial Package Version: 3.0.3
Origin: gentoo patch dhcp-3.0.3-dhclient-no-down.patch
Upstream Status:
Description:
diff -Naur dhcp-3.1.3.orig/client/scripts/linux dhcp-3.1.3/client/scripts/linux
--- dhcp-3.1.3.orig/client/scripts/linux 2010-02-14 07:11:40.663800717 +0000
+++ dhcp-3.1.3/client/scripts/linux 2010-02-14 07:12:29.183552495 +0000
@@ -118,7 +118,7 @@
if [ x$reason = xPREINIT ]; then
if [ x$alias_ip_address != x ]; then
# Bring down alias interface. Its routes will disappear too.
- ifconfig $interface:0- inet 0
+ ifconfig $interface:0- inet 0.0.0.0
fi
if [ $relmajor -lt 2 ] || ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] )
then
@@ -127,7 +127,7 @@
# Add route to make broadcast work. Do not omit netmask.
route add default dev $interface netmask 0.0.0.0
else
- ifconfig $interface 0 up
+ ifconfig $interface 0.0.0.0 up
fi
# We need to give the kernel some time to get the interface up.
@@ -155,12 +155,12 @@
if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
[ x$alias_ip_address != x$old_ip_address ]; then
# Possible new alias. Remove old alias.
- ifconfig $interface:0- inet 0
+ ifconfig $interface:0- inet 0.0.0.0
fi
if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
# IP address changed. Bringing down the interface will delete all routes,
# and clear the ARP cache.
- ifconfig $interface inet 0 down
+ ifconfig $interface inet 0.0.0.0
fi
if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
@@ -179,7 +179,7 @@
fi
if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
then
- ifconfig $interface:0- inet 0
+ ifconfig $interface:0- inet 0.0.0.0
ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
route add -host $alias_ip_address $interface:0
fi
@@ -191,11 +191,11 @@
|| [ x$reason = xSTOP ]; then
if [ x$alias_ip_address != x ]; then
# Turn off alias interface.
- ifconfig $interface:0- inet 0
+ ifconfig $interface:0- inet 0.0.0.0
fi
if [ x$old_ip_address != x ]; then
# Shut down interface, which will delete routes and clear arp cache.
- ifconfig $interface inet 0 down
+ ifconfig $interface inet 0.0.0.0
fi
if [ x$alias_ip_address != x ]; then
ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
@@ -206,7 +206,7 @@
if [ x$reason = xTIMEOUT ]; then
if [ x$alias_ip_address != x ]; then
- ifconfig $interface:0- inet 0
+ ifconfig $interface:0- inet 0.0.0.0
fi
ifconfig $interface inet $new_ip_address $new_subnet_arg \
$new_broadcast_arg $mtu_arg
@@ -227,7 +227,7 @@
make_resolv_conf
exit_with_hooks 0
fi
- ifconfig $interface inet 0 down
+ ifconfig $interface inet 0.0.0.0
exit_with_hooks 1
fi

View File

@ -0,0 +1,105 @@
Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com)
Date: 2010-02-14
Initial Package Version: 4.0.0
Origin: gentoo patch dhcp-4.0-no_isc_blurb.patch
Upstream Status:
Description:
diff -Naur dhcp-4.0.2.orig/client/dhclient.c dhcp-4.0.2/client/dhclient.c
--- dhcp-4.0.2.orig/client/dhclient.c 2010-02-14 07:26:37.018800468 +0000
+++ dhcp-4.0.2/client/dhclient.c 2010-02-14 07:26:44.163801138 +0000
@@ -80,6 +80,8 @@
static isc_result_t write_duid(struct data_string *duid);
+extern int log_isc_blurb;
+
int
main(int argc, char **argv) {
int fd;
@@ -325,6 +327,7 @@
log_info ("%s", "");
} else {
log_perror = 0;
+ log_isc_blurb = 0;
quiet_interface_discovery = 1;
}
diff -Naur dhcp-4.0.2.orig/omapip/errwarn.c dhcp-4.0.2/omapip/errwarn.c
--- dhcp-4.0.2.orig/omapip/errwarn.c 2010-02-14 07:26:37.006801498 +0000
+++ dhcp-4.0.2/omapip/errwarn.c 2010-02-14 07:26:44.164800970 +0000
@@ -43,6 +43,8 @@
int log_perror = 1;
#endif
int log_priority;
+int log_isc_blurb=1;
+
void (*log_cleanup) (void);
#define CVT_BUF_MAX 1023
@@ -74,7 +76,9 @@
IGNORE_RET (write (STDERR_FILENO, "\n", 1));
}
-#if !defined (NOMINUM)
+#if !defined(NOMINUM)
+ if ( log_isc_blurb )
+ {
log_error ("%s", "");
log_error ("If you did not get this software from ftp.isc.org, please");
log_error ("get the latest from ftp.isc.org and install that before");
@@ -92,7 +96,12 @@
log_error ("the README file.");
log_error ("%s", "");
log_error ("exiting.");
+ }else
+ {
+ log_error ("exiting.");
+ }
#endif
+
if (log_cleanup)
(*log_cleanup) ();
exit (1);
diff -Naur dhcp-4.0.2.orig/relay/dhcrelay.c dhcp-4.0.2/relay/dhcrelay.c
--- dhcp-4.0.2.orig/relay/dhcrelay.c 2010-02-14 07:26:37.014800648 +0000
+++ dhcp-4.0.2/relay/dhcrelay.c 2010-02-14 07:28:00.771800735 +0000
@@ -103,7 +103,8 @@
"Internet Systems Consortium DHCP Relay Agent";
static const char url[] =
"For info, please visit https://www.isc.org/software/dhcp/";
-
+extern int log_isc_blurb;
+
int
main(int argc, char **argv) {
int fd;
@@ -169,6 +170,7 @@
} else if (!strcmp (argv [i], "-q")) {
quiet = 1;
quiet_interface_discovery = 1;
+ log_isc_blurb = 0;
} else if (!strcmp (argv [i], "-a")) {
add_agent_options = 1;
} else if (!strcmp (argv [i], "-c")) {
diff -Naur dhcp-4.0.2.orig/server/dhcpd.c dhcp-4.0.2/server/dhcpd.c
--- dhcp-4.0.2.orig/server/dhcpd.c 2010-02-14 07:26:37.047800993 +0000
+++ dhcp-4.0.2/server/dhcpd.c 2010-02-14 07:26:44.165800803 +0000
@@ -62,6 +62,9 @@
struct iaddr server_identifier;
int server_identifier_matched;
+
+extern int log_isc_blurb;
+
#if defined (NSUPDATE)
/* This stuff is always executed to figure the default values for certain
@@ -354,6 +357,7 @@
lftest = 1;
log_perror = -1;
} else if (!strcmp (argv [i], "-q")) {
+ log_isc_blurb = 0;
quiet = 1;
quiet_interface_discovery = 1;
#ifdef DHCPv6

View File

@ -0,0 +1,103 @@
Submitted By: Mario Fetka (geos_one) (mario dot fetka at gmail dot com)
Date: 2010-02-14
Initial Package Version:
Origin: gentoo patch dhcp-4.1-no_isc_blurb.patch
Upstream Status:
Description:
diff -Naur dhcp-4.1.1.orig/client/dhclient.c dhcp-4.1.1/client/dhclient.c
--- dhcp-4.1.1.orig/client/dhclient.c 2010-02-14 07:43:04.825799868 +0000
+++ dhcp-4.1.1/client/dhclient.c 2010-02-14 07:43:20.842552286 +0000
@@ -89,6 +89,8 @@
static isc_result_t write_duid(struct data_string *duid);
+extern int log_isc_blurb;
+
int
main(int argc, char **argv) {
int fd;
@@ -387,6 +389,7 @@
log_info("%s", "");
} else {
log_perror = 0;
+ log_isc_blurb = 0;
quiet_interface_discovery = 1;
}
diff -Naur dhcp-4.1.1.orig/omapip/errwarn.c dhcp-4.1.1/omapip/errwarn.c
--- dhcp-4.1.1.orig/omapip/errwarn.c 2010-02-14 07:43:04.815800563 +0000
+++ dhcp-4.1.1/omapip/errwarn.c 2010-02-14 07:43:20.842552286 +0000
@@ -43,6 +43,8 @@
int log_perror = 1;
#endif
int log_priority;
+int log_isc_blurb=1;
+
void (*log_cleanup) (void);
#define CVT_BUF_MAX 1023
@@ -74,7 +76,9 @@
IGNORE_RET (write (STDERR_FILENO, "\n", 1));
}
-#if !defined (NOMINUM)
+#if !defined(NOMINUM)
+ if ( log_isc_blurb )
+ {
log_error ("%s", "");
log_error ("If you did not get this software from ftp.isc.org, please");
log_error ("get the latest from ftp.isc.org and install that before");
@@ -92,7 +96,12 @@
log_error ("the README file.");
log_error ("%s", "");
log_error ("exiting.");
+ }else
+ {
+ log_error ("exiting.");
+ }
#endif
+
if (log_cleanup)
(*log_cleanup) ();
exit (1);
diff -Naur dhcp-4.1.1.orig/relay/dhcrelay.c dhcp-4.1.1/relay/dhcrelay.c
--- dhcp-4.1.1.orig/relay/dhcrelay.c 2010-02-14 07:43:04.821800048 +0000
+++ dhcp-4.1.1/relay/dhcrelay.c 2010-02-14 07:43:44.269801278 +0000
@@ -133,6 +133,7 @@
"Internet Systems Consortium DHCP Relay Agent";
static const char url[] =
"For info, please visit https://www.isc.org/software/dhcp/";
+extern int log_isc_blurb;
#ifdef DHCPv6
#define DHCRELAY_USAGE \
@@ -222,6 +223,7 @@
} else if (!strcmp(argv[i], "-q")) {
quiet = 1;
quiet_interface_discovery = 1;
+ log_isc_blurb = 0;
} else if (!strcmp(argv[i], "-p")) {
if (++i == argc)
usage();
diff -Naur dhcp-4.1.1.orig/server/dhcpd.c dhcp-4.1.1/server/dhcpd.c
--- dhcp-4.1.1.orig/server/dhcpd.c 2010-02-14 07:43:04.841800124 +0000
+++ dhcp-4.1.1/server/dhcpd.c 2010-02-14 07:43:20.844551951 +0000
@@ -63,6 +63,9 @@
struct iaddr server_identifier;
int server_identifier_matched;
+
+extern int log_isc_blurb;
+
#if defined (NSUPDATE)
/* This stuff is always executed to figure the default values for certain
@@ -360,6 +363,7 @@
lftest = 1;
log_perror = -1;
} else if (!strcmp (argv [i], "-q")) {
+ log_isc_blurb = 0;
quiet = 1;
quiet_interface_discovery = 1;
#ifdef DHCPv6