diff options
Diffstat (limited to 'app-misc/ca-certificates')
-rw-r--r-- | app-misc/ca-certificates/Manifest | 18 | ||||
-rw-r--r-- | app-misc/ca-certificates/ca-certificates-20211016.3.88.1.ebuild | 201 | ||||
-rw-r--r-- | app-misc/ca-certificates/ca-certificates-20230311.3.89.1.ebuild | 205 | ||||
-rw-r--r-- | app-misc/ca-certificates/ca-certificates-20230311.3.90.ebuild | 205 | ||||
-rw-r--r-- | app-misc/ca-certificates/ca-certificates-20230311.3.93.ebuild | 205 | ||||
-rw-r--r-- | app-misc/ca-certificates/ca-certificates-20230311.3.95.ebuild | 205 | ||||
-rw-r--r-- | app-misc/ca-certificates/ca-certificates-20240203.3.98.ebuild (renamed from app-misc/ca-certificates/ca-certificates-20230311.3.89.ebuild) | 24 | ||||
-rw-r--r-- | app-misc/ca-certificates/files/ca-certificates-20211016.3.72-no-cryptography.patch | 27 | ||||
-rw-r--r-- | app-misc/ca-certificates/files/ca-certificates-20240203.3.98-update-ca-certificates-drop-pointless-dependency.patch | 45 |
9 files changed, 59 insertions, 1076 deletions
diff --git a/app-misc/ca-certificates/Manifest b/app-misc/ca-certificates/Manifest index 42c7b571b0dc..d96716bc091b 100644 --- a/app-misc/ca-certificates/Manifest +++ b/app-misc/ca-certificates/Manifest @@ -1,25 +1,15 @@ AUX 0001-update-ca-certificates-drop-pointless-dependency-on-.patch 1961 BLAKE2B a77e806aa11b6e7f2727e8505c87c57d3c7d2b314552bc90a357c57225c16f34a1061835efe96626ee6e110a4afa10255e5a0a88efa3169e98ca282934c2ad19 SHA512 f949254a5e5b28aa62074dcdc5e340de228abbe0b7c010e243c0f0526b846c5d0ccd06234bacd2c89d6953bf8f4a5d0307adc720e3d65591bd3ab8f6551a9f06 AUX ca-certificates-20150426-root.patch 1336 BLAKE2B f52a2ab1f84a18e447b37905f2d4fc6a8b59b9931db387e9045167973a0bb98ee11164ccbc13c7ea7fb545fab45a8112df5806a5a13d2b77abf682eec1390a15 SHA512 4e68e6068921e9ed54bda68af422a491cb530b60ffbb85fe1986a403cd9023522c179b5afcf65e22c223a665163d1c2d1993322d652053b72e3fe07efe692d59 -AUX ca-certificates-20211016.3.72-no-cryptography.patch 824 BLAKE2B fb71347a7763e15f5a3fc3d63513346afcd0e74d7b01fb2e107d874eb314608fa5e2823826bf7adfc0bac83396a0828a8ad9eb680cad6f2034a32280f85e7e4e SHA512 b132682f54451c0a17073135c96153bb0de97496c9c5b1f3c5fe019a2dccf6497e7a88322b2fccec3fb7252100d1c2a9bd9e4e124d8774c6fd369ada0d600c9a AUX ca-certificates-20230311.3.89-no-cryptography.patch 866 BLAKE2B 3ab0ef5d1405c9872eb0b09db697475183d5ee73a33a4196e7c9d8b334724f52e92fb4a4ab0c3ae5c0768274f4f46092a543d7865cc7718c3bf86ac6cd4b2de1 SHA512 4a38362d0577ea1a9f9a5dab02a89ebf8abd7caae0e33f1a6baeb36371eaa8a71cca2ef2543c10f35740efdff53b8089e4cd82031748850338b77755188226a8 -DIST ca-certificates_20211016.tar.xz 239608 BLAKE2B 9b4730b54fd9f472fe4e5427bf912d9a61d10d2c289d1e443b54cca469fa87f9e02b8f67e7e087aceceffc7dd2b4043cdb5380e2652bc619d51f3a224c64f717 SHA512 bedf072c8aa1b05b249ea272f5cecfe16bdcd762c02c712323f12ac7a278e8814453f5f3caad86a2581e451788b292ed3a76a6a81620926459bb890133cffde1 +AUX ca-certificates-20240203.3.98-update-ca-certificates-drop-pointless-dependency.patch 1952 BLAKE2B 7b1e055d67e3e03fb74831b540fb817b1edbd3f1e37e95fe03f6bf1bbfb76902560a7b30ccd6ea99c1442ac3871c6f7fa32d1cbcdd0bee47aed87cc2fa76716a SHA512 52142d99a01323272f51fd817054490bb2d1b5695de9908542b8007fb728af687bcdf0dc953cfdbb2d4935123c36b123530ba844e81f6375566f0621bf95163c DIST ca-certificates_20230311.tar.xz 257772 BLAKE2B b807a6415126afdc11896efea8e6509d7ad58b26bc8562b276e93176e80bb8b467a5bd2ba948d3dbbeaf0e4477d93f3ea2b99d3186e856fb47d1033cb779d560 SHA512 00571bdc87897813fd7dbe024f3a186cfc9f0d4f55e92545a90888c9e5282f99cb8d75b5932c034731b911bf27a9b38fd7d062dd511eb1152acf8b2811490fa7 -DIST nss-3.88.1.tar.gz 71607211 BLAKE2B ff84d3153a01519a52e83be5327453d8e6a81e1f62ccd69906b549fe42ec5ebf075b403395a67bc75f3c7f7dd33ef49f3b1f33558652ff75ee87e2970b2e06a4 SHA512 d15289803a4c3caa1b7a8872b761a95b4f571688c8b8ffaf2a1478e032a356fbcf8a9239ebe1777561503329f63dd237384e1d8af9ca70fb48b40e70954b455a -DIST nss-3.89.1.tar.gz 71624456 BLAKE2B fca6e09375ba2ce4a6f0bf189cabb9cdb1ba7cb5ebc1a49d47a2d6b509936a60d7f1867f71cdcfa6a81c0cbbf298513981a9b16ac23bbc464c7004bb40b830b4 SHA512 aeece4e8bc28113fc53997b29c89d40b4be74fee4f5d27c4e065d2fa6701038442f4eeeb1fcf98befedb03537a5a48a4701fe270f56197da57946529f9fa02dd -DIST nss-3.89.tar.gz 71617802 BLAKE2B 92428a635167f311b258411420c8073fafdbadef5b1fc4ff8400e41834fc67a03f2151265d5bbfb64ae53b9a8acb29750352f6c2c83d1cd9a2f89a2139ad34c9 SHA512 1db06d4575f2c16d2a0629007981211e714f99c014c0a6256dd33d0caf8c809ba8d5be204d018f9d1cc99b9fcd055ac1fb99b399486ed43c9cf3f55f2747de82 -DIST nss-3.90.tar.gz 72211928 BLAKE2B 9518bed4f8ca5f9dd1c3d15e255f9954fabc30762ff6db7e45ab54fd0d7d7a34e2c021ecc76b5dcac97c571914e9af116a8c1361a5f2f055a31db168518a99a7 SHA512 e41f4de73f4971c8f35dffe3926b6845ef12a1ce7e8f3fe682e643ddb791a009d079c1706f66d065333af884726840dbc96d4e44762f9c3e48b8d919c09ae625 -DIST nss-3.93.tar.gz 72281331 BLAKE2B 99e50f450a451f2b0bc0aad9b0fba405c987d88546d4aad6c490cb43dc274f23eb99d03d5fa8cf7ef16585abebfdae942fe1092d3f1c86816ba35e16ed3d490f SHA512 d96f13a70e825b39efadfe7c973c24c1e5ad43319bd813599010383e2b8434181f53489672f68fe79e2cb0c4d4ea0088499e588c3524eccf9298aafc57b94951 -DIST nss-3.95.tar.gz 76571130 BLAKE2B 9d40b09c0c58901781abfad609dd45f44c2f4d1ce9d4f1592748cb64a9eb29b1ac84be54ebb19fa528d8b9fd08911f769a80f72d9e6dbb22e82e5b3581a30af1 SHA512 54567c063fc72bf1a29898bc8cc405e54aa086269021d864b10a3640e6b4ae0d632834db87766257fdb43740d9bc71e362d69cfe6924f5c72a6e1a99a91f8c3a +DIST ca-certificates_20240203.tar.xz 263276 BLAKE2B 44d22aa91fe589e2ae67cb32c6594f1252e99d4460969bf7c925e7047178168c8881c2c93d6c63171059239e34aeea73b95f135f6b60a4e2fa61caa1ddfa3c44 SHA512 e9d7b5283c2be9425d18eb4a9b54b1fa54db0b9d1bdb28f9c6db7f8b2e03fd93442ac973f9b024b7a148d71ac2789edbc1207c2048ce4be589eb1a5376640670 DIST nss-3.96.1.tar.gz 76715092 BLAKE2B 2a9ea65dd89cba82ea10a57887b10109369af81d4c2911c54cfd081a661498ad7f56ad419092539caaa16341045edcc50f5a3c74d87d66094dacbc91226a9d1c SHA512 fe8baefa767b711a108aafdb496a45d15d2296c3bdd0b1e4389c49197d1cf5365872ee41c23b6823285803887c74538d13347af87d64750551e9cbc87a9cb338 DIST nss-3.97.tar.gz 76664827 BLAKE2B ede68cf0269edd8ffbe1e90682fb51c202d6298f8bfa5ebbd81e12785e29e6a6611ef3f0feceee73bea4d25ae12f251225649a73d249fdd90af179e07e39f3f6 SHA512 1ad6ac6ff626dc187f42b313c1088ef4b4ac0ee3e156d37824c36e778faa977e8f132302ac00d74aa8f9903e791a0fee6cecb5244d2601e0825cc125b6f33d6a +DIST nss-3.98.tar.gz 76685475 BLAKE2B d382cc65e450b5b7d6b152952a8188822eab5fdbaa0faeefc3f98ef5aa70ed7534abcb7114aaa25c1e49f89dcda7cf75d85957d1a8e5ff964599362757138cb4 SHA512 4f335c5c284eff6424745cc15e32037715a915f6f61687ec36a8ffaef0e45d152602a1be275bbb2f14650c7d258d6488430cdcf512b18ba7cb73cd43ac625681 DIST nss-cacert-class1-class3-r2.patch 21925 BLAKE2B 7627ff9a09f084c19d72d0490676865e3cab3ca7c920ae1ce4bea2db664f37fd0aa84fcda919809a516891ab2a62e2e7a43a9d6ada4c231adfe4c216525fac7d SHA512 1ce6ff9ab310aaca9005eafb461338b291df8523cc7044e096cd75774ce746c26eed19ec6bb2643c6c67f94650f2f309463492d80a90568f38ce2557f8ada2f4 -EBUILD ca-certificates-20211016.3.88.1.ebuild 5930 BLAKE2B d96c7b080651db27c64c822224e4101ee5ce8af81e6090a377f2fec34b4ce0a78eee89a49f9ebe121687aceb0423d62a93ff2c9fe472e28e358ac314ea06b5d9 SHA512 93672c1b7c7c5e2943ccb6f3d3431135f5951a4feb8b7988c94fbcd2de595f323e46ce83ec39e84c5da53a90c86378ec486344cbaa8e576428135e2bd2f2468a -EBUILD ca-certificates-20230311.3.89.1.ebuild 6043 BLAKE2B 074e2370013aa82fe074d02734789429d2a5306b6d84411d5efd8c86d29a27ee3ce71ad4be7479b742c9468c12c2b50a45169adf7da13546d4d18948f78cfef4 SHA512 0cf274f1efc7c2e0db731f1f116bb440b8e9a701a2d2836548b6ec5a86ef15bbb7fc3999cc0ee6e7df554b9ce04d28e007d1e65d8ba7f64d92d4c29f7edbdba3 -EBUILD ca-certificates-20230311.3.89.ebuild 6051 BLAKE2B e4eb58350219fa8cb1c851d5d0f7b74f989e29089ed6a72771036e022b393e0e149ee27f22563a209645233c62abf291c91986d5195e58635c8ede0becc981b9 SHA512 0df61de89c58c934e1407fd1fef4de95b28945e4ea2597fdabce94cf2d901c62a80cae6332ae45a6e9dd5b2ae13dfe3dd666c51622756d28ab3b33cb78638394 -EBUILD ca-certificates-20230311.3.90.ebuild 6044 BLAKE2B 562bcbd292e2293957a83d02433c8e5ac306071fb06662040ebd6de5caa6a63bc50b65f7801f26891e4690cdc5f79c704d20177583d554c99fa2271b2e927afb SHA512 1951078e7afc99f5ba32725e7350b9f1f855d02a1a467d3703bbfc116b10d08e99f16bfc9e7836fdd50ee1b9df94c66e0a9fc03b4d22bd99e18e2ae04a6c898c -EBUILD ca-certificates-20230311.3.93.ebuild 6044 BLAKE2B 589123e7ca56bf4b4e71b96e7cb42b9f0c5e0bb194bfa9886e4e1bbff03a964cf981fca91dcb6c3c35616c9b7c50771227485725b91e2b8019064845a5d69b04 SHA512 ad9ec1708be7f4beb0391a62b87819596809a44c6f579d5c701e98055dec3d18bdad79e53d1e3154937bce7c11bc08e3a64617e294d1f48a026d24081e7f822a -EBUILD ca-certificates-20230311.3.95.ebuild 6044 BLAKE2B 589123e7ca56bf4b4e71b96e7cb42b9f0c5e0bb194bfa9886e4e1bbff03a964cf981fca91dcb6c3c35616c9b7c50771227485725b91e2b8019064845a5d69b04 SHA512 ad9ec1708be7f4beb0391a62b87819596809a44c6f579d5c701e98055dec3d18bdad79e53d1e3154937bce7c11bc08e3a64617e294d1f48a026d24081e7f822a EBUILD ca-certificates-20230311.3.96.1-r2.ebuild 6044 BLAKE2B ec7c3ef6a11b3ac4747340e61bc43114c5fa11158ef5251e1a1436b497f02cdd8898935f0ce13b759180f11928e9b028ec24f084d9f6b8eb0f7ac6837cb9fcc8 SHA512 675fcab32bdfa07fc7978db99cc1204577c1084733cfba66bf104b0f1f2f67e197ce5e971fbebe7481413c6390199b8f9c5c35a2bebb20d465c2d4c3965c7e90 EBUILD ca-certificates-20230311.3.96.1.ebuild 6044 BLAKE2B 589123e7ca56bf4b4e71b96e7cb42b9f0c5e0bb194bfa9886e4e1bbff03a964cf981fca91dcb6c3c35616c9b7c50771227485725b91e2b8019064845a5d69b04 SHA512 ad9ec1708be7f4beb0391a62b87819596809a44c6f579d5c701e98055dec3d18bdad79e53d1e3154937bce7c11bc08e3a64617e294d1f48a026d24081e7f822a EBUILD ca-certificates-20230311.3.97.ebuild 6041 BLAKE2B c654a7a12d48bcb0228437b5ed46d0649bb804f1ca52311747e9b0fa8683843f3913d92753ae31c667238d26da82406953b60b5f6339d4af00e9fe7c8af7c8d0 SHA512 30d78c52927d9ceb99f9b937c29af917653b4f77020dc381495ccf21d2cff1e7e47484c3557a3814556ad835680de9f55cbb8369fa9d78240fca0c499a2c845c +EBUILD ca-certificates-20240203.3.98.ebuild 6052 BLAKE2B 337cba7ebb6df4c2011226d93d6067061322297cddea6d0d7c0c0477f28d2c5a1e4d1da0cddef87ef13117b712edbbdf702398735711ae09953d0991c8bec04c SHA512 84832cc2a26b15789036e1e59637b25726ea9826f30c98122e51807e1b48c89d9548552d0e2ac82c9e63cba51e2f840b45df63f50cc9795dbb653738749381e4 MISC metadata.xml 373 BLAKE2B 578ac9cb9ac73fc04e06667e896227927d5438e5c1ef3eae1966e8d01a8dd915669b8c81418f6558b4b5d561473111e50f9d94d4b50f1f03355130c9d9be61f0 SHA512 56216f969a510a4c054109ca6fab651cfb0aaf4768d43f70a21aeea6778ced6793957d9bd39bede89e9fc8577aa6c27bf1ca0402aa1e9aa49ec5981a3230b954 diff --git a/app-misc/ca-certificates/ca-certificates-20211016.3.88.1.ebuild b/app-misc/ca-certificates/ca-certificates-20211016.3.88.1.ebuild deleted file mode 100644 index e90265a6db66..000000000000 --- a/app-misc/ca-certificates/ca-certificates-20211016.3.88.1.ebuild +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# The Debian ca-certificates package merely takes the CA database as it exists -# in the nss package and repackages it for use by openssl. -# -# The issue with using the compiled debs directly is two fold: -# - they do not update frequently enough for us to rely on them -# - they pull the CA database from nss tip of tree rather than the release -# -# So we take the Debian source tools and combine them with the latest nss -# release to produce (largely) the same end result. The difference is that -# now we know our cert database is kept in sync with nss and, if need be, -# can be sync with nss tip of tree more frequently to respond to bugs. - -# Where possible, bump to stable/LTS releases of NSS for the last part -# of the version (when not using a pure Debian release). - -# When triaging user reports, refer to our wiki for tips: -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit python-any-r1 - -if [[ ${PV} == *.* ]] ; then - # Compile from source ourselves. - PRECOMPILED=false - - DEB_VER=$(ver_cut 1) - NSS_VER=$(ver_cut 2-) - RTM_NAME="NSS_${NSS_VER//./_}_RTM" -else - # Debian precompiled version. - PRECOMPILED=true - inherit unpacker -fi - -DESCRIPTION="Common CA Certificates PEM files" -HOMEPAGE="https://packages.debian.org/sid/ca-certificates" -NMU_PR="" -if ${PRECOMPILED} ; then - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb" -else - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz - cacert? ( - https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch - )" -fi - -LICENSE="MPL-1.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="" -${PRECOMPILED} || IUSE+=" cacert" - -# c_rehash: we run `c_rehash` -# debianutils: we run `run-parts` -CDEPEND=" - sys-apps/debianutils" - -BDEPEND="${CDEPEND}" -if ! ${PRECOMPILED} ; then - BDEPEND+=" ${PYTHON_DEPS}" -fi - -DEPEND="" -if ${PRECOMPILED} ; then - DEPEND+=" !<sys-apps/portage-2.1.10.41" -fi - -RDEPEND="${CDEPEND} - ${DEPEND}" - -S="${WORKDIR}" - -pkg_setup() { - # For the conversion to having it in CONFIG_PROTECT_MASK, - # we need to tell users about it once manually first. - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \ - || ewarn "You should run update-ca-certificates manually after etc-update" - - if ! ${PRECOMPILED} ; then - python-any-r1_pkg_setup - fi -} - -src_unpack() { - if ! ${PRECOMPILED} ; then - default - # Initial 20200601 deb release had bad naming inside the debian source tarball. - DEB_S="${WORKDIR}/${PN}-${DEB_VER}" - DEB_BAD_S="${WORKDIR}/work" - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then - mv "${DEB_BAD_S}" "${DEB_S}" - fi - fi - - # Do all the work in the image subdir to avoid conflicting with source - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937 - mkdir -p "image/${EPREFIX}" || die - cd "image/${EPREFIX}" || die - - ${PRECOMPILED} && unpacker_src_unpack -} - -src_prepare() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - mkdir -p usr/sbin || die - cp -p "${S}"/${PN}-${DEB_VER}/sbin/update-ca-certificates \ - usr/sbin/ || die - - if use cacert ; then - pushd "${S}"/nss-${NSS_VER} >/dev/null || die - eapply "${DISTDIR}"/nss-cacert-class1-class3-r2.patch - popd >/dev/null || die - fi - fi - - default - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch - - pushd "${S}/${PN}-${DEB_VER}" >/dev/null || die - eapply "${FILESDIR}"/${PN}-20211016.3.72-no-cryptography.patch - popd >/dev/null || die - - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g') - sed -i \ - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \ - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \ - usr/sbin/update-ca-certificates || die -} - -src_compile() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - local d="${S}/${PN}-${DEB_VER}/mozilla" c="usr/share/${PN}" - - # Grab the database from the nss sources. - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die - emake -C "${d}" - - # Now move the files to the same places that the precompiled would. - mkdir -p etc/ssl/certs \ - etc/ca-certificates/update.d \ - "${c}"/mozilla \ - || die - if use cacert ; then - mkdir -p "${c}"/cacert.org || die - mv "${d}"/CA_Cert_Signing_Authority.crt \ - "${c}"/cacert.org/cacert.org_class1.crt || die - mv "${d}"/CAcert_Class_3_Root.crt \ - "${c}"/cacert.org/cacert.org_class3.crt || die - fi - mv "${d}"/*.crt "${c}"/mozilla/ || die - else - mv usr/share/doc/{ca-certificates,${PF}} || die - fi - - ( - echo "# Automatically generated by ${CATEGORY}/${PF}" - echo "# Do not edit." - cd "${c}" || die - find * -name '*.crt' | LC_ALL=C sort - ) > etc/ca-certificates.conf - - sh usr/sbin/update-ca-certificates --root "${S}/image" || die -} - -src_install() { - cp -pPR image/* "${D}"/ || die - if ! ${PRECOMPILED} ; then - cd ${PN}-${DEB_VER} || die - doman sbin/*.8 - dodoc debian/README.* examples/ca-certificates-local/README - fi - - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates || die - doenvd 98ca-certificates -} - -pkg_postinst() { - if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then - # If the user has local certs, we need to rebuild again - # to include their stuff in the db. - # However it's too overzealous when the user has custom certs in place. - # --fresh is to clean up dangling symlinks - "${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}" - fi - - if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then - ewarn "Removing the following broken symlinks:" - ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)" - fi -} diff --git a/app-misc/ca-certificates/ca-certificates-20230311.3.89.1.ebuild b/app-misc/ca-certificates/ca-certificates-20230311.3.89.1.ebuild deleted file mode 100644 index beb4469cc4a4..000000000000 --- a/app-misc/ca-certificates/ca-certificates-20230311.3.89.1.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# The Debian ca-certificates package merely takes the CA database as it exists -# in the nss package and repackages it for use by openssl. -# -# The issue with using the compiled debs directly is two fold: -# - they do not update frequently enough for us to rely on them -# - they pull the CA database from nss tip of tree rather than the release -# -# So we take the Debian source tools and combine them with the latest nss -# release to produce (largely) the same end result. The difference is that -# now we know our cert database is kept in sync with nss and, if need be, -# can be sync with nss tip of tree more frequently to respond to bugs. - -# Where possible, bump to stable/LTS releases of NSS for the last part -# of the version (when not using a pure Debian release). - -# When triaging user reports, refer to our wiki for tips: -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues - -EAPI=8 - -PYTHON_COMPAT=( python3_{9..11} ) - -inherit python-any-r1 - -if [[ ${PV} == *.* ]] ; then - # Compile from source ourselves. - PRECOMPILED=false - - DEB_VER=$(ver_cut 1) - NSS_VER=$(ver_cut 2-) - RTM_NAME="NSS_${NSS_VER//./_}_RTM" -else - # Debian precompiled version. - PRECOMPILED=true - inherit unpacker -fi - -DESCRIPTION="Common CA Certificates PEM files" -HOMEPAGE="https://packages.debian.org/sid/ca-certificates" -NMU_PR="" -if ${PRECOMPILED} ; then - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb" -else - SRC_URI=" - mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz - cacert? ( - https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch - ) - " -fi - -LICENSE="MPL-1.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="" -${PRECOMPILED} || IUSE+=" cacert" - -# c_rehash: we run `c_rehash` -# debianutils: we run `run-parts` -CDEPEND=" - sys-apps/debianutils" - -BDEPEND="${CDEPEND}" -if ! ${PRECOMPILED} ; then - BDEPEND+=" ${PYTHON_DEPS}" -fi - -DEPEND="" -if ${PRECOMPILED} ; then - DEPEND+=" !<sys-apps/portage-2.1.10.41" -fi - -RDEPEND="${CDEPEND} - ${DEPEND}" - -S="${WORKDIR}" - -pkg_setup() { - # For the conversion to having it in CONFIG_PROTECT_MASK, - # we need to tell users about it once manually first. - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \ - || ewarn "You should run update-ca-certificates manually after etc-update" - - if ! ${PRECOMPILED} ; then - python-any-r1_pkg_setup - fi -} - -src_unpack() { - if ! ${PRECOMPILED} ; then - default - # Initial 20200601 deb release had bad naming inside the debian source tarball. - DEB_S="${WORKDIR}/${PN}-${DEB_VER}" - DEB_BAD_S="${WORKDIR}/work" - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then - mv "${DEB_BAD_S}" "${DEB_S}" - fi - fi - - # Do all the work in the image subdir to avoid conflicting with source - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937 - mkdir -p "image/${EPREFIX}" || die - cd "image/${EPREFIX}" || die - - ${PRECOMPILED} && unpacker_src_unpack -} - -src_prepare() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - mkdir -p usr/sbin || die - cp -p "${S}"/${PN}/sbin/update-ca-certificates \ - usr/sbin/ || die - - if use cacert ; then - pushd "${S}"/nss-${NSS_VER} >/dev/null || die - eapply "${DISTDIR}"/nss-cacert-class1-class3-r2.patch - popd >/dev/null || die - fi - fi - - default - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch - - pushd "${S}/${PN}" >/dev/null || die - # We patch out the dep on cryptography as it's not particularly useful - # for us. Please see the discussion in bug #821706. Not to be removed lightly! - eapply "${FILESDIR}"/${PN}-20230311.3.89-no-cryptography.patch - popd >/dev/null || die - - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g') - sed -i \ - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \ - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \ - usr/sbin/update-ca-certificates || die -} - -src_compile() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - local d="${S}/${PN}/mozilla" c="usr/share/${PN}" - - # Grab the database from the nss sources. - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die - emake -C "${d}" - - # Now move the files to the same places that the precompiled would. - mkdir -p etc/ssl/certs \ - etc/ca-certificates/update.d \ - "${c}"/mozilla \ - || die - if use cacert ; then - mkdir -p "${c}"/cacert.org || die - mv "${d}"/CA_Cert_Signing_Authority.crt \ - "${c}"/cacert.org/cacert.org_class1.crt || die - mv "${d}"/CAcert_Class_3_Root.crt \ - "${c}"/cacert.org/cacert.org_class3.crt || die - fi - mv "${d}"/*.crt "${c}"/mozilla/ || die - else - mv usr/share/doc/{ca-certificates,${PF}} || die - fi - - ( - echo "# Automatically generated by ${CATEGORY}/${PF}" - echo "# Do not edit." - cd "${c}" || die - find * -name '*.crt' | LC_ALL=C sort - ) > etc/ca-certificates.conf - - sh usr/sbin/update-ca-certificates --root "${S}/image" || die -} - -src_install() { - cp -pPR image/* "${D}"/ || die - if ! ${PRECOMPILED} ; then - cd ${PN} || die - doman sbin/*.8 - dodoc debian/README.* examples/ca-certificates-local/README - fi - - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates || die - doenvd 98ca-certificates -} - -pkg_postinst() { - if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then - # If the user has local certs, we need to rebuild again - # to include their stuff in the db. - # However it's too overzealous when the user has custom certs in place. - # --fresh is to clean up dangling symlinks - "${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}" - fi - - if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then - ewarn "Removing the following broken symlinks:" - ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)" - fi -} diff --git a/app-misc/ca-certificates/ca-certificates-20230311.3.90.ebuild b/app-misc/ca-certificates/ca-certificates-20230311.3.90.ebuild deleted file mode 100644 index 20894fd6dbae..000000000000 --- a/app-misc/ca-certificates/ca-certificates-20230311.3.90.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# The Debian ca-certificates package merely takes the CA database as it exists -# in the nss package and repackages it for use by openssl. -# -# The issue with using the compiled debs directly is two fold: -# - they do not update frequently enough for us to rely on them -# - they pull the CA database from nss tip of tree rather than the release -# -# So we take the Debian source tools and combine them with the latest nss -# release to produce (largely) the same end result. The difference is that -# now we know our cert database is kept in sync with nss and, if need be, -# can be sync with nss tip of tree more frequently to respond to bugs. - -# Where possible, bump to stable/LTS releases of NSS for the last part -# of the version (when not using a pure Debian release). - -# When triaging user reports, refer to our wiki for tips: -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit python-any-r1 - -if [[ ${PV} == *.* ]] ; then - # Compile from source ourselves. - PRECOMPILED=false - - DEB_VER=$(ver_cut 1) - NSS_VER=$(ver_cut 2-) - RTM_NAME="NSS_${NSS_VER//./_}_RTM" -else - # Debian precompiled version. - PRECOMPILED=true - inherit unpacker -fi - -DESCRIPTION="Common CA Certificates PEM files" -HOMEPAGE="https://packages.debian.org/sid/ca-certificates" -NMU_PR="" -if ${PRECOMPILED} ; then - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb" -else - SRC_URI=" - mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz - cacert? ( - https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch - ) - " -fi - -LICENSE="MPL-1.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="" -${PRECOMPILED} || IUSE+=" cacert" - -# c_rehash: we run `c_rehash` -# debianutils: we run `run-parts` -CDEPEND=" - sys-apps/debianutils" - -BDEPEND="${CDEPEND}" -if ! ${PRECOMPILED} ; then - BDEPEND+=" ${PYTHON_DEPS}" -fi - -DEPEND="" -if ${PRECOMPILED} ; then - DEPEND+=" !<sys-apps/portage-2.1.10.41" -fi - -RDEPEND="${CDEPEND} - ${DEPEND}" - -S="${WORKDIR}" - -pkg_setup() { - # For the conversion to having it in CONFIG_PROTECT_MASK, - # we need to tell users about it once manually first. - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \ - || ewarn "You should run update-ca-certificates manually after etc-update" - - if ! ${PRECOMPILED} ; then - python-any-r1_pkg_setup - fi -} - -src_unpack() { - if ! ${PRECOMPILED} ; then - default - # Initial 20200601 deb release had bad naming inside the debian source tarball. - DEB_S="${WORKDIR}/${PN}-${DEB_VER}" - DEB_BAD_S="${WORKDIR}/work" - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then - mv "${DEB_BAD_S}" "${DEB_S}" - fi - fi - - # Do all the work in the image subdir to avoid conflicting with source - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937 - mkdir -p "image/${EPREFIX}" || die - cd "image/${EPREFIX}" || die - - ${PRECOMPILED} && unpacker_src_unpack -} - -src_prepare() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - mkdir -p usr/sbin || die - cp -p "${S}"/${PN}/sbin/update-ca-certificates \ - usr/sbin/ || die - - if use cacert ; then - pushd "${S}"/nss-${NSS_VER} >/dev/null || die - eapply "${DISTDIR}"/nss-cacert-class1-class3-r2.patch - popd >/dev/null || die - fi - fi - - default - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch - - pushd "${S}/${PN}" >/dev/null || die - # We patch out the dep on cryptography as it's not particularly useful - # for us. Please see the discussion in bug #821706. Not to be removed lightly! - eapply "${FILESDIR}"/${PN}-20230311.3.89-no-cryptography.patch - popd >/dev/null || die - - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g') - sed -i \ - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \ - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \ - usr/sbin/update-ca-certificates || die -} - -src_compile() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - local d="${S}/${PN}/mozilla" c="usr/share/${PN}" - - # Grab the database from the nss sources. - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die - emake -C "${d}" - - # Now move the files to the same places that the precompiled would. - mkdir -p etc/ssl/certs \ - etc/ca-certificates/update.d \ - "${c}"/mozilla \ - || die - if use cacert ; then - mkdir -p "${c}"/cacert.org || die - mv "${d}"/CA_Cert_Signing_Authority.crt \ - "${c}"/cacert.org/cacert.org_class1.crt || die - mv "${d}"/CAcert_Class_3_Root.crt \ - "${c}"/cacert.org/cacert.org_class3.crt || die - fi - mv "${d}"/*.crt "${c}"/mozilla/ || die - else - mv usr/share/doc/{ca-certificates,${PF}} || die - fi - - ( - echo "# Automatically generated by ${CATEGORY}/${PF}" - echo "# Do not edit." - cd "${c}" || die - find * -name '*.crt' | LC_ALL=C sort - ) > etc/ca-certificates.conf - - sh usr/sbin/update-ca-certificates --root "${S}/image" || die -} - -src_install() { - cp -pPR image/* "${D}"/ || die - if ! ${PRECOMPILED} ; then - cd ${PN} || die - doman sbin/*.8 - dodoc debian/README.* examples/ca-certificates-local/README - fi - - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates || die - doenvd 98ca-certificates -} - -pkg_postinst() { - if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then - # If the user has local certs, we need to rebuild again - # to include their stuff in the db. - # However it's too overzealous when the user has custom certs in place. - # --fresh is to clean up dangling symlinks - "${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}" - fi - - if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then - ewarn "Removing the following broken symlinks:" - ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)" - fi -} diff --git a/app-misc/ca-certificates/ca-certificates-20230311.3.93.ebuild b/app-misc/ca-certificates/ca-certificates-20230311.3.93.ebuild deleted file mode 100644 index 66a2a76f3bf3..000000000000 --- a/app-misc/ca-certificates/ca-certificates-20230311.3.93.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# The Debian ca-certificates package merely takes the CA database as it exists -# in the nss package and repackages it for use by openssl. -# -# The issue with using the compiled debs directly is two fold: -# - they do not update frequently enough for us to rely on them -# - they pull the CA database from nss tip of tree rather than the release -# -# So we take the Debian source tools and combine them with the latest nss -# release to produce (largely) the same end result. The difference is that -# now we know our cert database is kept in sync with nss and, if need be, -# can be sync with nss tip of tree more frequently to respond to bugs. - -# Where possible, bump to stable/LTS releases of NSS for the last part -# of the version (when not using a pure Debian release). - -# When triaging user reports, refer to our wiki for tips: -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit python-any-r1 - -if [[ ${PV} == *.* ]] ; then - # Compile from source ourselves. - PRECOMPILED=false - - DEB_VER=$(ver_cut 1) - NSS_VER=$(ver_cut 2-) - RTM_NAME="NSS_${NSS_VER//./_}_RTM" -else - # Debian precompiled version. - PRECOMPILED=true - inherit unpacker -fi - -DESCRIPTION="Common CA Certificates PEM files" -HOMEPAGE="https://packages.debian.org/sid/ca-certificates" -NMU_PR="" -if ${PRECOMPILED} ; then - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb" -else - SRC_URI=" - mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz - cacert? ( - https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch - ) - " -fi - -LICENSE="MPL-1.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="" -${PRECOMPILED} || IUSE+=" cacert" - -# c_rehash: we run `c_rehash` -# debianutils: we run `run-parts` -CDEPEND=" - sys-apps/debianutils" - -BDEPEND="${CDEPEND}" -if ! ${PRECOMPILED} ; then - BDEPEND+=" ${PYTHON_DEPS}" -fi - -DEPEND="" -if ${PRECOMPILED} ; then - DEPEND+=" !<sys-apps/portage-2.1.10.41" -fi - -RDEPEND="${CDEPEND} - ${DEPEND}" - -S="${WORKDIR}" - -pkg_setup() { - # For the conversion to having it in CONFIG_PROTECT_MASK, - # we need to tell users about it once manually first. - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \ - || ewarn "You should run update-ca-certificates manually after etc-update" - - if ! ${PRECOMPILED} ; then - python-any-r1_pkg_setup - fi -} - -src_unpack() { - if ! ${PRECOMPILED} ; then - default - # Initial 20200601 deb release had bad naming inside the debian source tarball. - DEB_S="${WORKDIR}/${PN}-${DEB_VER}" - DEB_BAD_S="${WORKDIR}/work" - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then - mv "${DEB_BAD_S}" "${DEB_S}" - fi - fi - - # Do all the work in the image subdir to avoid conflicting with source - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937 - mkdir -p "image/${EPREFIX}" || die - cd "image/${EPREFIX}" || die - - ${PRECOMPILED} && unpacker_src_unpack -} - -src_prepare() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - mkdir -p usr/sbin || die - cp -p "${S}"/${PN}/sbin/update-ca-certificates \ - usr/sbin/ || die - - if use cacert ; then - pushd "${S}"/nss-${NSS_VER} >/dev/null || die - eapply "${DISTDIR}"/nss-cacert-class1-class3-r2.patch - popd >/dev/null || die - fi - fi - - default - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch - - pushd "${S}/${PN}" >/dev/null || die - # We patch out the dep on cryptography as it's not particularly useful - # for us. Please see the discussion in bug #821706. Not to be removed lightly! - eapply "${FILESDIR}"/${PN}-20230311.3.89-no-cryptography.patch - popd >/dev/null || die - - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g') - sed -i \ - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \ - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \ - usr/sbin/update-ca-certificates || die -} - -src_compile() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - local d="${S}/${PN}/mozilla" c="usr/share/${PN}" - - # Grab the database from the nss sources. - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die - emake -C "${d}" - - # Now move the files to the same places that the precompiled would. - mkdir -p etc/ssl/certs \ - etc/ca-certificates/update.d \ - "${c}"/mozilla \ - || die - if use cacert ; then - mkdir -p "${c}"/cacert.org || die - mv "${d}"/CA_Cert_Signing_Authority.crt \ - "${c}"/cacert.org/cacert.org_class1.crt || die - mv "${d}"/CAcert_Class_3_Root.crt \ - "${c}"/cacert.org/cacert.org_class3.crt || die - fi - mv "${d}"/*.crt "${c}"/mozilla/ || die - else - mv usr/share/doc/{ca-certificates,${PF}} || die - fi - - ( - echo "# Automatically generated by ${CATEGORY}/${PF}" - echo "# Do not edit." - cd "${c}" || die - find * -name '*.crt' | LC_ALL=C sort - ) > etc/ca-certificates.conf - - sh usr/sbin/update-ca-certificates --root "${S}/image" || die -} - -src_install() { - cp -pPR image/* "${D}"/ || die - if ! ${PRECOMPILED} ; then - cd ${PN} || die - doman sbin/*.8 - dodoc debian/README.* examples/ca-certificates-local/README - fi - - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates || die - doenvd 98ca-certificates -} - -pkg_postinst() { - if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then - # If the user has local certs, we need to rebuild again - # to include their stuff in the db. - # However it's too overzealous when the user has custom certs in place. - # --fresh is to clean up dangling symlinks - "${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}" - fi - - if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then - ewarn "Removing the following broken symlinks:" - ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)" - fi -} diff --git a/app-misc/ca-certificates/ca-certificates-20230311.3.95.ebuild b/app-misc/ca-certificates/ca-certificates-20230311.3.95.ebuild deleted file mode 100644 index 66a2a76f3bf3..000000000000 --- a/app-misc/ca-certificates/ca-certificates-20230311.3.95.ebuild +++ /dev/null @@ -1,205 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# The Debian ca-certificates package merely takes the CA database as it exists -# in the nss package and repackages it for use by openssl. -# -# The issue with using the compiled debs directly is two fold: -# - they do not update frequently enough for us to rely on them -# - they pull the CA database from nss tip of tree rather than the release -# -# So we take the Debian source tools and combine them with the latest nss -# release to produce (largely) the same end result. The difference is that -# now we know our cert database is kept in sync with nss and, if need be, -# can be sync with nss tip of tree more frequently to respond to bugs. - -# Where possible, bump to stable/LTS releases of NSS for the last part -# of the version (when not using a pure Debian release). - -# When triaging user reports, refer to our wiki for tips: -# https://wiki.gentoo.org/wiki/Certificates#Debugging_certificate_issues - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit python-any-r1 - -if [[ ${PV} == *.* ]] ; then - # Compile from source ourselves. - PRECOMPILED=false - - DEB_VER=$(ver_cut 1) - NSS_VER=$(ver_cut 2-) - RTM_NAME="NSS_${NSS_VER//./_}_RTM" -else - # Debian precompiled version. - PRECOMPILED=true - inherit unpacker -fi - -DESCRIPTION="Common CA Certificates PEM files" -HOMEPAGE="https://packages.debian.org/sid/ca-certificates" -NMU_PR="" -if ${PRECOMPILED} ; then - SRC_URI="mirror://debian/pool/main/c/${PN}/${PN}_${PV}${NMU_PR:++nmu}${NMU_PR}_all.deb" -else - SRC_URI=" - mirror://debian/pool/main/c/${PN}/${PN}_${DEB_VER}${NMU_PR:++nmu}${NMU_PR}.tar.xz - https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/nss-${NSS_VER}.tar.gz - cacert? ( - https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch - ) - " -fi - -LICENSE="MPL-1.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="" -${PRECOMPILED} || IUSE+=" cacert" - -# c_rehash: we run `c_rehash` -# debianutils: we run `run-parts` -CDEPEND=" - sys-apps/debianutils" - -BDEPEND="${CDEPEND}" -if ! ${PRECOMPILED} ; then - BDEPEND+=" ${PYTHON_DEPS}" -fi - -DEPEND="" -if ${PRECOMPILED} ; then - DEPEND+=" !<sys-apps/portage-2.1.10.41" -fi - -RDEPEND="${CDEPEND} - ${DEPEND}" - -S="${WORKDIR}" - -pkg_setup() { - # For the conversion to having it in CONFIG_PROTECT_MASK, - # we need to tell users about it once manually first. - [[ -f "${EPREFIX}"/etc/env.d/98ca-certificates ]] \ - || ewarn "You should run update-ca-certificates manually after etc-update" - - if ! ${PRECOMPILED} ; then - python-any-r1_pkg_setup - fi -} - -src_unpack() { - if ! ${PRECOMPILED} ; then - default - # Initial 20200601 deb release had bad naming inside the debian source tarball. - DEB_S="${WORKDIR}/${PN}-${DEB_VER}" - DEB_BAD_S="${WORKDIR}/work" - if [[ -d "${DEB_BAD_S}" ]] && [[ ! -d "${DEB_S}" ]] ; then - mv "${DEB_BAD_S}" "${DEB_S}" - fi - fi - - # Do all the work in the image subdir to avoid conflicting with source - # dirs in ${WORKDIR}. Need to perform everything in the offset #381937 - mkdir -p "image/${EPREFIX}" || die - cd "image/${EPREFIX}" || die - - ${PRECOMPILED} && unpacker_src_unpack -} - -src_prepare() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - mkdir -p usr/sbin || die - cp -p "${S}"/${PN}/sbin/update-ca-certificates \ - usr/sbin/ || die - - if use cacert ; then - pushd "${S}"/nss-${NSS_VER} >/dev/null || die - eapply "${DISTDIR}"/nss-cacert-class1-class3-r2.patch - popd >/dev/null || die - fi - fi - - default - eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch - - pushd "${S}/${PN}" >/dev/null || die - # We patch out the dep on cryptography as it's not particularly useful - # for us. Please see the discussion in bug #821706. Not to be removed lightly! - eapply "${FILESDIR}"/${PN}-20230311.3.89-no-cryptography.patch - popd >/dev/null || die - - local relp=$(echo "${EPREFIX}" | sed -e 's:[^/]\+:..:g') - sed -i \ - -e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \ - -e '/RELPATH="\.\./s:"$:'"${relp}"'":' \ - usr/sbin/update-ca-certificates || die -} - -src_compile() { - cd "image/${EPREFIX}" || die - - if ! ${PRECOMPILED} ; then - local d="${S}/${PN}/mozilla" c="usr/share/${PN}" - - # Grab the database from the nss sources. - cp "${S}"/nss-${NSS_VER}/nss/lib/ckfw/builtins/{certdata.txt,nssckbi.h} "${d}" || die - emake -C "${d}" - - # Now move the files to the same places that the precompiled would. - mkdir -p etc/ssl/certs \ - etc/ca-certificates/update.d \ - "${c}"/mozilla \ - || die - if use cacert ; then - mkdir -p "${c}"/cacert.org || die - mv "${d}"/CA_Cert_Signing_Authority.crt \ - "${c}"/cacert.org/cacert.org_class1.crt || die - mv "${d}"/CAcert_Class_3_Root.crt \ - "${c}"/cacert.org/cacert.org_class3.crt || die - fi - mv "${d}"/*.crt "${c}"/mozilla/ || die - else - mv usr/share/doc/{ca-certificates,${PF}} || die - fi - - ( - echo "# Automatically generated by ${CATEGORY}/${PF}" - echo "# Do not edit." - cd "${c}" || die - find * -name '*.crt' | LC_ALL=C sort - ) > etc/ca-certificates.conf - - sh usr/sbin/update-ca-certificates --root "${S}/image" || die -} - -src_install() { - cp -pPR image/* "${D}"/ || die - if ! ${PRECOMPILED} ; then - cd ${PN} || die - doman sbin/*.8 - dodoc debian/README.* examples/ca-certificates-local/README - fi - - echo 'CONFIG_PROTECT_MASK="/etc/ca-certificates.conf"' > 98ca-certificates || die - doenvd 98ca-certificates -} - -pkg_postinst() { - if [[ -d "${EROOT}/usr/local/share/ca-certificates" ]] ; then - # If the user has local certs, we need to rebuild again - # to include their stuff in the db. - # However it's too overzealous when the user has custom certs in place. - # --fresh is to clean up dangling symlinks - "${EROOT}"/usr/sbin/update-ca-certificates --root "${ROOT}" - fi - - if [[ -n "$(find -L "${EROOT}"/etc/ssl/certs/ -type l)" ]] ; then - ewarn "Removing the following broken symlinks:" - ewarn "$(find -L "${EROOT}"/etc/ssl/certs/ -type l -printf '%p -> %l\n' -delete)" - fi -} diff --git a/app-misc/ca-certificates/ca-certificates-20230311.3.89.ebuild b/app-misc/ca-certificates/ca-certificates-20240203.3.98.ebuild index 69f8eb0e076b..d159923c9a9b 100644 --- a/app-misc/ca-certificates/ca-certificates-20230311.3.89.ebuild +++ b/app-misc/ca-certificates/ca-certificates-20240203.3.98.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # The Debian ca-certificates package merely takes the CA database as it exists @@ -21,7 +21,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit python-any-r1 @@ -53,31 +53,26 @@ else " fi +S="${WORKDIR}" + LICENSE="MPL-1.1" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="" ${PRECOMPILED} || IUSE+=" cacert" -# c_rehash: we run `c_rehash` -# debianutils: we run `run-parts` -CDEPEND=" - sys-apps/debianutils" - -BDEPEND="${CDEPEND}" +BDEPEND="${COMMON_DEPEND}" if ! ${PRECOMPILED} ; then BDEPEND+=" ${PYTHON_DEPS}" fi -DEPEND="" if ${PRECOMPILED} ; then DEPEND+=" !<sys-apps/portage-2.1.10.41" fi -RDEPEND="${CDEPEND} - ${DEPEND}" - -S="${WORKDIR}" +RDEPEND=" + ${COMMON_DEPEND} + ${DEPEND} +" pkg_setup() { # For the conversion to having it in CONFIG_PROTECT_MASK, @@ -126,6 +121,7 @@ src_prepare() { default eapply -p2 "${FILESDIR}"/${PN}-20150426-root.patch + eapply -p2 "${FILESDIR}"/${PN}-20240203.3.98-update-ca-certificates-drop-pointless-dependency.patch pushd "${S}/${PN}" >/dev/null || die # We patch out the dep on cryptography as it's not particularly useful diff --git a/app-misc/ca-certificates/files/ca-certificates-20211016.3.72-no-cryptography.patch b/app-misc/ca-certificates/files/ca-certificates-20211016.3.72-no-cryptography.patch deleted file mode 100644 index fb98eb2828e7..000000000000 --- a/app-misc/ca-certificates/files/ca-certificates-20211016.3.72-no-cryptography.patch +++ /dev/null @@ -1,27 +0,0 @@ -Remove the dependency on non-portable dev-python/cryptography. -https://bugs.gentoo.org/821706#c4 by Alex Xu - ---- a/mozilla/certdata2pem.py -+++ b/mozilla/certdata2pem.py -@@ -28,8 +28,6 @@ - import textwrap - import io - --from cryptography import x509 -- - - objects = [] - -@@ -122,12 +120,6 @@ - if not obj['CKA_LABEL'] in trust or not trust[obj['CKA_LABEL']]: - continue - -- cert = x509.load_der_x509_certificate(obj['CKA_VALUE']) -- if cert.not_valid_after < datetime.datetime.now(): -- print('!'*74) -- print('Trusted but expired certificate found: %s' % obj['CKA_LABEL']) -- print('!'*74) -- - bname = obj['CKA_LABEL'][1:-1].replace('/', '_')\ - .replace(' ', '_')\ - .replace('(', '=')\ diff --git a/app-misc/ca-certificates/files/ca-certificates-20240203.3.98-update-ca-certificates-drop-pointless-dependency.patch b/app-misc/ca-certificates/files/ca-certificates-20240203.3.98-update-ca-certificates-drop-pointless-dependency.patch new file mode 100644 index 000000000000..55c082595579 --- /dev/null +++ b/app-misc/ca-certificates/files/ca-certificates-20240203.3.98-update-ca-certificates-drop-pointless-dependency.patch @@ -0,0 +1,45 @@ +From c33e85bc2fe61e66e2fa5c2ab0efc4277b7cef5e Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwartz93@gmail.com> +Date: Mon, 29 Jan 2024 21:54:04 -0500 +Subject: [PATCH] update-ca-certificates: drop pointless dependency on external + run-parts + +This external program belongs to debianutils and hence is used +internally by the update-ca-certificates script synced from Debian. + +It has a couple utilities: +- it sorts files in a directory with LC_ALL=C +- it runs each of them in turn +- it can print them instead of running them + +Here, it's used for sorting and printing the scripts to run. They need +to each accept some stdin, so run-parts cannot actually be used for +dispatch. But this functionality works fine directly from a shell, so +the additional dependency honestly seems frivolous. In particular, this +is the only reason why all Debian systems have debianutils installed, +through openssl. (This is in contrast to Debian, where debianutils is +part of the essential system set and provides a vastly greater number of +programs than the ones Gentoo repackages.) + +It's very easy to replace with `printf %s\\n *`, so do so. Even if it +wasn't easy to replace with printf, it would be easy to replace with +`for x in *; "$x"; done` instead. +--- + image/usr/sbin/update-ca-certificates | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/image/usr/sbin/update-ca-certificates b/image/usr/sbin/update-ca-certificates +index bb5aa54..fbf1ee2 100755 +--- a/image/usr/sbin/update-ca-certificates ++++ b/image/usr/sbin/update-ca-certificates +@@ -218,8 +218,9 @@ then + echo "Running hooks in $HOOKSDIR..." + VERBOSE_ARG= + [ "$verbose" = 0 ] || VERBOSE_ARG="--verbose" +- eval run-parts "$VERBOSE_ARG" --test -- "$HOOKSDIR" | while read -r hook ++ ( LC_ALL=C; printf %s\\n "$HOOKSDIR"/* ) | while read hook + do ++ [ -f "$hook" ] || continue + ( cat "$ADDED" + cat "$REMOVED" ) | "$hook" || echo "E: $hook exited with code $?." + done |