summaryrefslogtreecommitdiff
path: root/net-misc/dhcpcd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /net-misc/dhcpcd
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'net-misc/dhcpcd')
-rw-r--r--net-misc/dhcpcd/Manifest19
-rw-r--r--net-misc/dhcpcd/dhcpcd-7.2.3.ebuild2
-rw-r--r--net-misc/dhcpcd/dhcpcd-7.2.5.ebuild4
-rw-r--r--net-misc/dhcpcd/dhcpcd-8.0.6.ebuild4
-rw-r--r--net-misc/dhcpcd/dhcpcd-8.1.6.ebuild2
-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.ebuild175
-rw-r--r--net-misc/dhcpcd/dhcpcd-9999.ebuild36
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-9.0.0-no_ipv6_build_fix.patch92
-rw-r--r--net-misc/dhcpcd/metadata.xml3
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>