summaryrefslogtreecommitdiff
path: root/net-misc/dhcpcd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-misc/dhcpcd
reinit the tree, so we can have metadata
Diffstat (limited to 'net-misc/dhcpcd')
-rw-r--r--net-misc/dhcpcd/Manifest23
-rw-r--r--net-misc/dhcpcd/dhcpcd-6.10.1.ebuild119
-rw-r--r--net-misc/dhcpcd/dhcpcd-6.11.1-r1.ebuild118
-rw-r--r--net-misc/dhcpcd/dhcpcd-6.11.3.ebuild114
-rw-r--r--net-misc/dhcpcd/dhcpcd-6.11.5.ebuild114
-rw-r--r--net-misc/dhcpcd/dhcpcd-7.0.0_beta3.ebuild148
-rw-r--r--net-misc/dhcpcd/dhcpcd-7.0.0_rc1.ebuild148
-rw-r--r--net-misc/dhcpcd/dhcpcd-7.0.0_rc2.ebuild148
-rw-r--r--net-misc/dhcpcd/dhcpcd-7.0.0_rc3.ebuild148
-rw-r--r--net-misc/dhcpcd/dhcpcd-9999.ebuild148
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-6.11.1-arp-conflict.patch61
-rw-r--r--net-misc/dhcpcd/files/dhcpcd.initd17
-rw-r--r--net-misc/dhcpcd/files/dhcpcd.service12
-rw-r--r--net-misc/dhcpcd/metadata.xml20
14 files changed, 1338 insertions, 0 deletions
diff --git a/net-misc/dhcpcd/Manifest b/net-misc/dhcpcd/Manifest
new file mode 100644
index 000000000000..d9d0ace2b6eb
--- /dev/null
+++ b/net-misc/dhcpcd/Manifest
@@ -0,0 +1,23 @@
+AUX dhcpcd-6.11.1-arp-conflict.patch 1765 SHA256 ce0e410aa8cff0ede38a1650212e519231dd808f5004cff60a0fc001eb8b3cb7 SHA512 f0b7f53f30d178a4536113fb01efe177db73f609cf1cbba2fe603a619c7417067ad070318c50c363a30f4c87315aac27118ad088cdbeed3575fb640c9632ad95 WHIRLPOOL 1154437944c33ae1338360414953e44d839f621595d2d0e985542a93048ed8d34a6daff175c7e7db081969e4f5fcfd571f17dccacef32dc59fdb0fb2ca54817a
+AUX dhcpcd.initd 328 SHA256 6bb9b8b0075e45e63e898ed043f3c5951dc3e95c1fa62d22cc6e0616c792ecd1 SHA512 6d3220155f2d9ed3e3a00afd378eeb70d435e19804201f8bb35498f1f7f3dfdaeaa2f4a01a18f5e96b457d9c173bc6a206b3e67ebf6d95da7e7b350dcd153fde WHIRLPOOL bc35a41feb9dc60c3dcd7bc5c453edb65047a87bf93c774d243d41ff6d9fc1bbc28ad2ce9067e152447d58502f8ee07b9917a46ec9fbe03b5df083eae0d5ac3e
+AUX dhcpcd.service 227 SHA256 289432e64108196c9e9c99b5ce77d3c46c75fc3e8f6f4ae1a19066dba46a3517 SHA512 4a030dc291fa7deba9c1f33d61dafdda710247ef7f3743c28e46b767a190e359e468433147bda23c82fae9c93ec31cd68905bfdb51cb8c2d9176ea789b31b14e WHIRLPOOL 46e457cf6843bf6dca31c2dd08bce431efa966ccd802a206e8a933f2c9e46c91b713ed2422f42284b5f65e5e8e44e9177ae307877a6243c321758e38c85a9ecc
+DIST dhcpcd-6.10.1.tar.xz 180112 SHA256 284abf8c3be0580bbac5eaca95359346ab0d78d4072317b6ce87cc68f2e8ae7b SHA512 f323c155cff47f21dde181c216408b79f10e6ed923aa3d1f3482feff47a1e88e02193ec82f831da4ef63d3703ca1837715c36a47cf3f5d09f117f6eb53bfcf67 WHIRLPOOL 805e8a1b4dad400825197dae7918a2172093d152986d5d97f4d1993f2c27cf3fbe097a5dc4f7a5292e98676b5d7fad6079ed64e4bffabeb7ccf9d91f4db80de9
+DIST dhcpcd-6.11.1.tar.xz 190956 SHA256 5c823d607ed1d7513d16ec51c54e21657f1324899e0ba333a497682d88a8c6ee SHA512 50ef755b13a96fe484623d9f2dbd91407fbea5ca728fd05dbf4259a61611a07cf3ffad7e8d20ecd513dbef80602074809abd1f5177daaa51ceccc2af5c88269f WHIRLPOOL a32350beee83184fc9d0dec5cd65f265a83aa95177b8ff700fcce2aaf2ac6c2600c322e3d8c65f1d2e9d3a2cbe71bc00b3a6efbf045fa9c805b76a3a1fca0de5
+DIST dhcpcd-6.11.3.tar.xz 194892 SHA256 5abd12c4df2947d608f60a35227f9bf8ae8ab9de06ce975cdab1144d8f229b06 SHA512 249185532cb239124f847c28e6bfb3e8a85e818e05a07eb0c6ac6843fbbab8afa8d6ebce4032b3537ccfb7fafb306dd0dc51c0e97f337f12f5071ba499686a70 WHIRLPOOL 66eebad0ceabf07324f41b7c5861b13f233d6cf3fb4f7c82804b6391594595cda8c981cec088aa75242a04614a7228be7400171d32c68ee6be354bf976a237d5
+DIST dhcpcd-6.11.5.tar.xz 198080 SHA256 6f9674dc7e27e936cc787175404a6171618675ecfb6903ab9887b1b66a87d69e SHA512 a23d5dde66567c4addbc86c8b3fbf2c5d4dba3b463659729778a310306ab0e949be8998154ef15401ac2d289bde2f090d44492bba6a1becd2f01890d4efe7051 WHIRLPOOL 1b4bdd56112db20a0c6b0c843549f7c9cd8c534a9353df026d2c63a4b4bfd624f7fbc68282e04fd4f4c7c257d996e5019d3aa624f01b532074311d63b151164f
+DIST dhcpcd-7.0.0-beta3.tar.xz 203440 SHA256 ba8af748d0d1aa8daa8ba6813c1cf395f517bb51fe4274309170af9d2f1a89ef SHA512 b71154fa2596826e23820df984992e8786a6b89588648db60e9340a383b67fdb555307e9a47b7c33097ed4191fdb911e443c6bf9fc76b0194770e66e2de64b95 WHIRLPOOL 211564a4c218853bf3c6f219ffa36ef3d14fe3cc355bb5931bb98d5461717d0145145511540ab93ad4dcf99640c48ddcb1d82fc56361c329764c0756c12881a6
+DIST dhcpcd-7.0.0-rc1.tar.xz 204496 SHA256 8d4134596f1c8a647d94291fea0ed6f39dad648a4822472b481dfe48407b1cd3 SHA512 536ed4c09638a7a0fb16ad6a4a16fd74242ffbe2fe53e183c6756d2c62c94ce02869c95e828fbf3aa49aca06a129ab710195bf3d1dc9c9b52ac550ec51f68a1e WHIRLPOOL ec6898bbba3f4f2f42f9b8f16dd60f8b4b64170e4ad6c7e1326a80afd32241ad6b3ea941bfeb4e7113bd26ecb597fa04aebd1e1626c214ee10e48011251b065f
+DIST dhcpcd-7.0.0-rc2.tar.xz 206108 SHA256 ddae2ccf7c41a3ea5508e8adb2b7b9bbcd2b8a1ebe20871982243e513e83101a SHA512 a3e596c605c8ffe9f87f7113522f460d24a639b54dcc31182c70c3d0589d34d8c1cc765d5dfcfc6fd026697846866f7aa5714ef0d0d9eb049404973ef21f8ec7 WHIRLPOOL 46da14e26fb62320051e3457476d506847fa5630b898d01af14c7726175cfa9fcb01f505af5fe1668a89a2972f9ae40d46aad2918065c3f994c064a9b17dcb05
+DIST dhcpcd-7.0.0-rc3.tar.xz 207164 SHA256 14ba0873e6b67a8c85ed5bfb1428bbe887259d0477703e49d629e1a5d9e6300f SHA512 982c4c65ea45391e31170b592ce680c6cf5f4069b00decff3a299db23cede3e2521c66df7754a7a2379d5688f113553fe34e2fde825d6d9b83836a9e6d69fba9 WHIRLPOOL aeafeb61c783a0e3b99748ed465fe823678d1eb8f1068544e49e9d7dc3da31abad49944cb9aca8c3f469d960df26910ccfd3900cf683935d87d9b9026efbe5a7
+EBUILD dhcpcd-6.10.1.ebuild 3324 SHA256 7ccdc711dbd09ae4529a2bc8b7a008886527d693ae38bd5b328f4cebfb78948f SHA512 474bad588f8a25a8af13426175509d774af3b91c6ef919af59faedd0d5efbe7e0b9bbff01fa5f9ec6514e84dda61b5f94a37487344544dab281cbc3ee90125aa WHIRLPOOL 30418c232231daa2e5688c9e013315ecda6f95cdd9fb9af3251ee38d282ed441fd1e14eb10f96402e464634f2a44bc37dd62ad341d92e294a7ea10ffd4e9004d
+EBUILD dhcpcd-6.11.1-r1.ebuild 3341 SHA256 1b7c4efcf5bb884259fcd0fd0952a509e549d0f8096bb29dba7b5c160dbebe16 SHA512 ccadcb290e5c2a5440b497880d4a31e1d6f97484f67b1ba5b67e68f9734c5a8504c7d96a172330debba9cdf7156c2f6f953cf81cbf375b8e687c5225a6c69000 WHIRLPOOL 471636257a2376ec86967431285bac07e2adcc25420703271f264f47e0a06dfc0cd85c21562aa063d27995f2e5ef311248c4f5e5e3c8e275e346df184689261a
+EBUILD dhcpcd-6.11.3.ebuild 3289 SHA256 222eccb6087bf96ecbf5b489e8e37745f5660fecaa1ee74c15ebff406b2fd923 SHA512 8f59ca94b55d15f29a175fd9cdf5b3bba57d9e06980c11f030dfae4ee0f0630e791b5efeb4480117865aa680b0631843a1479cd077fd0c63508ae14977dd30c0 WHIRLPOOL d25e69c1b0d74dc67b6e01c733bcee65bac00d4c13cf4046fe4b13752cfe843e73d7ed78d6c82dc2ec6e2205663bba74edc446adb46a67ff1c29e035ecc827fc
+EBUILD dhcpcd-6.11.5.ebuild 3301 SHA256 7f5bb7b14a1c3a11ecf5cfe72fcfb6342f0aff47916c566f3987176bd5e86863 SHA512 de0c7852d42908d9a2f5a77db39d145b6711c1378d5db7e458469f9db7fae68eb23653eb56dccfcab042055ae30170d9bf93e062085bfcbaad58fca206a993db WHIRLPOOL 0655744e24a9eff6c59514917fc0c88932bbd464ef17e98cd250444874ae0983ebe41a4758dab1f07649f6cddf38684857c27905a849f8b6dd694862acf1ec98
+EBUILD dhcpcd-7.0.0_beta3.ebuild 4459 SHA256 48f4e1144c7bbe97c182146107148453cab44e2d9718868f9aa705fac3356080 SHA512 1f630ae795fd011cc96d7a5cb254989c72d94a81b579d00b6bb63fe59e27a54a8aaeed8ee94721acae5511c09617abc48d23d583eba2229cd8b435f214fa3f6c WHIRLPOOL da685090ed66e3279ab7367791099df30f4850db058222dfdfe37abf56bf838206f4cd8a34435c309464934cfaf11f1d80ddefc4cd7d19ca97ae2a354f87d7b2
+EBUILD dhcpcd-7.0.0_rc1.ebuild 4459 SHA256 48f4e1144c7bbe97c182146107148453cab44e2d9718868f9aa705fac3356080 SHA512 1f630ae795fd011cc96d7a5cb254989c72d94a81b579d00b6bb63fe59e27a54a8aaeed8ee94721acae5511c09617abc48d23d583eba2229cd8b435f214fa3f6c WHIRLPOOL da685090ed66e3279ab7367791099df30f4850db058222dfdfe37abf56bf838206f4cd8a34435c309464934cfaf11f1d80ddefc4cd7d19ca97ae2a354f87d7b2
+EBUILD dhcpcd-7.0.0_rc2.ebuild 4459 SHA256 48f4e1144c7bbe97c182146107148453cab44e2d9718868f9aa705fac3356080 SHA512 1f630ae795fd011cc96d7a5cb254989c72d94a81b579d00b6bb63fe59e27a54a8aaeed8ee94721acae5511c09617abc48d23d583eba2229cd8b435f214fa3f6c WHIRLPOOL da685090ed66e3279ab7367791099df30f4850db058222dfdfe37abf56bf838206f4cd8a34435c309464934cfaf11f1d80ddefc4cd7d19ca97ae2a354f87d7b2
+EBUILD dhcpcd-7.0.0_rc3.ebuild 4459 SHA256 48f4e1144c7bbe97c182146107148453cab44e2d9718868f9aa705fac3356080 SHA512 1f630ae795fd011cc96d7a5cb254989c72d94a81b579d00b6bb63fe59e27a54a8aaeed8ee94721acae5511c09617abc48d23d583eba2229cd8b435f214fa3f6c WHIRLPOOL da685090ed66e3279ab7367791099df30f4850db058222dfdfe37abf56bf838206f4cd8a34435c309464934cfaf11f1d80ddefc4cd7d19ca97ae2a354f87d7b2
+EBUILD dhcpcd-9999.ebuild 4459 SHA256 48f4e1144c7bbe97c182146107148453cab44e2d9718868f9aa705fac3356080 SHA512 1f630ae795fd011cc96d7a5cb254989c72d94a81b579d00b6bb63fe59e27a54a8aaeed8ee94721acae5511c09617abc48d23d583eba2229cd8b435f214fa3f6c WHIRLPOOL da685090ed66e3279ab7367791099df30f4850db058222dfdfe37abf56bf838206f4cd8a34435c309464934cfaf11f1d80ddefc4cd7d19ca97ae2a354f87d7b2
+MISC ChangeLog 9817 SHA256 68d97fcda53da5d73e77f4e4eb399348eb7de580f0e52f957393c9ad298ce55b SHA512 9aef46737ece7ee36a7ee6a5dafc92f54a0e9ce0bb92baf498df830f1ac692be4b39fa881e3d41970f629d11a427249ed58286efd212a44c47a606528a90aff2 WHIRLPOOL ac5979fe735f29e6ef715570d6c63f8b056ba72fe0ead5f17947dc7d05c6144f6b42d79cd83e178f97b9c12ced69e102d6deddfbdd8a1208c1d2cb39b16f9a06
+MISC ChangeLog-2015 64856 SHA256 2e43801d14158185ea967ef6244822bdb5ae254107c6abf6c50ec158b49c6731 SHA512 c9517777fb5a465b80905424ae65c34790a705a6097359273308e0085ffaed58a4a2a98a53ae3ba7a614f463b6d67a26234fb401699fcd85b9656d56c46a353c WHIRLPOOL ce99d0920143d62127371dbdc2eab7682e3aee4617792805fd48fbafe3621203abf06c80eecd6793ddc8fca00d262c095cf6e6f9c204956005eda462771fbf19
+MISC metadata.xml 569 SHA256 d3ec9490e6d0e1a1b7661f7096b842852f41d20d76334385841a743195b4b2a2 SHA512 9083c03d22c5753f54d9525ac954df8df0cceaed07c05c14367ea2b8598e7d7ab64711c810dc89a46be8d76cba6b9aa14fa389f0d686ed12792c0bfcbabc266a WHIRLPOOL f1525e8ff521e65ff2c6df6ddd8f2b2f7cc557cc09d01ec8f0a0c88c6452aa1096c6d6f1f1ecd9b5aff2c4b4fd3d20b42af0bbb90a9fcb5ccfa480800e553e41
diff --git a/net-misc/dhcpcd/dhcpcd-6.10.1.ebuild b/net-misc/dhcpcd/dhcpcd-6.10.1.ebuild
new file mode 100644
index 000000000000..06ab906419ef
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-6.10.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+if [[ ${PV} == "9999" ]]; then
+ FOSSIL_URI="http://roy.marples.name/projects/dhcpcd"
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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}"
+
+if [[ ${PV} == "9999" ]]; then
+ DEPEND+=" dev-vcs/fossil"
+
+ src_unpack()
+ {
+ local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
+ local repo=${distdir}/fossil/${PN}.fossil
+
+ addwrite "${distdir}"
+
+ if [[ -e "${repo}" ]]; then
+ fossil pull "${FOSSIL_URI}" -R "${repo}" || die
+ else
+ mkdir -p "${distdir}/fossil" || die
+ fossil clone "${FOSSIL_URI}" "${repo}" || die
+ fi
+
+ mkdir -p "${S}" || die
+ cd "${S}" || die
+ fossil open "${repo}" || die
+ }
+fi
+
+src_prepare()
+{
+ epatch_user
+}
+
+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
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+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 [ -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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-6.11.1-r1.ebuild b/net-misc/dhcpcd/dhcpcd-6.11.1-r1.ebuild
new file mode 100644
index 000000000000..be9c260de63f
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-6.11.1-r1.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ FOSSIL_URI="http://roy.marples.name/projects/dhcpcd"
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+inherit systemd toolchain-funcs
+
+DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
+HOMEPAGE="http://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}"
+
+if [[ ${PV} == "9999" ]]; then
+ DEPEND+=" dev-vcs/fossil"
+
+ src_unpack()
+ {
+ local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
+ local repo=${distdir}/fossil/${PN}.fossil
+
+ addwrite "${distdir}"
+
+ if [[ -e "${repo}" ]]; then
+ fossil pull "${FOSSIL_URI}" -R "${repo}" || die
+ else
+ mkdir -p "${distdir}/fossil" || die
+ fossil clone "${FOSSIL_URI}" "${repo}" || die
+ fi
+
+ mkdir -p "${S}" || die
+ cd "${S}" || die
+ fossil open "${repo}" || die
+ }
+fi
+
+PATCHES=(
+"${FILESDIR}"/${P}-arp-conflict.patch
+)
+
+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
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+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 [ -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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-6.11.3.ebuild b/net-misc/dhcpcd/dhcpcd-6.11.3.ebuild
new file mode 100644
index 000000000000..88168bc80242
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-6.11.3.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ FOSSIL_URI="http://roy.marples.name/projects/dhcpcd"
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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}"
+
+if [[ ${PV} == "9999" ]]; then
+ DEPEND+=" dev-vcs/fossil"
+
+ src_unpack()
+ {
+ local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
+ local repo=${distdir}/fossil/${PN}.fossil
+
+ addwrite "${distdir}"
+
+ if [[ -e "${repo}" ]]; then
+ fossil pull "${FOSSIL_URI}" -R "${repo}" || die
+ else
+ mkdir -p "${distdir}/fossil" || die
+ fossil clone "${FOSSIL_URI}" "${repo}" || die
+ fi
+
+ mkdir -p "${S}" || die
+ cd "${S}" || die
+ fossil open "${repo}" || die
+ }
+fi
+
+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
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+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 [ -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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-6.11.5.ebuild b/net-misc/dhcpcd/dhcpcd-6.11.5.ebuild
new file mode 100644
index 000000000000..1cc4a590d36a
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-6.11.5.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ FOSSIL_URI="http://roy.marples.name/projects/dhcpcd"
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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}"
+
+if [[ ${PV} == "9999" ]]; then
+ DEPEND+=" dev-vcs/fossil"
+
+ src_unpack()
+ {
+ local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
+ local repo=${distdir}/fossil/${PN}.fossil
+
+ addwrite "${distdir}"
+
+ if [[ -e "${repo}" ]]; then
+ fossil pull "${FOSSIL_URI}" -R "${repo}" || die
+ else
+ mkdir -p "${distdir}/fossil" || die
+ fossil clone "${FOSSIL_URI}" "${repo}" || die
+ fi
+
+ mkdir -p "${S}" || die
+ cd "${S}" || die
+ fossil open "${repo}" || die
+ }
+fi
+
+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
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
+
+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 [ -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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-7.0.0_beta3.ebuild b/net-misc/dhcpcd/dhcpcd-7.0.0_beta3.ebuild
new file mode 100644
index 000000000000..deffde72be07
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-7.0.0_beta3.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://roy.marples.name/dhcpcd"
+ inherit git-r3
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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
+ 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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-7.0.0_rc1.ebuild b/net-misc/dhcpcd/dhcpcd-7.0.0_rc1.ebuild
new file mode 100644
index 000000000000..deffde72be07
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-7.0.0_rc1.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://roy.marples.name/dhcpcd"
+ inherit git-r3
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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
+ 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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-7.0.0_rc2.ebuild b/net-misc/dhcpcd/dhcpcd-7.0.0_rc2.ebuild
new file mode 100644
index 000000000000..deffde72be07
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-7.0.0_rc2.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://roy.marples.name/dhcpcd"
+ inherit git-r3
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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
+ 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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-7.0.0_rc3.ebuild b/net-misc/dhcpcd/dhcpcd-7.0.0_rc3.ebuild
new file mode 100644
index 000000000000..deffde72be07
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-7.0.0_rc3.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://roy.marples.name/dhcpcd"
+ inherit git-r3
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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
+ 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
+}
diff --git a/net-misc/dhcpcd/dhcpcd-9999.ebuild b/net-misc/dhcpcd/dhcpcd-9999.ebuild
new file mode 100644
index 000000000000..deffde72be07
--- /dev/null
+++ b/net-misc/dhcpcd/dhcpcd-9999.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="git://roy.marples.name/dhcpcd"
+ inherit git-r3
+else
+ MY_P="${P/_alpha/-alpha}"
+ MY_P="${MY_P/_beta/-beta}"
+ MY_P="${MY_P/_rc/-rc}"
+ SRC_URI="http://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 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-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="http://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
+ 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
+}
diff --git a/net-misc/dhcpcd/files/dhcpcd-6.11.1-arp-conflict.patch b/net-misc/dhcpcd/files/dhcpcd-6.11.1-arp-conflict.patch
new file mode 100644
index 000000000000..ae7da3fbd8a9
--- /dev/null
+++ b/net-misc/dhcpcd/files/dhcpcd-6.11.1-arp-conflict.patch
@@ -0,0 +1,61 @@
+Index: ipv4ll.c
+==================================================================
+--- a/ipv4ll.c
++++ b/ipv4ll.c
+@@ -242,31 +242,33 @@
+ assert(astate != NULL);
+ assert(astate->iface != NULL);
+ ifp = astate->iface;
+ state = IPV4LL_STATE(ifp);
+ assert(state != NULL);
+- assert(state->addr != NULL);
+
+ fail = 0;
+ /* RFC 3927 2.2.1, Probe Conflict Detection */
+ if (amsg == NULL ||
+ (amsg->sip.s_addr == astate->addr.s_addr ||
+ (amsg->sip.s_addr == 0 && amsg->tip.s_addr == astate->addr.s_addr)))
+ fail = astate->addr.s_addr;
+
+ /* RFC 3927 2.5, Conflict Defense */
+- if (IN_LINKLOCAL(ntohl(state->addr->addr.s_addr)) &&
++ if (state->addr != NULL &&
++ IN_LINKLOCAL(ntohl(state->addr->addr.s_addr)) &&
+ amsg && amsg->sip.s_addr == state->addr->addr.s_addr)
+ fail = state->addr->addr.s_addr;
+
+ if (fail == 0)
+ return;
+
+ astate->failed.s_addr = fail;
+ arp_report_conflicted(astate, amsg);
+
+- if (astate->failed.s_addr == state->addr->addr.s_addr) {
++ if (state->addr != NULL &&
++ astate->failed.s_addr == state->addr->addr.s_addr)
++ {
+ struct timespec now, defend;
+
+ /* RFC 3927 Section 2.5 says a defence should
+ * broadcast an ARP announcement.
+ * Because the kernel will also unicast a reply to the
+@@ -378,16 +380,18 @@
+ astate->conflicted_cb = ipv4ll_conflicted;
+ astate->free_cb = ipv4ll_arpfree;
+
+ /* Find an existing IPv4LL address and ensure we can work with it. */
+ ia = ipv4_iffindlladdr(ifp);
++
+ #ifdef IN_IFF_TENTATIVE
+ if (ia != NULL && ia->addr_flags & IN_IFF_DUPLICATED) {
+ ipv4_deladdr(ia, 0);
+ ia = NULL;
+ }
+ #endif
++
+ if (ia != NULL) {
+ astate->addr = ia->addr;
+ #ifdef IN_IFF_TENTATIVE
+ if (ia->addr_flags & (IN_IFF_TENTATIVE | IN_IFF_DETACHED)) {
+ logger(ifp->ctx, LOG_INFO,
+
diff --git a/net-misc/dhcpcd/files/dhcpcd.initd b/net-misc/dhcpcd/files/dhcpcd.initd
new file mode 100644
index 000000000000..d3f4d76b4c90
--- /dev/null
+++ b/net-misc/dhcpcd/files/dhcpcd.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 2007-2008 Roy Marples <roy@marples.name>
+# All rights reserved. Released under the 2-clause BSD license.
+
+command=/sbin/dhcpcd
+pidfile=/var/run/dhcpcd.pid
+command_args=-q
+name="DHCP Client Daemon"
+
+depend()
+{
+ provide net
+ need localmount
+ use logger network
+ after bootmisc modules
+ before dns
+}
diff --git a/net-misc/dhcpcd/files/dhcpcd.service b/net-misc/dhcpcd/files/dhcpcd.service
new file mode 100644
index 000000000000..8430214d59b4
--- /dev/null
+++ b/net-misc/dhcpcd/files/dhcpcd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Lightweight DHCP client daemon
+Wants=network.target
+Before=network.target network-online.target
+
+[Service]
+Type=forking
+ExecStart=/sbin/dhcpcd -q
+PIDFile=/run/dhcpcd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/dhcpcd/metadata.xml b/net-misc/dhcpcd/metadata.xml
new file mode 100644
index 000000000000..783090038eda
--- /dev/null
+++ b/net-misc/dhcpcd/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>williamh@gentoo.org</email>
+ <name>William Hubbs</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:roy_marples:dhcpcd</remote-id>
+ </upstream>
+ <use>
+ <flag name="embedded">
+ Embed the definitions of dhcp options in the dhcpcd executable
+ </flag>
+ </use>
+</pkgmetadata>