Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/dhcpcd/
Date: Mon, 28 Dec 2020 19:44:58
Message-Id: 1609184690.8a3a53d1861e8fe95d31bb845c84ba695cbb22d1.polynomial-c@gentoo
1 commit: 8a3a53d1861e8fe95d31bb845c84ba695cbb22d1
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 28 19:40:03 2020 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 28 19:44:50 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a3a53d1
7
8 net-misc/dhcpcd: Bump to version 9.4.0
9
10 Package-Manager: Portage-3.0.12, Repoman-3.0.2
11 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
12
13 net-misc/dhcpcd/Manifest | 1 +
14 net-misc/dhcpcd/dhcpcd-9.4.0.ebuild | 153 ++++++++++++++++++++++++++++++++++++
15 2 files changed, 154 insertions(+)
16
17 diff --git a/net-misc/dhcpcd/Manifest b/net-misc/dhcpcd/Manifest
18 index bc1ab2c8954..c067fc62448 100644
19 --- a/net-misc/dhcpcd/Manifest
20 +++ b/net-misc/dhcpcd/Manifest
21 @@ -1,3 +1,4 @@
22 DIST dhcpcd-8.1.9.tar.xz 230288 BLAKE2B 5606ddfce37c67ac3d60257104fcf15bd7da65021b2c1261a45958b628cd066ccd9bc6b60bbb42f8280fcbbf9d4b1c7666b993c37f150b27ef2a0527a0fd5b96 SHA512 40ac106ffca60b32362aacdfae0fa3a2993a3eed72bf452322412a912f594aaade1c24b862233455033158a6e453ec75d6d14fa52df6b4c5ae435dd6ceb29f2a
23 DIST dhcpcd-9.3.3.tar.xz 254972 BLAKE2B 6f808d08059ca93fd2af14b9b6efbcece08634a72c8f06bb31a49ee5c6a7f52af6bfeb43e007710b466bd70d4005416d7882fc93ac5b28e1a019f06b9b0afe15 SHA512 1ff58107fe7e45a42c8da32ce6554244c1cac289e0c207f7dd29f5fcab1a2aadd66434604cd35e979e0aa138de9d968e9360b5339d3f233e6c1a83d7a20799c4
24 DIST dhcpcd-9.3.4.tar.xz 255212 BLAKE2B cd64dca55bd8adfcfa8ffb5f75a949c6f8aef9f1bf7925060590f7f5f0325e08de3c766c8ff780736eb2bed40ba3ae7b59c3cf3e03f2ad1bd7ff4c92aafb6370 SHA512 00125cbed9a20ba016cbb383c02ce61a58482dcf6c46144e573ee3759dbaf19b5f470eaf19038197d0ff4249c852773c537294bab30b5bf3f5bae4d754741517
25 +DIST dhcpcd-9.4.0.tar.xz 256440 BLAKE2B 16d63e957dbdf49647806ebe69487edc96502f43af8b8b6c6e40311994611d2516e2c839fed41863b8509a0953421091577d4cb202ebda3b300f3b1c761c07ce SHA512 e2cff86564062e8d5f9c8f48f245ffa31406494e2fafadedabc1ba9932b534cbda064783ffdd7fb337544459aba2ef7e9b49ad0973120897dc04159747e8635f
26
27 diff --git a/net-misc/dhcpcd/dhcpcd-9.4.0.ebuild b/net-misc/dhcpcd/dhcpcd-9.4.0.ebuild
28 new file mode 100644
29 index 00000000000..092c6e4a1dd
30 --- /dev/null
31 +++ b/net-misc/dhcpcd/dhcpcd-9.4.0.ebuild
32 @@ -0,0 +1,153 @@
33 +# Copyright 1999-2020 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +inherit systemd toolchain-funcs
39 +
40 +if [[ ${PV} == "9999" ]]; then
41 + inherit git-r3
42 + EGIT_REPO_URI="https://roy.marples.name/cgit/dhcpcd.git"
43 +else
44 + MY_P="${P/_alpha/-alpha}"
45 + MY_P="${MY_P/_beta/-beta}"
46 + MY_P="${MY_P/_rc/-rc}"
47 + SRC_URI="https://roy.marples.name/downloads/${PN}/${MY_P}.tar.xz"
48 + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
49 + S="${WORKDIR}/${MY_P}"
50 +fi
51 +
52 +DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
53 +HOMEPAGE="https://roy.marples.name/projects/dhcpcd"
54 +LICENSE="BSD-2"
55 +SLOT="0"
56 +IUSE="debug elibc_glibc +embedded ipv6 kernel_linux privsep +udev"
57 +
58 +COMMON_DEPEND="udev? ( virtual/udev )"
59 +DEPEND="${COMMON_DEPEND}"
60 +RDEPEND="
61 + ${COMMON_DEPEND}
62 + privsep? (
63 + acct-group/dhcpcd
64 + acct-user/dhcpcd
65 + )
66 +"
67 +
68 +src_configure() {
69 + local myeconfargs=(
70 + --dbdir="${EPREFIX}/var/lib/dhcpcd"
71 + --libexecdir="${EPREFIX}/lib/dhcpcd"
72 + --localstatedir="${EPREFIX}/var"
73 + --prefix="${EPREFIX}"
74 + --with-hook=ntp.conf
75 + $(use_enable debug)
76 + $(use_enable embedded)
77 + $(use_enable ipv6)
78 + $(use_enable privsep)
79 + $(usex elibc_glibc '--with-hook=yp.conf' '')
80 + --rundir=$(usex kernel_linux "${EPREFIX}/run/dhcpcd" "${EPREFIX}/var/run/dhcpcd")
81 + $(usex privsep '--privsepuser=dhcpcd' '')
82 + $(usex udev '' '--without-dev --without-udev')
83 + CC="$(tc-getCC)"
84 + )
85 + econf "${myeconfargs[@]}"
86 +}
87 +
88 +src_install() {
89 + default
90 + keepdir /var/lib/dhcpcd
91 + newinitd "${FILESDIR}"/dhcpcd.initd-r1 dhcpcd
92 + systemd_newunit "${FILESDIR}"/dhcpcd.service-r1 dhcpcd.service
93 +}
94 +
95 +pkg_postinst() {
96 + local dbdir="${EROOT}"/var/lib/dhcpcd old_files=()
97 +
98 + local old_old_duid="${EROOT}"/var/lib/dhcpcd/dhcpcd.duid
99 + local old_duid="${EROOT}"/etc/dhcpcd.duid
100 + local new_duid="${dbdir}"/duid
101 + if [[ -e "${old_old_duid}" ]] ; then
102 + # Upgrade the duid file to the new format if needed
103 + if ! grep -q '..:..:..:..:..:..' "${old_old_duid}"; then
104 + sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_old_duid}"
105 + fi
106 +
107 + # Move the duid to /etc, a more sensible location
108 + if [[ ! -e "${old_duid}" ]] ; then
109 + cp -p "${old_old_duid}" "${new_duid}"
110 + fi
111 + old_files+=( "${old_old_duid}" )
112 + fi
113 +
114 + # dhcpcd-7 moves the files out of /etc
115 + if [[ -e "${old_duid}" ]] ; then
116 + if [[ ! -e "${new_duid}" ]] ; then
117 + cp -p "${old_duid}" "${new_duid}"
118 + fi
119 + old_files+=( "${old_duid}" )
120 + fi
121 + local old_secret="${EROOT}"/etc/dhcpcd.secret
122 + local new_secret="${dbdir}"/secret
123 + if [[ -e "${old_secret}" ]] ; then
124 + if [[ ! -e "${new_secret}" ]] ; then
125 + cp -p "${old_secret}" "${new_secret}"
126 + fi
127 + old_files+=( "${old_secret}" )
128 + fi
129 +
130 + # dhcpcd-7 renames some files in /var/lib/dhcpcd
131 + local old_rdm="${dbdir}"/dhcpcd-rdm.monotonic
132 + local new_rdm="${dbdir}"/rdm_monotonic
133 + if [[ -e "${old_rdm}" ]] ; then
134 + if [[ ! -e "${new_rdm}" ]] ; then
135 + cp -p "${old_rdm}" "${new_rdm}"
136 + fi
137 + old_files+=( "${old_rdm}" )
138 + fi
139 + local lease=
140 + for lease in "${dbdir}"/dhcpcd-*.lease*; do
141 + [[ -f "${lease}" ]] || continue
142 + old_files+=( "${lease}" )
143 + local new_lease=$(basename "${lease}" | sed -e "s/dhcpcd-//")
144 + [[ -e "${dbdir}/${new_lease}" ]] && continue
145 + cp "${lease}" "${dbdir}/${new_lease}"
146 + done
147 +
148 + # Warn about removing stale files
149 + if [[ -n "${old_files[@]}" ]] ; then
150 + elog
151 + elog "dhcpcd-7 has copied dhcpcd.duid and dhcpcd.secret from"
152 + elog "${EROOT}/etc to ${dbdir}"
153 + elog "and copied leases in ${dbdir} to new files with the dhcpcd-"
154 + elog "prefix dropped."
155 + elog
156 + elog "You should remove these files if you don't plan on reverting"
157 + elog "to an older version:"
158 + local old_file=
159 + for old_file in ${old_files[@]}; do
160 + elog " ${old_file}"
161 + done
162 + fi
163 +
164 + if [ -z "${REPLACING_VERSIONS}" ]; then
165 + elog
166 + elog "dhcpcd has zeroconf support active by default."
167 + elog "This means it will always obtain an IP address even if no"
168 + elog "DHCP server can be contacted, which will break any existing"
169 + elog "failover support you may have configured in your net configuration."
170 + elog "This behaviour can be controlled with the noipv4ll configuration"
171 + elog "file option or the -L command line switch."
172 + elog "See the dhcpcd and dhcpcd.conf man pages for more details."
173 +
174 + elog
175 + elog "Dhcpcd has duid enabled by default, and this may cause issues"
176 + elog "with some dhcp servers. For more information, see"
177 + elog "https://bugs.gentoo.org/show_bug.cgi?id=477356"
178 + fi
179 +
180 + if ! has_version net-dns/bind-tools; then
181 + elog
182 + elog "If you activate the lookup-hostname hook to look up your hostname"
183 + elog "using the dns, you need to install net-dns/bind-tools."
184 + fi
185 +}