--- dhcpcd-3.2.3.ebuild 2008-05-06 09:42:50.000000000 +0100 +++ dhcpcd-4.0.0_beta1.ebuild 2008-05-06 09:42:28.000000000 +0100 @@ -4,15 +4,19 @@ 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" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" SLOT="0" -IUSE="vram zeroconf" +IUSE="compat zeroconf" DEPEND="" PROVIDE="virtual/dhcpc" @@ -21,44 +25,51 @@ unpack ${A} cd "${S}" - if use zeroconf; then - elog "ZeroConf support enabled" - else + if ! use zeroconf; then elog "Disabling zeroconf support" { echo - echo "/* User indicated no zeroconf support */" - echo "#undef ENABLE_IPV4LL" - } >> config.h + echo "# dhcpcd ebuild requested no zeroconf" + echo "noipv4ll" + } >> dhcpcd.conf fi - # Disable DUID support if we have volatile storage. - # LiveCD's *should* enable this USE flag - if use vram; then - elog "Disabling DUID support" + if use compat; then + elog "dhcpcd-3 command line support enabled" { echo - echo "/* User indicated volatile ram storage */" - echo "#undef ENABLE_DUID" + echo "/* User indicated command line compatability */" + echo "#define CMDLINE_COMPAT" } >> config.h - else - elog "DUID support enabled" fi } 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 + # 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() { # 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 + + # 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 if use zeroconf; then @@ -69,19 +80,4 @@ elog "This behaviour can be controlled with the -L flag." elog "See the dhcpcd man page for more details." 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 }