diff options
author | Max Kalika <max@gentoo.org> | 2003-11-05 22:57:25 +0000 |
---|---|---|
committer | Max Kalika <max@gentoo.org> | 2003-11-05 22:57:25 +0000 |
commit | f4ef9543ac90ee6de2edc37f64a8588fe62b688b (patch) | |
tree | b4c8c0157913fe5c0e439b138355bbd6caeeeee0 /net-misc/dhcp | |
parent | Fix for bug 32633 (diff) | |
download | gentoo-2-f4ef9543ac90ee6de2edc37f64a8588fe62b688b.tar.gz gentoo-2-f4ef9543ac90ee6de2edc37f64a8588fe62b688b.tar.bz2 gentoo-2-f4ef9543ac90ee6de2edc37f64a8588fe62b688b.zip |
Experimental attempt to fix 31840.
Diffstat (limited to 'net-misc/dhcp')
-rw-r--r-- | net-misc/dhcp/ChangeLog | 8 | ||||
-rw-r--r-- | net-misc/dhcp/Manifest | 5 | ||||
-rw-r--r-- | net-misc/dhcp/dhcp-3.0_p2-r3.ebuild | 126 | ||||
-rw-r--r-- | net-misc/dhcp/files/dhcp-3.0pl2-fix-perms.patch | 15 | ||||
-rw-r--r-- | net-misc/dhcp/files/digest-dhcp-3.0_p2-r3 | 2 |
5 files changed, 154 insertions, 2 deletions
diff --git a/net-misc/dhcp/ChangeLog b/net-misc/dhcp/ChangeLog index 6d4895a6820f..34ec1a12b69f 100644 --- a/net-misc/dhcp/ChangeLog +++ b/net-misc/dhcp/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-misc/dhcp # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/ChangeLog,v 1.25 2003/11/05 22:52:39 max Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/ChangeLog,v 1.26 2003/11/05 22:57:24 max Exp $ + +*dhcp-3.0_p2-r3 (05 Nov 2003) + + 05 Nov 2003; Max Kalika <max@gentoo.org> dhcp-3.0_p2-r3.ebuild, + files/dhcp-3.0pl2-fix-perms.patch: + Experimental attempt to fix 31840. 05 Nov 2003; Max Kalika <max@gentoo.org> dhcp-3.0_p2-r2.ebuild, files/dhcp.rc6: diff --git a/net-misc/dhcp/Manifest b/net-misc/dhcp/Manifest index 545a4287c7ea..47f6339c9012 100644 --- a/net-misc/dhcp/Manifest +++ b/net-misc/dhcp/Manifest @@ -1,4 +1,5 @@ -MD5 bb94d544fe01f0784418d4070a8e7308 ChangeLog 4288 +MD5 de018bb2fd24e756e6c0099965a88dea dhcp-3.0_p2-r3.ebuild 3753 +MD5 df6d550ad7ed8e4fc21ebb23ac9dbd97 ChangeLog 4460 MD5 9384ae7ba3e9f56b8027ea92f607042d metadata.xml 215 MD5 865d06459b5bc0ee9f900db047a51750 dhcp-3.0_p2-r2.ebuild 3702 MD5 c165af1e7e63275ca6f5974e2d3048a3 dhcp-3.0_p2.ebuild 2747 @@ -7,6 +8,8 @@ MD5 498a3eb0e9deaf705f17fff3834f5b90 files/dhclient.c-3.0-dw-cli-fix.patch 734 MD5 ff4bf18624d479599da15878fdef65fe files/conf.dhcpd 401 MD5 d6ae01f5dcc87b11d4d96a34e7cc52a3 files/digest-dhcp-3.0_p2 63 MD5 a941fa952582373e42b07b61bd66a168 files/digest-dhcp-3.0_p2-r2 129 +MD5 a941fa952582373e42b07b61bd66a168 files/digest-dhcp-3.0_p2-r3 129 MD5 a973319ed7e30b763485f653896ff038 files/dhcp.rc6 1097 MD5 be72fa691b23c9e82cc4567a1a035cfc files/dhcp.rc7 811 MD5 28ebabb4ad513afb04314634ecd9db25 files/dhcp-3.0pl2-user-option-fix.patch 1519 +MD5 d909d81a4d4ea39ddfc9898d33488c73 files/dhcp-3.0pl2-fix-perms.patch 485 diff --git a/net-misc/dhcp/dhcp-3.0_p2-r3.ebuild b/net-misc/dhcp/dhcp-3.0_p2-r3.ebuild new file mode 100644 index 000000000000..e783051991ee --- /dev/null +++ b/net-misc/dhcp/dhcp-3.0_p2-r3.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcp/dhcp-3.0_p2-r3.ebuild,v 1.1 2003/11/05 22:57:24 max Exp $ + +inherit eutils flag-o-matic + +DESCRIPTION="ISC Dynamic Host Configuration Protocol." +HOMEPAGE="http://www.isc.org/products/DHCP" +SRC_URI="ftp://ftp.isc.org/isc/dhcp/${P/_p/pl}.tar.gz + http://www.episec.com/people/edelkind/patches/dhcp/dhcp-3.0+paranoia.patch" + +LICENSE="isc-dhcp" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~mips" +IUSE="static" + +DEPEND="virtual/glibc + >=sys-apps/sed-4" + +S="${WORKDIR}/${P/_p/pl}" + +src_unpack() { + unpack ${A} && cd "${S}" + epatch "${FILESDIR}/dhcp-3.0pl2-user-option-fix.patch" + epatch "${FILESDIR}/dhclient.c-3.0-dw-cli-fix.patch" + epatch "${DISTDIR}/dhcp-3.0+paranoia.patch" + epatch "${FILESDIR}/dhcp-3.0pl2-fix-perms.patch" +} + +src_compile() { + # 01/Mar/2003: Fix for bug #11960 by Jason Wever <weeve@gentoo.org> + if [ "${ARCH}" = "sparc" ] ; then + filter-flags "-O3" + filter-flags "-O2" + filter-flags "-O" + fi + + use static && append-flags -static + + cat <<-END >> includes/site.h + #define _PATH_DHCPD_CONF "/etc/dhcp/dhcpd.conf" + #define _PATH_DHCPD_PID "/var/run/dhcp/dhcpd.pid" + #define _PATH_DHCPD_DB "/var/lib/dhcp/dhcpd.leases" + #define _PATH_DHCLIENT_DB "/var/lib/dhcp/dhclient.leases" + #define DHCPD_LOG_FACILITY LOG_LOCAL1 + END + + cat <<-END > site.conf + CC = gcc + LIBDIR = /usr/lib + INCDIR = /usr/include + ETC = /etc/dhcp + VARDB = /var/lib/dhcp + VARRUN = /var/run/dhcp + ADMMANDIR = /usr/share/man/man8 + FFMANDIR = /usr/share/man/man5 + LIBMANDIR = /usr/share/man/man3 + USRMANDIR = /usr/share/man/man1 + END + + ./configure --with-nsupdate \ + --copts "-DPARANOIA -DEARLY_CHROOT ${CFLAGS}" || die "configure failed" + + emake || die "compile problem" +} + +src_install() { + enewgroup dhcp + enewuser dhcp -1 /bin/false /var/lib/dhcp dhcp + + einstall DESTDIR="${D}" + + insinto /etc/dhcp + newins server/dhcpd.conf dhcpd.conf.sample + newins client/dhclient.conf dhclient.conf.sample + dosed "s:/etc/dhclient-script:/etc/dhcp/dhclient-script:" \ + /etc/dhcp/dhclient.conf.sample + mv "${D}/sbin/dhclient-script" "${D}/etc/dhcp/dhclient-script.sample" + + dodoc ANONCVS CHANGES COPYRIGHT README RELNOTES doc/* + newdoc client/dhclient.conf dhclient.conf.sample + newdoc client/scripts/linux dhclient-script.sample + newdoc server/dhcpd.conf dhcpd.conf.sample + + insinto /etc/conf.d + newins "${FILESDIR}/dhcp.conf" dhcp + exeinto /etc/init.d + newexe "${FILESDIR}/dhcp.rc6" dhcp + + keepdir /var/{lib,run}/dhcp +} + +pkg_postinst() { + chown dhcp:dhcp "${ROOT}/var/lib/dhcp" "${ROOT}/var/run/dhcp" + + einfo "You can edit /etc/conf.d/dhcp to customize dhcp settings" + einfo + einfo "The DHCP ebuild now includes chroot support." + einfo "If you like to run dhcpd in chroot AND this is a new install OR" + einfo "your dhcpd doesn't already run in chroot, simply run:" + einfo " ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config" + einfo "Before running the above command you might want to change the chroot" + einfo "dir in /etc/conf.d/dhcp, otherwise /chroot/dhcp will be used." + echo +} + +pkg_config() { + CHROOT=`sed -n 's/^[[:blank:]]\?CHROOT="\([^"]\+\)"/\1/p' /etc/conf.d/dhcp 2>/dev/null` + + if [ ! -d "${CHROOT:=/chroot/dhcp}" ] ; then + ebegin "Setting up the chroot directory" + mkdir -m 0755 -p "${CHROOT}/etc" "${CHROOT}/var/lib" "${CHROOT}/var/run" + cp -R /etc/dhcp "${CHROOT}/etc/" + cp -R /var/lib/dhcp "${CHROOT}/var/lib" + chown -R dhcp:dhcp "${CHROOT}/var/lib" "${CHROOT}/var/lib" + eend + + if [ "`grep '^#[[:blank:]]\?CHROOT' /etc/conf.d/dhcp`" ] ; then + sed -e '/^#[[:blank:]]\?CHROOT/s/^#[[:blank:]]\?//' -i /etc/conf.d/dhcp + fi + else + eerror + eerror "${CHROOT} already exists. Quitting." + eerror + fi +} diff --git a/net-misc/dhcp/files/dhcp-3.0pl2-fix-perms.patch b/net-misc/dhcp/files/dhcp-3.0pl2-fix-perms.patch new file mode 100644 index 000000000000..13debb20ed0e --- /dev/null +++ b/net-misc/dhcp/files/dhcp-3.0pl2-fix-perms.patch @@ -0,0 +1,15 @@ +--- server/dhcpd.c 2003-11-05 14:08:09.000000000 -0800 ++++ server/dhcpd.c 2003-11-05 14:15:32.000000000 -0800 +@@ -602,6 +602,12 @@ + if (lftest) + exit (0); + ++#if defined (PARANOIA) ++ /* Set proper permissions... */ ++ if (lchown (path_dhcpd_db, set_uid, set_gid)) ++ log_fatal ("lchown(%s, %d, %d): %m", path_dhcpd_db, (int) set_uid, (int) set_gid); ++#endif /* PARANOIA */ ++ + /* Discover all the network interfaces and initialize them. */ + discover_interfaces (DISCOVER_SERVER); + diff --git a/net-misc/dhcp/files/digest-dhcp-3.0_p2-r3 b/net-misc/dhcp/files/digest-dhcp-3.0_p2-r3 new file mode 100644 index 000000000000..5c34b82115a3 --- /dev/null +++ b/net-misc/dhcp/files/digest-dhcp-3.0_p2-r3 @@ -0,0 +1,2 @@ +MD5 2cb5db7a0c23deaef4724b5fc3f9a869 dhcp-3.0pl2.tar.gz 865196 +MD5 66becf9870e0293bbd35d1fba770751a dhcp-3.0+paranoia.patch 5366 |