diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2008-09-25 08:21:13 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2008-09-25 08:21:13 +0000 |
commit | 2e26092cb7e3afeb3d4568ab099f3487c5603eb8 (patch) | |
tree | 8d9ad21d7aeabd0c277d8468cc33ccbbf35f60cc /net-misc/dhcpcd | |
parent | Caleb's last commit broke the Manifest for 7.4.19, fix it up. (diff) | |
download | gentoo-2-2e26092cb7e3afeb3d4568ab099f3487c5603eb8.tar.gz gentoo-2-2e26092cb7e3afeb3d4568ab099f3487c5603eb8.tar.bz2 gentoo-2-2e26092cb7e3afeb3d4568ab099f3487c5603eb8.zip |
Minor bugfix to 4.0.1, restoring the old -I behavior better. Stable candidate now.
(Portage version: 2.2_rc9/cvs/Linux 2.6.27-rc1-10246-gca5de40 x86_64)
Diffstat (limited to 'net-misc/dhcpcd')
-rw-r--r-- | net-misc/dhcpcd/ChangeLog | 9 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-4.0.1-r1.ebuild | 88 | ||||
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd-4.0.1-no-empty-clientid.patch | 18 |
3 files changed, 114 insertions, 1 deletions
diff --git a/net-misc/dhcpcd/ChangeLog b/net-misc/dhcpcd/ChangeLog index 2da90f7cb1d8..1e11ff066062 100644 --- a/net-misc/dhcpcd/ChangeLog +++ b/net-misc/dhcpcd/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-misc/dhcpcd # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/ChangeLog,v 1.205 2008/08/25 10:21:01 remi Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/ChangeLog,v 1.206 2008/09/25 08:21:13 robbat2 Exp $ + +*dhcpcd-4.0.1-r1 (25 Sep 2008) + + 25 Sep 2008; Robin H. Johnson <robbat2@gentoo.org> + +files/dhcpcd-4.0.1-no-empty-clientid.patch, +dhcpcd-4.0.1-r1.ebuild: + Minor bugfix to 4.0.1, restoring the old -I behavior better. Stable + candidate now. 25 Aug 2008; Rémi Cardona <remi@gentoo.org> Manifest: wrong tarball... diff --git a/net-misc/dhcpcd/dhcpcd-4.0.1-r1.ebuild b/net-misc/dhcpcd/dhcpcd-4.0.1-r1.ebuild new file mode 100644 index 000000000000..7adb865dfabd --- /dev/null +++ b/net-misc/dhcpcd/dhcpcd-4.0.1-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/dhcpcd-4.0.1-r1.ebuild,v 1.1 2008/09/25 08:21:13 robbat2 Exp $ + +EAPI=1 + +inherit toolchain-funcs eutils + +MY_P="${P/_alpha/-alpha}" +MY_P="${MY_P/_beta/-beta}" +MY_P="${MY_P/_rc/-rc}" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="A DHCP client" +HOMEPAGE="http://roy.marples.name/dhcpcd" +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" + +SLOT="0" +IUSE="+compat zeroconf" + +DEPEND="" +PROVIDE="virtual/dhcpc" + +src_unpack() { + unpack ${A} + cd "${S}" + + if ! use zeroconf; then + elog "Disabling zeroconf support" + { + echo + echo "# dhcpcd ebuild requested no zeroconf" + echo "noipv4ll" + } >> dhcpcd.conf + fi + + if use compat; then + elog "dhcpcd-3 command line support enabled" + { + echo + echo "/* User indicated command line compatability */" + echo "#define CMDLINE_COMPAT" + } >> config.h + fi + + epatch "${FILESDIR}"/${PN}-4.0.1-no-empty-clientid.patch +} + +pkg_setup() { + MAKE_ARGS="DBDIR=/var/lib/dhcpcd LIBEXECDIR=/lib/dhcpcd" +} + +src_compile() { + [ -z "${MAKE_ARGS}" ] && die "MAKE_ARGS is empty" + emake CC="$(tc-getCC)" ${MAKE_ARGS} || die +} + +src_install() { + local hooks="50-ntp.conf" + use elibc_glibc && hooks="${hooks} 50-yp.conf" + emake ${MAKE_ARGS} HOOKSCRIPTS="${hooks}" DESTDIR="${D}" install || die +} + +pkg_postinst() { + # Upgrade the duid file to the new format if needed + local old_duid="${ROOT}"/var/lib/dhcpcd/dhcpcd.duid + local new_duid="${ROOT}"/etc/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 + elog "You have installed dhcpcd with zeroconf support." + elog "This means that it will always obtain an IP address even if no" + elog "DHCP server can be contacted, which will break any existing" + elog "failover support you may have configured in your net configuration." + elog "This behaviour can be controlled with the -L flag." + elog "See the dhcpcd man page for more details." + fi +} diff --git a/net-misc/dhcpcd/files/dhcpcd-4.0.1-no-empty-clientid.patch b/net-misc/dhcpcd/files/dhcpcd-4.0.1-no-empty-clientid.patch new file mode 100644 index 000000000000..e8de24d40f93 --- /dev/null +++ b/net-misc/dhcpcd/files/dhcpcd-4.0.1-no-empty-clientid.patch @@ -0,0 +1,18 @@ +Restore the 3.x behavior of an empty -I '' argument. + +Bug: http://bugs.marples.name/show_bug.cgi?id=116 +Patch: http://bugs.marples.name/attachment.cgi?id=56 + +diff --git a/dhcpcd.c b/dhcpcd.c +index 0219b02..d492a2d 100644 +--- a/dhcpcd.c ++++ b/dhcpcd.c +@@ -511,7 +511,7 @@ parse_option(int opt, char *oarg, struct options *options) + case 'I': + /* Strings have a type of 0 */; + options->clientid[1] = 0; +- if (oarg) ++ if (oarg && *oarg) + s = parse_string_hwaddr((char *)options->clientid + 1, + CLIENTID_MAX_LEN, oarg, 1); + else |