diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /net-misc/dhcpcd |
reinit the tree, so we can have metadata
Diffstat (limited to 'net-misc/dhcpcd')
-rw-r--r-- | net-misc/dhcpcd/Manifest | 23 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-6.10.1.ebuild | 119 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-6.11.1-r1.ebuild | 118 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-6.11.3.ebuild | 114 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-6.11.5.ebuild | 114 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-7.0.0_beta3.ebuild | 148 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-7.0.0_rc1.ebuild | 148 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-7.0.0_rc2.ebuild | 148 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-7.0.0_rc3.ebuild | 148 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-9999.ebuild | 148 | ||||
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd-6.11.1-arp-conflict.patch | 61 | ||||
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd.initd | 17 | ||||
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd.service | 12 | ||||
-rw-r--r-- | net-misc/dhcpcd/metadata.xml | 20 |
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> |