|
|
| |
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" |
|
|
else | else |
elog "DUID support enabled" | elog "DUID support enabled" |
fi | fi |
|
|
|
{ |
|
echo |
|
echo "/* Enabling commandline compat */" |
|
echo "#define CMDLINE_COMPAT" |
|
} >> config.h |
} | } |
| |
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 |
|
doins hook-samples/ntp.sh |
|
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 |
|
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 |
|
|
if ! use vram; then | if ! use vram; then |
use zeroconf && echo | use zeroconf && echo |
elog "You have installed dhcpcd with DUID support." | 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 "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 "It will be used in every subsequent DHCP transaction, along with a IAID" |
elog "in the ClientID option. This is required by RFC 4361." | elog "in the ClientID option. This is required by RFC 4361." |
|
|
elog "Some DHCP server implementations require a MAC address only in the" | 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 "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 "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." | elog "vram USE flag enabled." |
fi | fi |
} | } |