--- dhcpcd-3.2.3.ebuild 2008-04-08 10:36:47.000000000 +0100 +++ dhcpcd-4.0.0_alpha3.ebuild 2008-04-26 09:09:08.000000000 +0100 @@ -4,9 +4,13 @@ inherit toolchain-funcs +MY_P="${P/_alpha/-alpha}" +MY_P="${MY_P/_beta/-beta}" +S="${WORKDIR}/${MY_P}" + DESCRIPTION="A DHCP client" 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" KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd" @@ -44,21 +48,35 @@ else elog "DUID support enabled" fi + + { + echo + echo "/* Enabling commandline compat */" + echo "#define CMDLINE_COMPAT" + } >> config.h } src_compile() { - emake CC="$(tc-getCC)" INFODIR=/var/lib/dhcpcd || die + emake CC="$(tc-getCC)" DBDIR=/var/lib/dhcpcd || die } src_install() { emake DESTDIR="${D}" install || die + dodir /etc/dhcpcd/dhcpcd-exit-hook.d + insinto /etc/dhcpcd/dhcpcd-exit-hook.d + doins hook-samples/ntp.sh + use elibc_glibc && doins hook-samples/ypbind.sh } pkg_postinst() { # Upgrade the duid file to the new format if needed - local duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid - if [ -e "${duid}" ] && ! grep -q '..:..:..:..:..:..' "${duid}"; then - sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${duid}" + local old_duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid + local new_duid="${ROOT}"/etc/dhcpcd/dhcpcd.duid + if [ -e "${old_duid}" ] && ! grep -q '..:..:..:..:..:..' "${old_duid}"; then + sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_duid}" + fi + if [ -e "${old_duid}" -a ! -e "${new_duid}" ]; then + cp -p "${old_duid}" "${new_duid}" fi if use zeroconf; then @@ -73,7 +91,7 @@ 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 means that we will generate a DUID in /etc/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." @@ -81,7 +99,8 @@ 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 "behaviour by setting a blank clientid in /etc/dhcpcd/dhcpcd.conf," + elog "using the -I '' option OR building dhcpcd with the" elog "vram USE flag enabled." fi }