net-misc/dhcpcd: Version bump (v7.1.0)
authorMikle Kolyada <zlogene@gentoo.org>
Fri, 25 Jan 2019 17:16:12 +0000 (20:16 +0300)
committerMikle Kolyada <zlogene@gentoo.org>
Fri, 25 Jan 2019 17:16:29 +0000 (20:16 +0300)
Signed-off-by: Mikle Kolyada <zlogene@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

net-misc/dhcpcd/Manifest
net-misc/dhcpcd/dhcpcd-7.1.0.ebuild [new file with mode: 0644]

index eb44c071cf7be187aa5c2683576e5bd5bd2d2618..4ccc0a2ffe18712f2ec3465c89374bc1c3283a47 100644 (file)
@@ -4,3 +4,4 @@ DIST dhcpcd-7.0.1.tar.xz 207908 BLAKE2B 1a9350a0c4a9eb1eb6f5a7be78beb4a5fecd802e
 DIST dhcpcd-7.0.6.tar.xz 210392 BLAKE2B c343ebfd42cfd0c76d3524cab799d05e3ec0c1735fde1703613a60cd4e3a656d4a1428ed8a84f7d66ef4d39ffb519ab7eabf4d7c765e6dec93386ccf7d84f363 SHA512 5885739e60d6eb4fded117cb87f59a073ae6e8da8454dee56d8e7c5d33778e413e121d28a22163ebf31e4508a21d3a21c1d17ee6d4551081db2ee8e5384d44c9
 DIST dhcpcd-7.0.7.tar.xz 210572 BLAKE2B 4ba70c32fe012930928a8c3363c8fe3f655943883ff521fcfb3b5b75950be2e7432ca79e52298a119fc70c1dd8095a28f59d4cabe62da3ad8179c0dc73af0aac SHA512 04c316f7b180bbbf48aa58273d3a28d659824e474d1ce48325f610ed2c5d2a01117f5b65b4a9697f3e8e1b85d4bdcc0b8ab75a928a8cd5723a865d8c0a065269
 DIST dhcpcd-7.0.8.tar.xz 210752 BLAKE2B ad8ba622589cc1c8c4bb332470c59527e03c817729f43a5b55b4f53f8ed60f35faaffbff24416f8596e78df8deb304f0598e27d890e9601d36c81250fda99942 SHA512 82cd845eb35670788b8f31b973945460f4c5f1a0a3025e3a452b79230dc30704e129d97140e6aec6d0281e0c89c333c0ce0af03c4767b2e5e66547ed3e071953
