View | Details | Raw Unified
Collapse All | Expand All

(-) dhcpcd-3.2.3.ebuild (-36 / +32 lines)
 Lines 4-18    Link Here 
inherit toolchain-funcs
inherit toolchain-funcs
MY_P="${P/_alpha/-alpha}"
MY_P="${MY_P/_beta/-beta}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="A DHCP client"
DESCRIPTION="A DHCP client"
HOMEPAGE="http://roy.marples.name/dhcpcd"
HOMEPAGE="http://roy.marples.name/dhcpcd"
SRC_URI="http://roy.marples.name/${PN}/${P}.tar.bz2"
SRC_URI="http://roy.marples.name/${PN}/${MY_P}.tar.bz2"
LICENSE="BSD-2"
LICENSE="BSD-2"
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
SLOT="0"
SLOT="0"
IUSE="vram zeroconf"
IUSE="compat zeroconf"
DEPEND=""
DEPEND=""
PROVIDE="virtual/dhcpc"
PROVIDE="virtual/dhcpc"
 Lines 21-64    Link Here 
	unpack ${A}
	unpack ${A}
	cd "${S}"
	cd "${S}"
	if use zeroconf; then
	if ! use zeroconf; then
		elog "ZeroConf support enabled"
	else
		elog "Disabling zeroconf support"
		elog "Disabling zeroconf support"
		{
		{
			echo
			echo
			echo "/* User indicated no zeroconf support */"
			echo "# dhcpcd ebuild requested no zeroconf"
			echo "#undef ENABLE_IPV4LL"
			echo "noipv4ll"
		} >> config.h
		} >> dhcpcd.conf
	fi
	fi
	# Disable DUID support if we have volatile storage.
	if use compat; then
	# LiveCD's *should* enable this USE flag
		elog "dhcpcd-3 command line support enabled"
	if use vram; then
		elog "Disabling DUID support"
		{
		{
			echo
			echo
			echo "/* User indicated volatile ram storage */"
			echo "/* User indicated command line compatability */"
			echo "#undef ENABLE_DUID"
			echo "#define CMDLINE_COMPAT"
		} >> config.h
		} >> config.h
	else
		elog "DUID support enabled"
	fi
	fi
}
}
src_compile() {
src_compile() {
	emake CC="$(tc-getCC)" INFODIR=/var/lib/dhcpcd || die
	emake CC="$(tc-getCC)" DBDIR=/var/lib/dhcpcd || die
}
}
src_install() {
src_install() {
	emake DESTDIR="${D}" install || die
	emake DESTDIR="${D}" install || die
	dodir /etc/dhcpcd/dhcpcd-exit-hook.d
	insinto /etc/dhcpcd/dhcpcd-exit-hook.d
	# The sample ntp script only withs with NTP, not openntp
	doins hook-samples/ntp.sh
	# The sample ypbind script only works with linux
	use elibc_glibc && doins hook-samples/ypbind.sh
}
}
pkg_postinst() {
pkg_postinst() {
	# Upgrade the duid file to the new format if needed
	# Upgrade the duid file to the new format if needed
	local duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid
	local old_duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid
	if [ -e "${duid}" ] && ! grep -q '..:..:..:..:..:..' "${duid}"; then
	local new_duid="${ROOT}"/etc/dhcpcd/dhcpcd.duid
		sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${duid}"
	if [ -e "${old_duid}" ] && ! grep -q '..:..:..:..:..:..' "${old_duid}"; then
		sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_duid}"
	fi
	# Move the duid to /etc, a more sensible location
	if [ -e "${old_duid}" -a ! -e "${new_duid}" ]; then
		cp -p "${old_duid}" "${new_duid}"
	fi
	fi
	if use zeroconf; then
	if use zeroconf; then
 Lines 69-87    Link Here 
		elog "This behaviour can be controlled with the -L flag."
		elog "This behaviour can be controlled with the -L flag."
		elog "See the dhcpcd man page for more details."
		elog "See the dhcpcd man page for more details."
	fi
	fi
	if ! use vram; then
		use zeroconf && echo
		elog "You have installed dhcpcd with DUID support."
		elog "This means that we will generate a DUID in /var/lib/dhcpcd/dhcpcd.duid"
		elog "This is generated from a MAC address of the card and a timestamp."
		elog "It will be used in every subsequent DHCP transaction, along with a IAID"
		elog "in the ClientID option. This is required by RFC 4361."
		echo
		elog "Some DHCP server implementations require a MAC address only in the"
		elog "ClientID field. These DHCP servers should be updated to be RFC"
		elog "conformant. If you cannot do this, you can revert to the old"
		elog "behaviour by using the -I '' option OR building dhcpcd with the"
		elog "vram USE flag enabled."
	fi
}
}