summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2006-06-09 16:00:39 +0000
committerRoy Marples <uberlord@gentoo.org>2006-06-09 16:00:39 +0000
commit7402942bdd348aea5e7b7e8742c2a6db79681894 (patch)
tree7f6c7f8513161705462419a53b84a690cafed875 /net-misc
parentAdd ~amd64 in preparation of bug #91091. (diff)
downloadgentoo-2-7402942bdd348aea5e7b7e8742c2a6db79681894.tar.gz
gentoo-2-7402942bdd348aea5e7b7e8742c2a6db79681894.tar.bz2
gentoo-2-7402942bdd348aea5e7b7e8742c2a6db79681894.zip
minimal USE flag stops the building of the DHCP server
doc USE flag installs the documentation (Portage version: 2.1_rc4-r5)
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/dhcp/ChangeLog6
-rw-r--r--net-misc/dhcp/dhcp-3.0.4-r1.ebuild111
2 files changed, 67 insertions, 50 deletions
diff --git a/net-misc/dhcp/ChangeLog b/net-misc/dhcp/ChangeLog
index 546b71579aa6..566a92078053 100644
--- a/net-misc/dhcp/ChangeLog
+++ b/net-misc/dhcp/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for net-misc/dhcp
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/ChangeLog,v 1.99 2006/05/23 13:03:28 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/ChangeLog,v 1.100 2006/06/09 16:00:39 uberlord Exp $
+
+ 09 Jun 2006; <roy@gentoo.org> -dhcp-3.0.4.ebuild, dhcp-3.0.4-r1.ebuild:
+ minimal USE flag stops the building of the DHCP server
+ doc USE flag installs the documentation
*dhcp-3.0.3-r9 (23 May 2006)
diff --git a/net-misc/dhcp/dhcp-3.0.4-r1.ebuild b/net-misc/dhcp/dhcp-3.0.4-r1.ebuild
index 984f6dd4e5f9..2d4a6896b1c4 100644
--- a/net-misc/dhcp/dhcp-3.0.4-r1.ebuild
+++ b/net-misc/dhcp/dhcp-3.0.4-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/dhcp-3.0.4-r1.ebuild,v 1.1 2006/05/11 15:05:31 uberlord Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/dhcp-3.0.4-r1.ebuild,v 1.2 2006/06/09 16:00:39 uberlord Exp $
inherit eutils flag-o-matic multilib toolchain-funcs
@@ -14,12 +14,10 @@ SRC_URI="ftp://ftp.isc.org/isc/dhcp/${MY_P}.tar.gz"
LICENSE="isc-dhcp"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE="static selinux"
+IUSE="doc minimal static selinux"
-RDEPEND="selinux? ( sec-policy/selinux-dhcp )
- kernel_linux? ( sys-apps/net-tools )"
DEPEND="selinux? ( sec-policy/selinux-dhcp )
- >=sys-apps/sed-4"
+ kernel_linux? ( sys-apps/net-tools )"
PROVIDE="virtual/dhcpc"
@@ -31,59 +29,60 @@ src_unpack() {
# Gentoo patches - these will probably never be accepted upstream
# Enable chroot support
- epatch "${FILESDIR}/${PN}-3.0-paranoia.patch"
+ epatch "${FILESDIR}/${PN}"-3.0-paranoia.patch
# Fix some permission issues
- epatch "${FILESDIR}/${PN}-3.0-fix-perms.patch"
+ epatch "${FILESDIR}/${PN}"-3.0-fix-perms.patch
# Enable dhclient to equery NTP servers
- epatch "${FILESDIR}/${PN}-3.0.3-dhclient-ntp.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-ntp.patch
# resolvconf support in dhclient-script
- epatch "${FILESDIR}/${PN}-3.0.3-dhclient-resolvconf.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-resolvconf.patch
# Fix setting hostnames on Linux
- epatch "${FILESDIR}/${PN}-3.0.3-dhclient-hostname.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-hostname.patch
# Allow mtu settings
- epatch "${FILESDIR}/${PN}-3.0.3-dhclient-mtu.patch"
+ 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"
+ 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.0.3-dhclient-no-down.patch
# Quiet the isc blurb
- epatch "${FILESDIR}/${PN}-3.0.3-no_isc_blurb.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.3-no_isc_blurb.patch
# Enable dhclient to get extra configuration from stdin
- epatch "${FILESDIR}/${PN}-3.0.4-dhclient-stdin-conf.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.4-dhclient-stdin-conf.patch
# General fixes which will probably be accepted upstream eventually
# Install libdst, #75544
- epatch "${FILESDIR}/${PN}-3.0.3-libdst.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.3-libdst.patch
# Fix building on Gentoo/FreeBSD
- epatch "${FILESDIR}/${PN}-3.0.2-gmake.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.2-gmake.patch
# NetworkManager support patches
# If they fail to apply to future versions they will be dropped
# Enable eXtended options
- epatch "${FILESDIR}/${PN}-3.0.3-x-option.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.3-x-option.patch
# Add dbus support to dhclient
- epatch "${FILESDIR}/${PN}-3.0.3-dhclient-dbus.patch"
+ epatch "${FILESDIR}/${PN}"-3.0.3-dhclient-dbus.patch
# Brand the version with Gentoo
# include revision if >0
local newver="${MY_PV}-Gentoo"
[[ ${PR} != "r0" ]] && newver="${newver}-${PR}"
- sed -i -e '/^#define DHCP_VERSION[ \t]\+/ s/'"${MY_PV}/${newver}/g" \
- includes/version.h
+ sed -i '/^#define DHCP_VERSION[ \t]\+/ s/'"${MY_PV}/${newver}/g" \
+ includes/version.h || 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/*
+ client/scripts/* || die
# Remove these options from the sample config
- sed -i -e "/\(script\|host-name\|domain-name\) / d" client/dhclient.conf
+ sed -i -e "/\(script\|host-name\|domain-name\) / d" \
+ client/dhclient.conf || die
# Build sed man pages as we don't ever support BSD 4.4 and older, #130251.
local x=
for x in Makefile.dist $(ls */Makefile.dist) ; do
- sed -i -e 's/$(CATMANPAGES)/$(SEDMANPAGES)/g' "${x}"
+ sed -i -e 's/$(CATMANPAGES)/$(SEDMANPAGES)/g' "${x}" || die
done
# Only install different man pages if we don't have en
@@ -101,9 +100,6 @@ src_unpack() {
}
src_compile() {
- # 01/Mar/2003: Fix for bug #11960 by Jason Wever <weeve@gentoo.org>
- [[ ${ARCH} == "sparc" ]] && filter-flags -O3 -O2 -O
-
use static && append-ldflags -static
cat <<-END >> includes/site.h
@@ -138,39 +134,47 @@ src_compile() {
./configure --copts "-DPARANOIA -DEARLY_CHROOT -DEXTENDED_NEW_OPTION_INFO \
${CFLAGS}" || die "configure failed"
+ # Remove server support from the Makefile
+ # We still install some extra crud though
+ if use minimal ; then
+ sed -i -e 's/\(server\|relay\|dhcpctl\)/ /g' work.*/Makefile || die
+ fi
emake || die "compile problem"
}
src_install() {
make install DESTDIR="${D}" || die
+ use doc && dodoc README RELNOTES doc/*
insinto /etc/dhcp
- newins server/dhcpd.conf dhcpd.conf.sample
newins client/dhclient.conf dhclient.conf.sample
-
- dodoc README RELNOTES doc/*
- newdoc client/dhclient.conf dhclient.conf.sample
- newdoc client/scripts/linux dhclient-script.sample
- newdoc server/dhcpd.conf dhcpd.conf.sample
-
- newinitd "${FILESDIR}/dhcpd.init" dhcpd
- newinitd "${FILESDIR}/dhcrelay.init" dhcrelay
- insinto /etc/conf.d
- newins "${FILESDIR}/dhcpd.conf" dhcpd
- newins "${FILESDIR}/dhcrelay.conf" dhcrelay
-
keepdir /var/{lib,run}/dhcp
+
+ # Install our server files
+ if ! use minimal ; then
+ insinto /etc/dhcp
+ newins server/dhcpd.conf dhcpd.conf.sample
+ newinitd "${FILESDIR}"/dhcpd.init dhcpd
+ newinitd "${FILESDIR}"/dhcrelay.init dhcrelay
+ insinto /etc/conf.d
+ newins "${FILESDIR}"/dhcpd.conf dhcpd
+ newins "${FILESDIR}"/dhcrelay.conf dhcrelay
+ fi
}
pkg_preinst() {
- enewgroup dhcp
- enewuser dhcp -1 -1 /var/lib/dhcp dhcp
+ if ! use minimal ; then
+ enewgroup dhcp
+ enewuser dhcp -1 -1 /var/lib/dhcp dhcp
+ fi
}
pkg_postinst() {
+ use minimal && return
+
chown dhcp:dhcp "${ROOT}"/var/{lib,run}/dhcp
- if [[ -e "${ROOT}/etc/init.d/dhcp" ]] ; then
+ 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"
@@ -186,9 +190,15 @@ pkg_postinst() {
}
pkg_config() {
+ if use minimal ; then
+ eerror "${PN} has not been compiled for server support"
+ eerror "emerge ${PN} without the minimal USE flag to use dhcp sever"
+ return 1
+ fi
+
local CHROOT="$(
- sed -n 's/^[[:blank:]]\?DHCPD_CHROOT="*\([^#"]\+\)"*/\1/p' \
- /etc/conf.d/dhcpd
+ sed -n -e 's/^[[:blank:]]\?DHCPD_CHROOT="*\([^#"]\+\)"*/\1/p' \
+ "${ROOT}"/etc/conf.d/dhcpd
)"
if [[ -z ${CHROOT} ]]; then
@@ -196,6 +206,8 @@ pkg_config() {
return 1
fi
+ CHROOT="${ROOT}/${CHROOT}"
+
if [[ -d ${CHROOT} ]] ; then
ewarn "${CHROOT} already exists - aborting"
return 0
@@ -203,11 +215,12 @@ pkg_config() {
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"
+ 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
+ eend 0
local logger="$(best_version virtual/logger)"
einfo "To enable logging from the dhcpd server, configure your"