diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-04-12 03:41:30 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-04-12 03:41:30 +0100 |
commit | 623ee73d661e5ed8475cb264511f683407d87365 (patch) | |
tree | 993eb27c93ec7a2d2d19550300d888fc1fed9e69 /net-misc/dhcpcd | |
parent | ceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff) |
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'net-misc/dhcpcd')
-rw-r--r-- | net-misc/dhcpcd/Manifest | 19 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-7.2.3.ebuild | 2 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-7.2.5.ebuild | 4 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-8.0.6.ebuild | 4 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-8.1.6.ebuild | 2 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-8.1.7.ebuild (renamed from net-misc/dhcpcd/dhcpcd-8.1.5.ebuild) | 2 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-9.0.0.ebuild | 175 | ||||
-rw-r--r-- | net-misc/dhcpcd/dhcpcd-9999.ebuild | 36 | ||||
-rw-r--r-- | net-misc/dhcpcd/files/dhcpcd-9.0.0-no_ipv6_build_fix.patch | 92 | ||||
-rw-r--r-- | net-misc/dhcpcd/metadata.xml | 3 |
10 files changed, 320 insertions, 19 deletions
diff --git a/net-misc/dhcpcd/Manifest b/net-misc/dhcpcd/Manifest index 3a10fca206f3..8f923227a789 100644 --- a/net-misc/dhcpcd/Manifest +++ b/net-misc/dhcpcd/Manifest @@ -1,14 +1,17 @@ +AUX dhcpcd-9.0.0-no_ipv6_build_fix.patch 2670 BLAKE2B c35b0abcd0d20f9f142df2a33ab4bfa600b9bca184c598ec05e8d89553a573a20368404b387316384f625e45e136150c8cfc583ffb8392ae59c54cd296cd2a95 SHA512 f4bf108d63a88a9ab10525a1201bcd9dc95d1346d0e1be5b2c3a0cf9fddcc58f3aec69bec184e63e75edb2a82374682df630b4af29fdca188ac11830ea2452be AUX dhcpcd.initd 328 BLAKE2B 72ef6bb16e4f80b440890112cd399eca1057ae42ddc96ee1a29482a048682dd34e065bb68876329ecfe2f1db4c084e320f4185b3029b89c2328d6ab27a1a7e80 SHA512 6d3220155f2d9ed3e3a00afd378eeb70d435e19804201f8bb35498f1f7f3dfdaeaa2f4a01a18f5e96b457d9c173bc6a206b3e67ebf6d95da7e7b350dcd153fde AUX dhcpcd.service 227 BLAKE2B e24aa85c15d0211856b02508b681f7e3c1f8b8b1743f31ced9600c2c33da04b61f2166cad7696776ae81ce1be5701cae2691f6dfd86aaf8679f20e459e87c7e5 SHA512 4a030dc291fa7deba9c1f33d61dafdda710247ef7f3743c28e46b767a190e359e468433147bda23c82fae9c93ec31cd68905bfdb51cb8c2d9176ea789b31b14e DIST dhcpcd-7.2.3.tar.xz 213552 BLAKE2B 5f89e11424b85702b05da6207ec346480c029de1416cc8892471de428ca0a4395a8915700e2237bfa2b133648973bc2a7c7d15aa2d0ba492f96fbf3908d7f613 SHA512 271cca422fad10eaf842acfd5b590c0ad537f5f23ee919a3928d8ad98463ab03bde21c0bc08741ea9618ee31095160a7c00066155eae2c74b17c49af65ba566f DIST dhcpcd-7.2.5.tar.xz 214124 BLAKE2B 7a5f32b66187afcaa2bb4a1cbcc0d704a28a27ff6d1f9fea409bab242ebf4d263d81590cb4a4959c9f1119966795e26fa582ed16a525c1e46a72dd0905868074 SHA512 ee0c70f3996f6a06031c2f663a4bdf4f147d637c31e54bb94fcb9d86282c33ad7b0f5569abe09acd7698efbb34c35afb228fe0825e4a95ad6a42832d1838ca72 DIST dhcpcd-8.0.6.tar.xz 224552 BLAKE2B 5d0fab5977597ce182a2de56c8c4d085d3595a8f1209fc76788b707af0fffd4285a958cebfe7bab6c04ae7a2ba94c466d689dc9c3a71708c1baabd328b2bbf3e SHA512 19a568800a4e510a250de7cc111700b364c68bfe3907f1ac2cda81aacd079cb9ac87731cbabbf8f1e85e055a11c7ba88e419f6c4d7b33f8842dfaeadc7d1e193 -DIST dhcpcd-8.1.5.tar.xz 229212 BLAKE2B 9b60485a673001479d21727548266440eb44e070af873d014a43b3b0f189e2c6d3d1e3c04b7d67fd45f54edf75e0e24703f0bacb3c3ae114273b8428ca30d1d4 SHA512 59c8ae255b18b6678b22d4bd5f6797ac20e762d1d22e5ba4c0aefce5ec0d4f863876c06c03dd4c5e71f4d65884474cef9c29f95658eac55097603becd96e3846 DIST dhcpcd-8.1.6.tar.xz 229224 BLAKE2B ad3d024b5a62feb3c9cb39ada0323d336af831cb9892dc50b93c672e6ae2a5607526122a9a5f63a00915a182ea7e7a0ae6b19bbb965bd1fa9ca58cbcac81cd66 SHA512 f4d7ea5f4c139a2735e795e13be68f6edac89d86d97589c2cdd67f89b890a093675dcc207c681332e2163b1094da8ce75bda2ee614c19bafd01410d9fadf19df -EBUILD dhcpcd-7.2.3.ebuild 4386 BLAKE2B c9f1e817bbf184b16c43c5b974d824ee2b05c4a521f7ac77678fe79875f146db13d46495af840d13547e6ac5f31ccd637970e1a9a08cecad7d22f9c103cd256e SHA512 e799b52717072a3e5c1221b8cbb92aefada154db84c2faab07eda5597ab9dc8d8bdbe42cf9a2c2a472a57c6304208af91c6bcf97a33f61f9cf729b4540a8d0fb -EBUILD dhcpcd-7.2.5.ebuild 4398 BLAKE2B 0ae3be12a91b88313d9a702e709b5133175ab19eac38c7cedaded1ce719da2dce75bb61bcc566d382354bb25a000596b2e2e3d23f49156c524c18aaf80eea3bf SHA512 399729e9555bfd91bbc658789f96242e0fc16acf7b279bea222247a6ca6d15a8ef3afb8d981f71cf74b07b39a72b8ec5ca63bb5922730157af7d3551100e3691 -EBUILD dhcpcd-8.0.6.ebuild 4398 BLAKE2B 0ae3be12a91b88313d9a702e709b5133175ab19eac38c7cedaded1ce719da2dce75bb61bcc566d382354bb25a000596b2e2e3d23f49156c524c18aaf80eea3bf SHA512 399729e9555bfd91bbc658789f96242e0fc16acf7b279bea222247a6ca6d15a8ef3afb8d981f71cf74b07b39a72b8ec5ca63bb5922730157af7d3551100e3691 -EBUILD dhcpcd-8.1.5.ebuild 4398 BLAKE2B e6f1fcf4d35747e771896ee3c37bde2ce7e90eef8892a0d014a124fcb3dc111079ef4570eff535c86dff69c206356df8844c6b919ac9f2d7ec6aab8769d48285 SHA512 7047213143759d2740405fba60d6a617e18506fe6b050b8a34768cd850e830636045dc3ebb81704bf1ad8ec84b56004a525df0aa79cc33a7df799e3bfd68a270 -EBUILD dhcpcd-8.1.6.ebuild 4398 BLAKE2B e6f1fcf4d35747e771896ee3c37bde2ce7e90eef8892a0d014a124fcb3dc111079ef4570eff535c86dff69c206356df8844c6b919ac9f2d7ec6aab8769d48285 SHA512 7047213143759d2740405fba60d6a617e18506fe6b050b8a34768cd850e830636045dc3ebb81704bf1ad8ec84b56004a525df0aa79cc33a7df799e3bfd68a270 -EBUILD dhcpcd-9999.ebuild 4427 BLAKE2B c57c5170026230050182276f914c22963f077d960d5f695267ea46bc54c6ef37a4809da798c897ece97d019497aed04a2ba815047ebc265922265c5edf01ff9c SHA512 c2db16bd7e6c3b4e7ba256c6e652408cc5f4257c188e3b668e27fa12e437aeed806a7d2045532ae22f124da6732aceeac65d69f17b18793a175eeb6af0995d98 -MISC metadata.xml 569 BLAKE2B 0507986b52ed21277e159089c7f4736602917c44f0577d62e7501d728c348b49ecf3a2c92842c8e32a59402ad2c2e4e5c3fba510e227aca738a3d763b62689fe SHA512 9083c03d22c5753f54d9525ac954df8df0cceaed07c05c14367ea2b8598e7d7ab64711c810dc89a46be8d76cba6b9aa14fa389f0d686ed12792c0bfcbabc266a +DIST dhcpcd-8.1.7.tar.xz 230308 BLAKE2B 636daad77885b7f00f34c73413db4a0269bca844c33b630b5302cfcd9f5b2068ed95872dd92f3b8db25e7b2ca0a28a8053e1975a7ee50fd5403f8d58e97dff17 SHA512 ea58ef3db8254d677820c44b2842ef2f3697b2d90fcbd89b2ecfcbac87e705047cac17053bbe076a3f6d2775903c8e75eac38089d25c097e2f24a045c24977e8 +DIST dhcpcd-9.0.0.tar.xz 245336 BLAKE2B e206ba6f8e8c890247e308e5e181abf3eec2f5abc0f4b8fa05b220529018d16c806cb8ae29525b9bf7e39b465377016b55fe1c08b2f0b83d8e7a3432b6ea71b5 SHA512 5b04d9ecb75c45e7f883e29aed4862ae7fc186a6ca161353ed59ffed4dbc266e03596a26d09ae60e87806047659d6ce238b26d264b5a96b21643849343d2da0b +EBUILD dhcpcd-7.2.3.ebuild 4384 BLAKE2B e1572ed7ff0b2a854b080a7583b2a0632b5d1c5aa018bb7d1f515f5deeff1bebaf2f0312fac7163a0e4b70cace2d859a0d214ccbb134debca4311213558bf30c SHA512 f243719ff6dae2092f5236df9e6893a9313bdee5665d3bfeb140ffd02778a16eabcf2d1516fe59cd0b4e5421e30e703f74966eb7cb8288d87a4fded126b584b0 +EBUILD dhcpcd-7.2.5.ebuild 4394 BLAKE2B 4e6c828497b44ffd2e25f7985b5f0144209d7c1ff7ed07b995a09cce5bc04ddebecc49fd0f1faa569fb52d069ab8d80c30595e3c2570a7af272e7162b335b6f0 SHA512 79ed085c66bc51e87e2ee4f327b5604a571cc3daf6a41fe949baa37c9245749c37d1e054a070c72da2d7da7b0ad7e5bb1c5f92834be7d6f79216dff268783780 +EBUILD dhcpcd-8.0.6.ebuild 4394 BLAKE2B 4e6c828497b44ffd2e25f7985b5f0144209d7c1ff7ed07b995a09cce5bc04ddebecc49fd0f1faa569fb52d069ab8d80c30595e3c2570a7af272e7162b335b6f0 SHA512 79ed085c66bc51e87e2ee4f327b5604a571cc3daf6a41fe949baa37c9245749c37d1e054a070c72da2d7da7b0ad7e5bb1c5f92834be7d6f79216dff268783780 +EBUILD dhcpcd-8.1.6.ebuild 4394 BLAKE2B 4e6c828497b44ffd2e25f7985b5f0144209d7c1ff7ed07b995a09cce5bc04ddebecc49fd0f1faa569fb52d069ab8d80c30595e3c2570a7af272e7162b335b6f0 SHA512 79ed085c66bc51e87e2ee4f327b5604a571cc3daf6a41fe949baa37c9245749c37d1e054a070c72da2d7da7b0ad7e5bb1c5f92834be7d6f79216dff268783780 +EBUILD dhcpcd-8.1.7.ebuild 4394 BLAKE2B 4e6c828497b44ffd2e25f7985b5f0144209d7c1ff7ed07b995a09cce5bc04ddebecc49fd0f1faa569fb52d069ab8d80c30595e3c2570a7af272e7162b335b6f0 SHA512 79ed085c66bc51e87e2ee4f327b5604a571cc3daf6a41fe949baa37c9245749c37d1e054a070c72da2d7da7b0ad7e5bb1c5f92834be7d6f79216dff268783780 +EBUILD dhcpcd-9.0.0.ebuild 5335 BLAKE2B 792e26c5df03845cb0251395977bcbe16803817bade78bcb7c8949e6730607f8bb76aef4fa14f98a5579fb6a705e2f6beb43135a3bcdcc84464ea5e971b205c2 SHA512 7c4b27d692d5e9c5e1b2979cdbaab4bf721911eeb5b44da899eb700c212e1ceb4669cfc8bd1675f4489a12aa64b45ba41e77cd7182b30cda3d1487b76cef6729 +EBUILD dhcpcd-9999.ebuild 5279 BLAKE2B 9d18fbf073399faf0325d8d16a46c14595546a68a65b2959c3a61082985d685bfccf9808a8b9fec020e3de2c3b4e73f1478db59bd773967e4012ceb31b30d03a SHA512 779769068a9128d816c3f00aa1fb11d232d6532a77e105fc8b483aa7eb090ecb7d86f30051b57eee549cfeb723c6bea409a1213ad552ac66102edaac41c5467a +MISC metadata.xml 661 BLAKE2B 079dd7ae7da62777750cda972982faec3a7040018c57a40b33874b20bbfcdf60a00487f38daaba2fcf10c2325c6d582d70983f5bb6fca64f309eaa81c615de93 SHA512 3b2db0737e02439895ee5d7fc06b9344c64282d4014ef1f7cc8ce19f93e8744aa929f85fba8f04c0a865f477a5066dfa083b568546665e870137c2989999e5e0 diff --git a/net-misc/dhcpcd/dhcpcd-7.2.3.ebuild b/net-misc/dhcpcd/dhcpcd-7.2.3.ebuild index f7b4a7148b85..199319334079 100644 --- a/net-misc/dhcpcd/dhcpcd-7.2.3.ebuild +++ b/net-misc/dhcpcd/dhcpcd-7.2.3.ebuild @@ -13,7 +13,7 @@ else MY_P="${MY_P/_beta/-beta}" MY_P="${MY_P/_rc/-rc}" SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 ~riscv s390 sh sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${MY_P}" fi diff --git a/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild b/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild index 97babad6cfa4..504876b53cf8 100644 --- a/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild +++ b/net-misc/dhcpcd/dhcpcd-7.2.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ else MY_P="${MY_P/_beta/-beta}" MY_P="${MY_P/_rc/-rc}" SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${MY_P}" fi diff --git a/net-misc/dhcpcd/dhcpcd-8.0.6.ebuild b/net-misc/dhcpcd/dhcpcd-8.0.6.ebuild index 97babad6cfa4..504876b53cf8 100644 --- a/net-misc/dhcpcd/dhcpcd-8.0.6.ebuild +++ b/net-misc/dhcpcd/dhcpcd-8.0.6.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ else MY_P="${MY_P/_beta/-beta}" MY_P="${MY_P/_rc/-rc}" SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${MY_P}" fi diff --git a/net-misc/dhcpcd/dhcpcd-8.1.6.ebuild b/net-misc/dhcpcd/dhcpcd-8.1.6.ebuild index 4526f6e55cd7..504876b53cf8 100644 --- a/net-misc/dhcpcd/dhcpcd-8.1.6.ebuild +++ b/net-misc/dhcpcd/dhcpcd-8.1.6.ebuild @@ -13,7 +13,7 @@ else MY_P="${MY_P/_beta/-beta}" MY_P="${MY_P/_rc/-rc}" SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${MY_P}" fi diff --git a/net-misc/dhcpcd/dhcpcd-8.1.5.ebuild b/net-misc/dhcpcd/dhcpcd-8.1.7.ebuild index 4526f6e55cd7..504876b53cf8 100644 --- a/net-misc/dhcpcd/dhcpcd-8.1.5.ebuild +++ b/net-misc/dhcpcd/dhcpcd-8.1.7.ebuild @@ -13,7 +13,7 @@ else MY_P="${MY_P/_beta/-beta}" MY_P="${MY_P/_rc/-rc}" SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${MY_P}" fi diff --git a/net-misc/dhcpcd/dhcpcd-9.0.0.ebuild b/net-misc/dhcpcd/dhcpcd-9.0.0.ebuild new file mode 100644 index 000000000000..52553bf20cc2 --- /dev/null +++ b/net-misc/dhcpcd/dhcpcd-9.0.0.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit systemd toolchain-funcs + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://roy.marples.name/cgit/dhcpcd.git" +else + MY_P="${P/_alpha/-alpha}" + MY_P="${MY_P/_beta/-beta}" + MY_P="${MY_P/_rc/-rc}" + SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + S="${WORKDIR}/${MY_P}" +fi + +DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client" +HOMEPAGE="https://roy.marples.name/projects/dhcpcd" +LICENSE="BSD-2" +SLOT="0" +IUSE="debug elibc_glibc +embedded ipv6 kernel_linux +privsep +udev" + +COMMON_DEPEND="udev? ( virtual/udev )" +DEPEND="${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + privsep? ( + acct-group/dhcpcd + acct-user/dhcpcd + ) +" + +PATCHES=( "${FILESDIR}/${P}-no_ipv6_build_fix.patch" ) + +src_configure() { + local myeconfargs=( + --dbdir="${EPREFIX}/var/lib/dhcpcd" + --libexecdir="${EPREFIX}/lib/dhcpcd" + --localstatedir="${EPREFIX}/var" + --prefix="${EPREFIX}" + --with-hook=ntp.conf + $(use_enable debug) + $(use_enable embedded) + $(use_enable ipv6) + $(use_enable privsep) + $(usex elibc_glibc '--with-hook=yp.conf' '') + $(usex kernel_linux '--rundir=${EPREFIX}/run' '') + $(usex privsep '--privsepuser=dhcpcd' '') + $(usex udev '' '--without-dev --without-udev') + CC="$(tc-getCC)" + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + keepdir /var/lib/dhcpcd + newinitd "${FILESDIR}"/${PN}.initd ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_postinst() { + local dbdir="${EROOT}"/var/lib/dhcpcd old_files=() + + local old_old_duid="${EROOT}"/var/lib/dhcpcd/dhcpcd.duid + local old_duid="${EROOT}"/etc/dhcpcd.duid + local new_duid="${dbdir}"/duid + if [[ -e "${old_old_duid}" ]] ; then + # Upgrade the duid file to the new format if needed + if ! grep -q '..:..:..:..:..:..' "${old_old_duid}"; then + sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_old_duid}" + fi + + # Move the duid to /etc, a more sensible location + if [[ ! -e "${old_duid}" ]] ; then + cp -p "${old_old_duid}" "${new_duid}" + fi + old_files+=( "${old_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_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_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_rdm}" ) + fi + local lease= + for lease in "${dbdir}"/dhcpcd-*.lease*; do + [[ -f "${lease}" ]] || continue + old_files+=( "${lease}" ) + local new_lease=$(basename "${lease}" | sed -e "s/dhcpcd-//") + [[ -e "${dbdir}/${new_lease}" ]] && continue + cp "${lease}" "${dbdir}/${new_lease}" + done + + # dhcpcd-9 introduced privesep support in a chroot + if use privsep ; then + local dhcpcd_libdir="/var/lib/dhcpcd" + local chroot_base="${EROOT}/var/chroot/dhcpcd" + local chroot_dir="${chroot_base}${dhcpcd_libdir}" + local chroot_retval=0 + # Set up proper chroot. + if [[ ! -e "${chroot_dir}" ]] ; then + mkdir -p "${chroot_dir}" || chroot_retval=1 + cp -a "${EROOT}${dhcpcd_libdir}" "${chroot_dir}" || chroot_retval=1 + chown -R dhcpcd:dhcpcd "${chroot_dir}" || chroot_retval=1 + elif [[ ! -d "${chroot_dir}" ]] ; then + ewarn "${chroot_dir} is not a directory!" + ewarn "Did not set up ${PN} chroot!" + fi + if [[ "${chroot_retval}" -ne 0 ]] ; then + ewarn "There were issues setting up ${PN} chroot." + fi + fi + + # 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 index e83bb217a35a..9656eabee928 100644 --- a/net-misc/dhcpcd/dhcpcd-9999.ebuild +++ b/net-misc/dhcpcd/dhcpcd-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ else MY_P="${MY_P/_beta/-beta}" MY_P="${MY_P/_rc/-rc}" SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" S="${WORKDIR}/${MY_P}" fi @@ -21,11 +21,17 @@ DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client" HOMEPAGE="https://roy.marples.name/projects/dhcpcd" LICENSE="BSD-2" SLOT="0" -IUSE="debug elibc_glibc +embedded ipv6 kernel_linux +udev" +IUSE="debug elibc_glibc +embedded ipv6 kernel_linux +privsep +udev" COMMON_DEPEND="udev? ( virtual/udev )" DEPEND="${COMMON_DEPEND}" -RDEPEND="${COMMON_DEPEND}" +RDEPEND=" + ${COMMON_DEPEND} + privsep? ( + acct-group/dhcpcd + acct-user/dhcpcd + ) +" src_configure() { local myeconfargs=( @@ -37,8 +43,10 @@ src_configure() { $(use_enable debug) $(use_enable embedded) $(use_enable ipv6) + $(use_enable privsep) $(usex elibc_glibc '--with-hook=yp.conf' '') $(usex kernel_linux '--rundir=${EPREFIX}/run' '') + $(usex privsep '--privsepuser=dhcpcd' '') $(usex udev '' '--without-dev --without-udev') CC="$(tc-getCC)" ) @@ -105,6 +113,26 @@ pkg_postinst() { cp "${lease}" "${dbdir}/${new_lease}" done + # dhcpcd-9 introduced privesep support in a chroot + if use privsep ; then + local dhcpcd_libdir="/var/lib/dhcpcd" + local chroot_base="${EROOT}/var/chroot/dhcpcd" + local chroot_dir="${chroot_base}${dhcpcd_libdir}" + local chroot_retval=0 + # Set up proper chroot. + if [[ ! -e "${chroot_dir}" ]] ; then + mkdir -p "${chroot_dir}" || chroot_retval=1 + cp -a "${EROOT}${dhcpcd_libdir}" "${chroot_dir}" || chroot_retval=1 + chown -R dhcpcd:dhcpcd "${chroot_dir}" || chroot_retval=1 + elif [[ ! -d "${chroot_dir}" ]] ; then + ewarn "${chroot_dir} is not a directory!" + ewarn "Did not set up ${PN} chroot!" + fi + if [[ "${chroot_retval}" -ne 0 ]] ; then + ewarn "There were issues setting up ${PN} chroot." + fi + fi + # Warn about removing stale files if [[ -n "${old_files[@]}" ]] ; then elog diff --git a/net-misc/dhcpcd/files/dhcpcd-9.0.0-no_ipv6_build_fix.patch b/net-misc/dhcpcd/files/dhcpcd-9.0.0-no_ipv6_build_fix.patch new file mode 100644 index 000000000000..a210982c340b --- /dev/null +++ b/net-misc/dhcpcd/files/dhcpcd-9.0.0-no_ipv6_build_fix.patch @@ -0,0 +1,92 @@ +From 12ddbee51f0e1cf4372146f8d42ea404dd07dba3 Mon Sep 17 00:00:00 2001 +From: Roy Marples <roy@marples.name> +Date: Thu, 2 Apr 2020 19:54:19 +0000 +Subject: Fix build without INET or INET6 + +--- + src/dhcpcd.c | 2 +- + src/if-bsd.c | 2 ++ + src/if-options.c | 6 ++++++ + src/privsep-root.c | 2 ++ + 4 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/src/dhcpcd.c b/src/dhcpcd.c +index 057a1fd9..9208f37c 100644 +--- a/src/dhcpcd.c ++++ b/src/dhcpcd.c +@@ -2169,7 +2169,7 @@ printpidfile: + } + #endif + +-#ifdef BSD ++#if defined(BSD) && defined(INET6) + /* Disable the kernel RTADV sysctl as early as possible. */ + if (ctx.options & DHCPCD_IPV6 && ctx.options & DHCPCD_IPV6RS) + if_disable_rtadv(); +diff --git a/src/if-bsd.c b/src/if-bsd.c +index dbe5c359..d6c38903 100644 +--- a/src/if-bsd.c ++++ b/src/if-bsd.c +@@ -1524,6 +1524,8 @@ if_missfilter0(struct dhcpcd_ctx *ctx, struct interface *ifp, + #ifdef INET6 + if (sa->sa_family == AF_INET6) + ifa_setscope(satosin6(sa), ifp->index); ++#else ++ UNUSED(ifp); + #endif + + cp = ctx->rt_missfilter + ctx->rt_missfilterlen; +diff --git a/src/if-options.c b/src/if-options.c +index 7850ff2e..1280cfbd 100644 +--- a/src/if-options.c ++++ b/src/if-options.c +@@ -573,6 +573,8 @@ set_option_space(struct dhcpcd_ctx *ctx, + return; + } + #endif ++#else ++ UNUSED(arg); + #endif + + #ifdef INET +@@ -1275,6 +1277,7 @@ parse_option(struct dhcpcd_ctx *ctx, const char *ifname, struct if_options *ifo, + memset(ifo->nomask6, 0xff, sizeof(ifo->nomask6)); + + /* Allow the bare minimum through */ ++#ifdef INET + del_option_mask(ifo->nomask, DHO_SUBNETMASK); + del_option_mask(ifo->nomask, DHO_CSR); + del_option_mask(ifo->nomask, DHO_ROUTER); +@@ -1286,11 +1289,14 @@ parse_option(struct dhcpcd_ctx *ctx, const char *ifname, struct if_options *ifo, + del_option_mask(ifo->nomask, DHO_RENEWALTIME); + del_option_mask(ifo->nomask, DHO_REBINDTIME); + del_option_mask(ifo->nomask, DHO_DNSSEARCH); ++#endif + ++#ifdef INET6 + del_option_mask(ifo->nomask6, D6_OPTION_DNS_SERVERS); + del_option_mask(ifo->nomask6, D6_OPTION_DOMAIN_LIST); + del_option_mask(ifo->nomask6, D6_OPTION_SOL_MAX_RT); + del_option_mask(ifo->nomask6, D6_OPTION_INF_MAX_RT); ++#endif + + break; + #ifdef INET +diff --git a/src/privsep-root.c b/src/privsep-root.c +index f88f56dd..0f099bb7 100644 +--- a/src/privsep-root.c ++++ b/src/privsep-root.c +@@ -435,8 +435,10 @@ ps_root_dispatchcb(void *arg, struct ps_msghdr *psm, struct msghdr *msg) + struct dhcpcd_ctx *ctx = arg; + ssize_t err; + ++#ifdef INET + err = ps_bpf_dispatch(ctx, psm, msg); + if (err == -1 && errno == ENOTSUP) ++#endif + err = ps_inet_dispatch(ctx, psm, msg); + return err; + } +-- +cgit v1.2.3 + diff --git a/net-misc/dhcpcd/metadata.xml b/net-misc/dhcpcd/metadata.xml index 783090038eda..48f8ca1c55a8 100644 --- a/net-misc/dhcpcd/metadata.xml +++ b/net-misc/dhcpcd/metadata.xml @@ -16,5 +16,8 @@ <flag name="embedded"> Embed the definitions of dhcp options in the dhcpcd executable </flag> + <flag name="privsep"> + Enable support for privilege separation through chroot + </flag> </use> </pkgmetadata> |