From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 97CA91582EF for ; Tue, 04 Mar 2025 22:45:59 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 8306434311E for ; Tue, 04 Mar 2025 22:45:59 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id C49011102D2; Tue, 04 Mar 2025 22:45:55 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id B8FEA1102D2 for ; Tue, 04 Mar 2025 22:45:55 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 6556B342FAD for ; Tue, 04 Mar 2025 22:45:55 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id F18C3285D for ; Tue, 04 Mar 2025 22:45:53 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1741128307.5710dfeff7ec6eb2400030c117441581b8de916b.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/certbot/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-crypt/certbot/certbot-9999.ebuild X-VCS-Directories: app-crypt/certbot/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 5710dfeff7ec6eb2400030c117441581b8de916b X-VCS-Branch: master Date: Tue, 04 Mar 2025 22:45:53 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 26d3c9a5-0d43-4b49-b1da-b4280f0aefe6 X-Archives-Hash: 13d8a175322638d1cc3625a99540ee95 commit: 5710dfeff7ec6eb2400030c117441581b8de916b Author: Thibaud CANALE thican net> AuthorDate: Tue Mar 4 20:04:17 2025 +0000 Commit: Sam James gentoo org> CommitDate: Tue Mar 4 22:45:07 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5710dfef app-crypt/certbot: update 9999, rework as single package Signed-off-by: Thibaud CANALE thican.net> Signed-off-by: Sam James gentoo.org> app-crypt/certbot/certbot-9999.ebuild | 229 ++++++++++++++++++++++++++++++++-- 1 file changed, 222 insertions(+), 7 deletions(-) diff --git a/app-crypt/certbot/certbot-9999.ebuild b/app-crypt/certbot/certbot-9999.ebuild index c075f01eda7d..c14b47d5ff54 100644 --- a/app-crypt/certbot/certbot-9999.ebuild +++ b/app-crypt/certbot/certbot-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -19,48 +19,263 @@ else https://github.com/certbot/certbot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz " - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + #KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + # Only for amd64, arm64 and x86 because of dev-python/python-augeas + #KEYWORDS="~amd64 ~arm64 ~x86" + # Only for amd64 and x86 because of dev-python/dns-lexicon + KEYWORDS="~amd64 ~x86" fi DESCRIPTION="Let’s Encrypt client to automate deployment of X.509 certificates" HOMEPAGE=" - https://github.com/certbot/certbot/ + https://github.com/certbot/certbot https://pypi.org/project/certbot/ https://letsencrypt.org/ " -S="${WORKDIR}/${P}/${PN}" LICENSE="Apache-2.0" SLOT="0" +# acme required for certbot, and then required for modules +CERTBOT_BASE=(acme certbot) +# List of "subpackages" from tools/_release.sh (without acme which is already above) +CERTBOT_MODULES_EXTRA=( + apache + #dns-cloudflare # Requires missing packages, already in GURU + #dns-digitalocean # Requires missing packages, already in GURU + dns-dnsimple + dns-dnsmadeeasy + dns-gehirn + dns-google + dns-linode + dns-luadns + dns-nsone + dns-ovh + dns-rfc2136 + dns-route53 + dns-sakuracloud + nginx +) + IUSE="selinux" +for module in "${CERTBOT_MODULES_EXTRA[@]}"; do + IUSE+=" certbot-${module}" +done BDEPEND=" test? ( + dev-python/pytest[${PYTHON_USEDEP}] dev-python/typing-extensions[${PYTHON_USEDEP}] ) " -# See certbot/setup.py for acme >= dep +# See each setup.py for dependencies +# Also discard the previous related packages +# except their transition step RDEPEND=" - >=app-crypt/acme-${PV}[${PYTHON_USEDEP}] + !=dev-python/configargparse-1.5.3[${PYTHON_USEDEP}] >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}] - >=dev-python/cryptography-3.2.1[${PYTHON_USEDEP}] + >=dev-python/cryptography-43.0.0[${PYTHON_USEDEP}] >=dev-python/distro-1.0.1[${PYTHON_USEDEP}] >=dev-python/josepy-1.13.0[${PYTHON_USEDEP}] =dev-python/parsedatetime-2.4[${PYTHON_USEDEP}] + >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] dev-python/pyrfc3339[${PYTHON_USEDEP}] >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] + >=dev-python/requests-2.20.0[${PYTHON_USEDEP}] + certbot-apache? ( + dev-python/python-augeas[${PYTHON_USEDEP}] + ) + certbot-dns-dnsimple? ( + >=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}] + ) + certbot-dns-dnsmadeeasy? ( + >=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}] + ) + certbot-dns-gehirn? ( + >=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}] + ) + certbot-dns-google? ( + >=dev-python/google-api-python-client-1.6.5[${PYTHON_USEDEP}] + >=dev-python/google-auth-2.16.0[${PYTHON_USEDEP}] + ) + certbot-dns-linode? ( + >=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}] + ) + certbot-dns-luadns? ( + >=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}] + ) + certbot-dns-nsone? ( + >=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}] + ) + certbot-dns-ovh? ( + >=dev-python/dns-lexicon-3.15.1[${PYTHON_USEDEP}] + ) + certbot-dns-rfc2136? ( + >=dev-python/dnspython-2.6.1[${PYTHON_USEDEP}] + ) + certbot-dns-route53? ( + >=dev-python/boto3-1.15.15[${PYTHON_USEDEP}] + ) + certbot-dns-sakuracloud? ( + >=dev-python/dns-lexicon-3.14.1[${PYTHON_USEDEP}] + ) + certbot-nginx? ( + >=dev-python/pyopenssl-25.0.0[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.4.7[${PYTHON_USEDEP}] + ) selinux? ( sec-policy/selinux-certbot ) " +# RDEPEND+=" +# !=dev-python/requests-toolbelt-0.3.0[${PYTHON_USEDEP}] # @TODO is still necessary? +# certbot-dns-cloudflare? ( +# # Available in GURU +# >=dev-python/cloudflare-2.19[${PYTHON_USEDEP}] +# =dev-python/digitalocean-1.11[${PYTHON_USEDEP}] +# ) +# " distutils_enable_sphinx docs \ dev-python/sphinx-rtd-theme distutils_enable_tests pytest +src_prepare() { + local S_BACKUP="${S}" + + local certbot_dirs=() + local base module dir + for base in "${CERTBOT_BASE[@]}"; do + certbot_dirs+=("${base}") + done + for module in "${CERTBOT_MODULES_EXTRA[@]}"; do + use "certbot-${module}" \ + && certbot_dirs+=("certbot-${module}") + done + + for dir in "${certbot_dirs[@]}"; do + S="${WORKDIR}/${P}/${dir}" + pushd "${S}" > /dev/null || die + distutils-r1_src_prepare + popd > /dev/null || die + done + + # Restore S + S="${S_BACKUP}" +} + +src_configure() { + local S_BACKUP="${S}" + + local certbot_dirs=() + local base module dir + for base in "${CERTBOT_BASE[@]}"; do + certbot_dirs+=("${base}") + done + for module in "${CERTBOT_MODULES_EXTRA[@]}"; do + use "certbot-${module}" \ + && certbot_dirs+=("certbot-${module}") + done + + for dir in "${certbot_dirs[@]}"; do + S="${WORKDIR}/${P}/${dir}" + pushd "${S}" > /dev/null || die + distutils-r1_src_configure + popd > /dev/null || die + done + + # Restore S + S="${S_BACKUP}" +} + +src_compile() { + local S_BACKUP="${S}" + + local certbot_dirs=() + local base module dir + for base in "${CERTBOT_BASE[@]}"; do + certbot_dirs+=("${base}") + done + for module in "${CERTBOT_MODULES_EXTRA[@]}"; do + use "certbot-${module}" \ + && certbot_dirs+=("certbot-${module}") + done + + for dir in "${certbot_dirs[@]}"; do + S="${WORKDIR}/${P}/${dir}" + pushd "${S}" > /dev/null || die + distutils-r1_src_compile + popd > /dev/null || die + done + + # Restore S + S="${S_BACKUP}" +} + python_test() { local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 epytest } + +src_test() { + local S_BACKUP="${S}" + + local certbot_dirs=() + local base module dir + for base in "${CERTBOT_BASE[@]}"; do + certbot_dirs+=("${base}") + done + for module in "${CERTBOT_MODULES_EXTRA[@]}"; do + use "certbot-${module}" \ + && certbot_dirs+=("certbot-${module}") + done + + for dir in "${certbot_dirs[@]}"; do + S="${WORKDIR}/${P}/${dir}" + pushd "${S}" > /dev/null || die + distutils-r1_src_test + popd > /dev/null || die + done + + # Restore S + S="${S_BACKUP}" +} + +src_install() { + local S_BACKUP="${S}" + + local certbot_dirs=() + local base module dir + for base in "${CERTBOT_BASE[@]}"; do + certbot_dirs+=("${base}") + done + for module in "${CERTBOT_MODULES_EXTRA[@]}"; do + use "certbot-${module}" \ + && certbot_dirs+=("certbot-${module}") + done + + for dir in "${certbot_dirs[@]}"; do + S="${WORKDIR}/${P}/${dir}" + pushd "${S}" > /dev/null || die + distutils-r1_src_install + popd > /dev/null || die + done + + # Restore S + S="${S_BACKUP}" +}