Gentoo Archives: gentoo-commits

From: Thomas Deutschmann <whissi@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/ca-certificates/
Date: Fri, 16 Apr 2021 11:35:05
Message-Id: 1618572843.aa2a5cc80f635cac9a5e3f0f47cbd2c5d902d317.whissi@gentoo
1 commit: aa2a5cc80f635cac9a5e3f0f47cbd2c5d902d317
2 Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
3 AuthorDate: Fri Apr 16 11:32:50 2021 +0000
4 Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
5 CommitDate: Fri Apr 16 11:34:03 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa2a5cc8
7
8 app-misc/ca-certificates: drop old
9
10 Package-Manager: Portage-3.0.18, Repoman-3.0.3
11 Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
12
13 app-misc/ca-certificates/Manifest | 5 -
14 .../ca-certificates-20200601.3.53.ebuild | 184 --------------------
15 .../ca-certificates-20200601.3.60.ebuild | 189 ---------------------
16 .../ca-certificates-20210119.3.62.ebuild | 189 ---------------------
17 4 files changed, 567 deletions(-)
18
19 diff --git a/app-misc/ca-certificates/Manifest b/app-misc/ca-certificates/Manifest
20 index c81c39163c3..97fbc29be05 100644
21 --- a/app-misc/ca-certificates/Manifest
22 +++ b/app-misc/ca-certificates/Manifest
23 @@ -1,8 +1,3 @@
24 -DIST ca-certificates_20200601.tar.xz 245668 BLAKE2B 1249782dba046f52832d365e4770e02ed24c0b50bff4ceec5e5af932c807eb8120f8e3bc7858503e74789ecb2da577509819f3ffdf9bd1ec5cc22d61f2194ad5 SHA512 7bfd3122430be0a46bd10dcb0e0664561d1e0b2656b9f37677d89f71a1dcb0e668c25ffe08412888125fa9a53ee8245a4b3fc1004c419a159766665b1241113c
25 DIST ca-certificates_20210119.tar.xz 232964 BLAKE2B 593352912d2b490e3f46ea032ac1ddf1c87a7ac93859d475461cbba490918cdec853b0bb30bb253a634d8d597ca6f0304bc81122b4b31b5b31fd6a80e1faaf33 SHA512 a824209fa0ff0865872a07d8e6b901d8407f599243810fd5c820e1f69226e05b0b4f1e25e5ff3d8d398ff952529084442f026e32220961f359f6323f6bf03373
26 -DIST nss-3.53.tar.gz 81178428 BLAKE2B 5e67b02bf0ba9390311d77ee4d7b86fd7339bd4f7d830b32563799e4eef126143f0b76b2933ad14c5c5d3da6cb3fa0e670aca7ce9654316123abadce25a728ec SHA512 280edf24356b764584200bff949af4a7f88514ee8ac80bf5348a9a844a8b1eb263e9aa1d772644bd8bb1bd195c12b6cc173280cfc88cd97e56562e1c40e71503
27 -DIST nss-3.60.tar.gz 82035831 BLAKE2B fffc0e26d58d4625be1b8b0123f248a0c7994b18868ece534ba4d60131dd4897d075d7b2dba672c31ccd333e0c18ea384e2aa2f495c23b5430d6d10b91922873 SHA512 6463b2da28b5d9f1f20d45f77a3179e2b93c874af5742c7fc51eb7c44cef93270acacf79174dc63905f227256cbcee23a36f98f1cfed10dd5c56ffc0a76e2695
28 -DIST nss-3.62.tar.gz 82159506 BLAKE2B 9abd7504766fb57214a16608a7299f8cf6d25c9a4e285665eabd812bce536ba244b698de31fd53796148f3856e4bee6c8a03ce5b6c5234a9337d7af8f300f007 SHA512 7044008ea8e5d6f658da96e202a896e24a1ffa29d7ca862f32ed37cfa09adf8c2d5fbc371e3af6bc5151b2d1216c38207976b41888d5ad8efd4dc3049cb5831d
29 DIST nss-3.64.tar.gz 82173054 BLAKE2B 4786a1ff6f4e47dbb6bfef6a2bc47ffeac51aa37f12168872d23799b8d6ca440578acf512e9ec7563ef64331d3fd84c387f17e41afa2ee30d8623c6f66207631 SHA512 0a85e1f64f97670f70596d8a479693939ca454025a4b3bbd557a54ed683ffed625c670fef6a6e3440365af9aa472384f84464942381b1c093659f6a6a222ba04
30 DIST nss-cacert-class1-class3-r1.patch 22503 BLAKE2B d2ba6b5c3675484dab5b6709478101a9dadc0baded3dbf891dcd04e5eb912079b87cdd17f893a0f539a2a53fb05357c6dd309fb624facac3b021c82c7424a91f SHA512 68906d2442986ad13ebf9cd97c26fac34af3efd5cfaacb3d7824adad966349ad796c9cec8dec44c46d5c571df88ce83aea02ce82e71da337aa4e1aeef58eda66
31 -DIST nss-cacert-class1-class3.patch 22950 BLAKE2B 9d5e60df5f161a3c27c41e5a9419440a54f888eda454e3cde5ebe626d4075b65cf9938b5144d0fb022377f4bd415bff5e5c67d104409860aa9391b3eb8872c68 SHA512 a5aa740bf110a3f0262e3f1ef2fc739ac2b44f042e220039d48aee8e97cd764d5c10718220364f4098aba955882bd02cadb5481512388971a8290312f88a7df0
32
33 diff --git a/app-misc/ca-certificates/ca-certificates-20200601.3.53.ebuild b/app-misc/ca-certificates/ca-certificates-20200601.3.53.ebuild
34 deleted file mode 100644
35 index 79e083a4e35..00000000000
36 --- a/app-misc/ca-certificates/ca-certificates-20200601.3.53.ebuild
37 +++ /dev/null
38 @@ -1,184 +0,0 @@
39 -# Copyright 1999-2021 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -# The Debian ca-certificates package merely takes the CA database as it exists
43 -# in the nss package and repackages it for use by openssl.
44 -#
45 -# The issue with using the compiled debs directly is two fold:
46 -# - they do not update frequently enough for us to rely on them
47 -# - they pull the CA database from nss tip of tree rather than the release
48 -#
49 -# So we take the Debian source tools and combine them with the latest nss
50 -# release to produce (largely) the same end result. The difference is that
51 -# now we know our cert database is kept in sync with nss and, if need be,
52 -# can be sync with nss tip of tree more frequently to respond to bugs.
53 -
54 -# When triaging user reports, refer to our wiki for tips:
55 -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues
56 -
57 -EAPI=6
58 -
59 -PYTHON_COMPAT=( python3_{7..9} )
60 -
61 -inherit python-any-r1
62 -
63 -if [[ ${PV} == *.* ]] ; then
64 - # Compile from source ourselves.
65 - PRECOMPILED=false
66 - inherit eapi7-ver
67 -
68 - DEB_VER=$(ver_cut 1)
69 - NSS_VER=$(ver_cut 2-)
70 - RTM_NAME="NSS_${NSS_VER//./_}_RTM"
71 -else
72 - # Debian precompiled version.
73 - PRECOMPILED=true
74 - inherit unpacker
75 -fi
76 -
77 -DESCRIPTION="Common CA Certificates PEM files"
78 -HOMEPAGE="https://packages.debian.org/sid/ca-certificates"
79 -NMU_PR=""
80 -if ${PRECOMPILED} ; then
81 - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb"
82 -else
83 - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz
84 - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz
85 - cacert? (
86 - https://dev.gentoo.org/~axs/distfiles/nss-cacert-class1-class3.patch
87 - )"
88 -fi
89 -
90 -LICENSE="MPL-1.1"
91 -SLOT="0"
92 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
93 -IUSE=""
94 -${PRECOMPILED} || IUSE+=" cacert"
95 -
96 -DEPEND=""
97 -if ${PRECOMPILED} ; then
98 - DEPEND+=" !<sys-apps/portage-2.1.10.41"
99 -fi
100 -# c_rehash: we run `c_rehash`
101 -# debianutils: we run `run-parts`
102 -RDEPEND="${DEPEND}
103 - app-misc/c_rehash
104 - sys-apps/debianutils"
105 -
106 -if ! ${PRECOMPILED}; then
107 - DEPEND+=" ${PYTHON_DEPS}"
108 -fi
109 -
110 -S=${WORKDIR}
111 -
112 -pkg_setup() {
113 - # For the conversion to having it in CONFIG_PROTECT_MASK,
114 - # we need to tell users about it once manually first.
115 - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \
116 - || ewarn "You should run update-ca-certificates manually after etc-update"
117 -}
118 -
119 -src_unpack() {
120 - if ! ${PRECOMPILED}; then
121 - default
122 - # Initial 20200601 deb release had bad naming inside the debian source tarball.
123 - DEB_S="${WORKDIR}/${PN}-${DEB_VER}"
124 - DEB_BAD_S="${WORKDIR}/work"
125 - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]]; then
126 - mv "${DEB_BAD_S}" "${DEB_S}"
127 - fi
128 - fi
129 -
130 - # Do all the work in the image subdir to avoid conflicting with source
131 - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937
132 - mkdir -p "image/${EPREFIX}" || die
133 - cd "image/${EPREFIX}" || die
134 -
135 - ${PRECOMPILED} && unpacker_src_unpack
136 -}
137 -
138 -src_prepare() {
139 - cd "image/${EPREFIX}" || die
140 - if ! ${PRECOMPILED} ; then
141 - mkdir -p usr/sbin || die
142 - cp -p "${S}"/${PN}-${DEB_VER}/sbin/update-ca-certificates \
143 - usr/sbin/ || die
144 -
145 - if use cacert ; then
146 - pushd "${S}"/nss-${NSS_VER} >/dev/null || die
147 - eapply -p0 "${DISTDIR}"/nss-cacert-class1-class3.patch
148 - popd >/dev/null || die
149 - fi
150 - fi
151 -
152 - default
153 - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch
154 - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g')
155 - sed -i \
156 - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \
157 - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \
158 - -e 's/openssl rehash/c_rehash/' \
159 - usr/sbin/update-ca-certificates || die
160 -}
161 -
162 -src_compile() {
163 - cd "image/${EPREFIX}" || die
164 - if ! ${PRECOMPILED} ; then
165 - python_setup
166 - local d="${S}/${PN}-${DEB_VER}/mozilla" c="usr/share/${PN}"
167 - # Grab the database from the nss sources.
168 - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die
169 - emake -C "${d}"
170 -
171 - # Now move the files to the same places that the precompiled would.
172 - mkdir -p etc/ssl/certs \
173 - etc/ca-certificates/update.d \
174 - "${c}"/mozilla \
175 - || die
176 - if use cacert ; then
177 - mkdir -p "${c}"/cacert.org || die
178 - mv "${d}"/CAcert_Inc..crt \
179 - "${c}"/cacert.org/cacert.org_root.crt || die
180 - fi
181 - mv "${d}"/*.crt "${c}"/mozilla/ || die
182 - else
183 - mv usr/share/doc/{ca-certificates,${PF}} || die
184 - fi
185 -
186 - (
187 - echo "# Automatically generated by ${CATEGORY}/${PF}"
188 - echo "# $(date -u)"
189 - echo "# Do not edit."
190 - cd "${c}" || die
191 - find * -name '*.crt' | LC_ALL=C sort
192 - ) > etc/ca-certificates.conf
193 -
194 - sh usr/sbin/update-ca-certificates --root "${S}/image" || die
195 -}
196 -
197 -src_install() {
198 - cp -pPR image/* "${D}"/ || die
199 - if ! ${PRECOMPILED} ; then
200 - cd ${PN}-${DEB_VER} || die
201 - doman sbin/*.8
202 - dodoc debian/README.* examples/ca-certificates-local/README
203 - fi
204 -
205 - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates
206 - doenvd 98ca-certificates
207 -}
208 -
209 -pkg_postinst() {
210 - if [[ -d "${EROOT%/}/usr/local/share/ca-certificates" ]] ; then
211 - # if the user has local certs, we need to rebuild again
212 - # to include their stuff in the db.
213 - # However it's too overzealous when the user has custom certs in place.
214 - # --fresh is to clean up dangling symlinks
215 - "${EROOT%/}"/usr/sbin/update-ca-certificates --root "${ROOT}"
216 - fi
217 -
218 - if [[ -n "$(find -L "${EROOT%/}"/etc/ssl/certs/ -type l)" ]] ; then
219 - ewarn "Removing the following broken symlinks:"
220 - ewarn "$(find -L "${EROOT%/}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)"
221 - fi
222 -}
223
224 diff --git a/app-misc/ca-certificates/ca-certificates-20200601.3.60.ebuild b/app-misc/ca-certificates/ca-certificates-20200601.3.60.ebuild
225 deleted file mode 100644
226 index 2f777c592fc..00000000000
227 --- a/app-misc/ca-certificates/ca-certificates-20200601.3.60.ebuild
228 +++ /dev/null
229 @@ -1,189 +0,0 @@
230 -# Copyright 1999-2021 Gentoo Authors
231 -# Distributed under the terms of the GNU General Public License v2
232 -
233 -# The Debian ca-certificates package merely takes the CA database as it exists
234 -# in the nss package and repackages it for use by openssl.
235 -#
236 -# The issue with using the compiled debs directly is two fold:
237 -# - they do not update frequently enough for us to rely on them
238 -# - they pull the CA database from nss tip of tree rather than the release
239 -#
240 -# So we take the Debian source tools and combine them with the latest nss
241 -# release to produce (largely) the same end result. The difference is that
242 -# now we know our cert database is kept in sync with nss and, if need be,
243 -# can be sync with nss tip of tree more frequently to respond to bugs.
244 -
245 -# When triaging user reports, refer to our wiki for tips:
246 -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues
247 -
248 -EAPI=7
249 -
250 -PYTHON_COMPAT=( python3_{7..9} )
251 -
252 -inherit python-any-r1
253 -
254 -if [[ ${PV} == *.* ]] ; then
255 - # Compile from source ourselves.
256 - PRECOMPILED=false
257 -
258 - DEB_VER=$(ver_cut 1)
259 - NSS_VER=$(ver_cut 2-)
260 - RTM_NAME="NSS_${NSS_VER//./_}_RTM"
261 -else
262 - # Debian precompiled version.
263 - PRECOMPILED=true
264 - inherit unpacker
265 -fi
266 -
267 -DESCRIPTION="Common CA Certificates PEM files"
268 -HOMEPAGE="https://packages.debian.org/sid/ca-certificates"
269 -NMU_PR=""
270 -if ${PRECOMPILED} ; then
271 - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb"
272 -else
273 - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz
274 - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz
275 - cacert? (
276 - https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r1.patch
277 - )"
278 -fi
279 -
280 -LICENSE="MPL-1.1"
281 -SLOT="0"
282 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
283 -IUSE=""
284 -${PRECOMPILED} || IUSE+=" cacert"
285 -
286 -# c_rehash: we run `c_rehash`
287 -# debianutils: we run `run-parts`
288 -CDEPEND="app-misc/c_rehash
289 - sys-apps/debianutils"
290 -
291 -BDEPEND="${CDEPEND}"
292 -if ! ${PRECOMPILED} ; then
293 - BDEPEND+=" ${PYTHON_DEPS}"
294 -fi
295 -
296 -DEPEND=""
297 -if ${PRECOMPILED} ; then
298 - DEPEND+=" !<sys-apps/portage-2.1.10.41"
299 -fi
300 -
301 -RDEPEND="${CDEPEND}
302 - ${DEPEND}"
303 -
304 -S=${WORKDIR}
305 -
306 -pkg_setup() {
307 - # For the conversion to having it in CONFIG_PROTECT_MASK,
308 - # we need to tell users about it once manually first.
309 - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \
310 - || ewarn "You should run update-ca-certificates manually after etc-update"
311 -}
312 -
313 -src_unpack() {
314 - if ! ${PRECOMPILED} ; then
315 - default
316 - # Initial 20200601 deb release had bad naming inside the debian source tarball.
317 - DEB_S="${WORKDIR}/${PN}-${DEB_VER}"
318 - DEB_BAD_S="${WORKDIR}/work"
319 - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then
320 - mv "${DEB_BAD_S}" "${DEB_S}"
321 - fi
322 - fi
323 -
324 - # Do all the work in the image subdir to avoid conflicting with source
325 - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937
326 - mkdir -p "image/${EPREFIX}" || die
327 - cd "image/${EPREFIX}" || die
328 -
329 - ${PRECOMPILED} && unpacker_src_unpack
330 -}
331 -
332 -src_prepare() {
333 - cd "image/${EPREFIX}" || die
334 - if ! ${PRECOMPILED} ; then
335 - mkdir -p usr/sbin || die
336 - cp -p "${S}"/${PN}-${DEB_VER}/sbin/update-ca-certificates \
337 - usr/sbin/ || die
338 -
339 - if use cacert ; then
340 - pushd "${S}"/nss-${NSS_VER} >/dev/null || die
341 - eapply "${DISTDIR}"/nss-cacert-class1-class3-r1.patch
342 - popd >/dev/null || die
343 - fi
344 - fi
345 -
346 - default
347 - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch
348 - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g')
349 - sed -i \
350 - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \
351 - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \
352 - -e 's/openssl rehash/c_rehash/' \
353 - usr/sbin/update-ca-certificates || die
354 -}
355 -
356 -src_compile() {
357 - cd "image/${EPREFIX}" || die
358 - if ! ${PRECOMPILED} ; then
359 - python_setup
360 - local d="${S}/${PN}-${DEB_VER}/mozilla" c="usr/share/${PN}"
361 - # Grab the database from the nss sources.
362 - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die
363 - emake -C "${d}"
364 -
365 - # Now move the files to the same places that the precompiled would.
366 - mkdir -p etc/ssl/certs \
367 - etc/ca-certificates/update.d \
368 - "${c}"/mozilla \
369 - || die
370 - if use cacert ; then
371 - mkdir -p "${c}"/cacert.org || die
372 - mv "${d}"/CA_Cert_Signing_Authority.crt \
373 - "${c}"/cacert.org/cacert.org_class1.crt || die
374 - mv "${d}"/CAcert_Class_3_Root.crt \
375 - "${c}"/cacert.org/cacert.org_class3.crt || die
376 - fi
377 - mv "${d}"/*.crt "${c}"/mozilla/ || die
378 - else
379 - mv usr/share/doc/{ca-certificates,${PF}} || die
380 - fi
381 -
382 - (
383 - echo "# Automatically generated by ${CATEGORY}/${PF}"
384 - echo "# $(date -u)"
385 - echo "# Do not edit."
386 - cd "${c}" || die
387 - find * -name '*.crt' | LC_ALL=C sort
388 - ) > etc/ca-certificates.conf
389 -
390 - sh usr/sbin/update-ca-certificates --root "${S}/image" || die
391 -}
392 -
393 -src_install() {
394 - cp -pPR image/* "${D}"/ || die
395 - if ! ${PRECOMPILED} ; then
396 - cd ${PN}-${DEB_VER} || die
397 - doman sbin/*.8
398 - dodoc debian/README.* examples/ca-certificates-local/README
399 - fi
400 -
401 - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates
402 - doenvd 98ca-certificates
403 -}
404 -
405 -pkg_postinst() {
406 - if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then
407 - # if the user has local certs, we need to rebuild again
408 - # to include their stuff in the db.
409 - # However it's too overzealous when the user has custom certs in place.
410 - # --fresh is to clean up dangling symlinks
411 - "${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}"
412 - fi
413 -
414 - if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then
415 - ewarn "Removing the following broken symlinks:"
416 - ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)"
417 - fi
418 -}
419
420 diff --git a/app-misc/ca-certificates/ca-certificates-20210119.3.62.ebuild b/app-misc/ca-certificates/ca-certificates-20210119.3.62.ebuild
421 deleted file mode 100644
422 index 267df1da9cc..00000000000
423 --- a/app-misc/ca-certificates/ca-certificates-20210119.3.62.ebuild
424 +++ /dev/null
425 @@ -1,189 +0,0 @@
426 -# Copyright 1999-2021 Gentoo Authors
427 -# Distributed under the terms of the GNU General Public License v2
428 -
429 -# The Debian ca-certificates package merely takes the CA database as it exists
430 -# in the nss package and repackages it for use by openssl.
431 -#
432 -# The issue with using the compiled debs directly is two fold:
433 -# - they do not update frequently enough for us to rely on them
434 -# - they pull the CA database from nss tip of tree rather than the release
435 -#
436 -# So we take the Debian source tools and combine them with the latest nss
437 -# release to produce (largely) the same end result. The difference is that
438 -# now we know our cert database is kept in sync with nss and, if need be,
439 -# can be sync with nss tip of tree more frequently to respond to bugs.
440 -
441 -# When triaging user reports, refer to our wiki for tips:
442 -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues
443 -
444 -EAPI=7
445 -
446 -PYTHON_COMPAT=( python3_{7..9} )
447 -
448 -inherit python-any-r1
449 -
450 -if [[ ${PV} == *.* ]] ; then
451 - # Compile from source ourselves.
452 - PRECOMPILED=false
453 -
454 - DEB_VER=$(ver_cut 1)
455 - NSS_VER=$(ver_cut 2-)
456 - RTM_NAME="NSS_${NSS_VER//./_}_RTM"
457 -else
458 - # Debian precompiled version.
459 - PRECOMPILED=true
460 - inherit unpacker
461 -fi
462 -
463 -DESCRIPTION="Common CA Certificates PEM files"
464 -HOMEPAGE="https://packages.debian.org/sid/ca-certificates"
465 -NMU_PR=""
466 -if ${PRECOMPILED} ; then
467 - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb"
468 -else
469 - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz
470 - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz
471 - cacert? (
472 - https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r1.patch
473 - )"
474 -fi
475 -
476 -LICENSE="MPL-1.1"
477 -SLOT="0"
478 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
479 -IUSE=""
480 -${PRECOMPILED} || IUSE+=" cacert"
481 -
482 -# c_rehash: we run `c_rehash`
483 -# debianutils: we run `run-parts`
484 -CDEPEND="app-misc/c_rehash
485 - sys-apps/debianutils"
486 -
487 -BDEPEND="${CDEPEND}"
488 -if ! ${PRECOMPILED} ; then
489 - BDEPEND+=" ${PYTHON_DEPS}"
490 -fi
491 -
492 -DEPEND=""
493 -if ${PRECOMPILED} ; then
494 - DEPEND+=" !<sys-apps/portage-2.1.10.41"
495 -fi
496 -
497 -RDEPEND="${CDEPEND}
498 - ${DEPEND}"
499 -
500 -S=${WORKDIR}
501 -
502 -pkg_setup() {
503 - # For the conversion to having it in CONFIG_PROTECT_MASK,
504 - # we need to tell users about it once manually first.
505 - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \
506 - || ewarn "You should run update-ca-certificates manually after etc-update"
507 -}
508 -
509 -src_unpack() {
510 - if ! ${PRECOMPILED} ; then
511 - default
512 - # Initial 20200601 deb release had bad naming inside the debian source tarball.
513 - DEB_S="${WORKDIR}/${PN}-${DEB_VER}"
514 - DEB_BAD_S="${WORKDIR}/work"
515 - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then
516 - mv "${DEB_BAD_S}" "${DEB_S}"
517 - fi
518 - fi
519 -
520 - # Do all the work in the image subdir to avoid conflicting with source
521 - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937
522 - mkdir -p "image/${EPREFIX}" || die
523 - cd "image/${EPREFIX}" || die
524 -
525 - ${PRECOMPILED} && unpacker_src_unpack
526 -}
527 -
528 -src_prepare() {
529 - cd "image/${EPREFIX}" || die
530 - if ! ${PRECOMPILED} ; then
531 - mkdir -p usr/sbin || die
532 - cp -p "${S}"/${PN}-${DEB_VER}/sbin/update-ca-certificates \
533 - usr/sbin/ || die
534 -
535 - if use cacert ; then
536 - pushd "${S}"/nss-${NSS_VER} >/dev/null || die
537 - eapply "${DISTDIR}"/nss-cacert-class1-class3-r1.patch
538 - popd >/dev/null || die
539 - fi
540 - fi
541 -
542 - default
543 - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch
544 - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g')
545 - sed -i \
546 - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \
547 - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \
548 - -e 's/openssl rehash/c_rehash/' \
549 - usr/sbin/update-ca-certificates || die
550 -}
551 -
552 -src_compile() {
553 - cd "image/${EPREFIX}" || die
554 - if ! ${PRECOMPILED} ; then
555 - python_setup
556 - local d="${S}/${PN}-${DEB_VER}/mozilla" c="usr/share/${PN}"
557 - # Grab the database from the nss sources.
558 - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die
559 - emake -C "${d}"
560 -
561 - # Now move the files to the same places that the precompiled would.
562 - mkdir -p etc/ssl/certs \
563 - etc/ca-certificates/update.d \
564 - "${c}"/mozilla \
565 - || die
566 - if use cacert ; then
567 - mkdir -p "${c}"/cacert.org || die
568 - mv "${d}"/CA_Cert_Signing_Authority.crt \
569 - "${c}"/cacert.org/cacert.org_class1.crt || die
570 - mv "${d}"/CAcert_Class_3_Root.crt \
571 - "${c}"/cacert.org/cacert.org_class3.crt || die
572 - fi
573 - mv "${d}"/*.crt "${c}"/mozilla/ || die
574 - else
575 - mv usr/share/doc/{ca-certificates,${PF}} || die
576 - fi
577 -
578 - (
579 - echo "# Automatically generated by ${CATEGORY}/${PF}"
580 - echo "# $(date -u)"
581 - echo "# Do not edit."
582 - cd "${c}" || die
583 - find * -name '*.crt' | LC_ALL=C sort
584 - ) > etc/ca-certificates.conf
585 -
586 - sh usr/sbin/update-ca-certificates --root "${S}/image" || die
587 -}
588 -
589 -src_install() {
590 - cp -pPR image/* "${D}"/ || die
591 - if ! ${PRECOMPILED} ; then
592 - cd ${PN}-${DEB_VER} || die
593 - doman sbin/*.8
594 - dodoc debian/README.* examples/ca-certificates-local/README
595 - fi
596 -
597 - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates
598 - doenvd 98ca-certificates
599 -}
600 -
601 -pkg_postinst() {
602 - if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then
603 - # if the user has local certs, we need to rebuild again
604 - # to include their stuff in the db.
605 - # However it's too overzealous when the user has custom certs in place.
606 - # --fresh is to clean up dangling symlinks
607 - "${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}"
608 - fi
609 -
610 - if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then
611 - ewarn "Removing the following broken symlinks:"
612 - ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)"
613 - fi
614 -}