+DIST dhcpcd-7.1.0.tar.xz 211496 BLAKE2B ca919723f8f205ad24e28751024ff68cb4d1e86d056d47b1390a8e81cbb62d61e6a09d50d95756968d43383420e479846a4527095532d2761e26c6f4d780988b SHA512 28d2b5ff8cb372df6432becdbfeedaea945608b14374b6af8938936efdaa73d8d8f1cb3f37d2f440137c2f6988f72ed8de6d1bda43d65d4fe22efdd0a1662c24
diff --git a/net-misc/dhcpcd/dhcpcd-7.1.0.ebuild b/net-misc/dhcpcd/dhcpcd-7.1.0.ebuild
new file mode 100644 (file)
index 0000000..a1f2efc
--- /dev/null
@@ -0,0 +1,149 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+       EGIT_REPO_URI="https://roy.marples.name/git/dhcpcd.git"
+       inherit git-r3
+else
+       MY_P="${P/_alpha/-alpha}"
+       MY_P="${MY_P/_beta/-beta}"
+       MY_P="${MY_P/_rc/-rc}"
+       SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz"
+       KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
+       S="${WORKDIR}/${MY_P}"
+fi
+
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
+HOMEPAGE="https://roy.marples.name/projects/dhcpcd"
+LICENSE="BSD-2"
+SLOT="0"
+IUSE="elibc_glibc +embedded ipv6 kernel_linux +udev"
+
+COMMON_DEPEND="udev? ( virtual/udev )"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
+
+src_configure()
+{
+       local dev hooks rundir
+       use udev || dev="--without-dev --without-udev"
+       hooks="--with-hook=ntp.conf"
+       use elibc_glibc && hooks="${hooks} --with-hook=yp.conf"
+       use kernel_linux && rundir="--rundir=${EPREFIX}/run"
+       econf \
+               --prefix="${EPREFIX}" \
+               --libexecdir="${EPREFIX}/lib/dhcpcd" \
+               --dbdir="${EPREFIX}/var/lib/dhcpcd" \
+               --localstatedir="${EPREFIX}/var" \
+               ${rundir} \
+               $(use_enable embedded) \
+               $(use_enable ipv6) \
+               ${dev} \
+               CC="$(tc-getCC)" \
+               ${hooks}
+}
+
+src_install()
+{
+       default
+       keepdir /var/lib/dhcpcd
+       newinitd "${FILESDIR}"/${PN}.initd ${PN}
+       systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+pkg_postinst()
+{
+       local dbdir="${EROOT%/}"/var/lib/dhcpcd old_files=
+
+       local old_old_duid="${EROOT%/}"/var/lib/dhcpcd/dhcpcd.duid
+       local old_duid="${EROOT%/}"/etc/dhcpcd.duid
+       local new_duid="${dbdir}"/duid
+       if [ -e "${old_old_duid}" ]; then
+               # Upgrade the duid file to the new format if needed
+               if ! grep -q '..:..:..:..:..:..' "${old_old_duid}"; then
+                       sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_old_duid}"
+               fi
+
+               # Move the duid to /etc, a more sensible location
+               if [ ! -e "${old_duid}" ]; then
+                       cp -p "${old_old_duid}" "${new_duid}"
+               fi
+               old_files="${old_files} ${old_old_duid}"
+       fi
+
+       # dhcpcd-7 moves the files out of /etc
+       if [ -e "${old_duid}" ]; then
+               if [ ! -e "${new_duid}" ]; then
+                       cp -p "${old_duid}" "${new_duid}"
+               fi
+               old_files="${old_files} ${old_duid}"
+       fi
+       local old_secret="${EROOT%/}"/etc/dhcpcd.secret
+       local new_secret="${dbdir}"/secret
+       if [ -e "${old_secret}" ]; then
+               if [ ! -e "${new_secret}" ]; then
+                       cp -p "${old_secret}" "${new_secret}"
+               fi
+               old_files="${old_files} ${old_secret}"
+       fi
+
+       # dhcpcd-7 renames some files in /var/lib/dhcpcd
+       local old_rdm="${dbdir}"/dhcpcd-rdm.monotonic
+       local new_rdm="${dbdir}"/rdm_monotonic
+       if [ -e "${old_rdm}" ]; then
+               if [ ! -e "${new_rdm}" ]; then
+                       cp -p "${old_rdm}" "${new_rdm}"
+               fi
+               old_files="${old_files} ${old_rdm}"
+       fi
+       local lease=
+       for lease in "${dbdir}"/dhcpcd-*.lease*; do
+               [ -f "$lease" ] || continue
+               old_files="${old_files} ${lease}"
+               local new_lease=$(basename "$lease" | sed -e "s/dhcpcd-//")
+               [ -e "${dbdir}/${new_lease}" ] && continue
+               cp "${lease}" "${dbdir}/${new_lease}"
+       done
+
+       # Warn about removing stale files
+       if [ -n "${old_files}" ]; then
+               elog
+               elog "dhcpcd-7 has copied dhcpcd.duid and dhcpcd.secret from"
+               elog "${EROOT%/}/etc to ${dbdir}"
+               elog "and copied leases in ${dbdir} to new files with the dhcpcd-"
+               elog "prefix dropped."
+               elog
+               elog "You should remove these files if you don't plan on reverting"
+               elog "to an older version:"
+               local old_file=
+               for old_file in ${old_files}; do
+                       elog "  ${old_file}"
+               done
+       fi
+
+       if [ -z "$REPLACING_VERSIONS" ]; then
+               elog
+               elog "dhcpcd has zeroconf support active by default."
+               elog "This means 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 noipv4ll configuration"
+               elog "file option or the -L command line switch."
+               elog "See the dhcpcd and dhcpcd.conf man pages for more details."
+
+               elog
+               elog "Dhcpcd has duid enabled by default, and this may cause issues"
+               elog "with some dhcp servers. For more information, see"
+               elog "https://bugs.gentoo.org/show_bug.cgi?id=477356"
+       fi
+
+       if ! has_version net-dns/bind-tools; then
+               elog
+               elog "If you activate the lookup-hostname hook to look up your hostname"
+               elog "using the dns, you need to install net-dns/bind-tools."
+       fi
+}