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 EF1E91582EF for ; Fri, 21 Feb 2025 16:46:25 +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 D832F3430C9 for ; Fri, 21 Feb 2025 16:46:25 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 77D34110471; Fri, 21 Feb 2025 16:40:24 +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) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 6DFFA110471 for ; Fri, 21 Feb 2025 16:40:24 +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) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 21746343F61 for ; Fri, 21 Feb 2025 16:40:24 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 806CB16DF for ; Fri, 21 Feb 2025 16:40:22 +0000 (UTC) From: "Matthew Thode" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Matthew Thode" Message-ID: <1740156015.8b0f8e3d36f0b0d66ffc9ad562f9e4583a6d690c.prometheanfire@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/certbot/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-crypt/certbot/Manifest app-crypt/certbot/certbot-3.2.0-r100.ebuild app-crypt/certbot/metadata.xml X-VCS-Directories: app-crypt/certbot/ X-VCS-Committer: prometheanfire X-VCS-Committer-Name: Matthew Thode X-VCS-Revision: 8b0f8e3d36f0b0d66ffc9ad562f9e4583a6d690c X-VCS-Branch: master Date: Fri, 21 Feb 2025 16:40:22 +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: 39819dbe-ce81-4e8d-a33d-5e5b8123896d X-Archives-Hash: 090788ec19dbc54bc497108d308877f6 commit: 8b0f8e3d36f0b0d66ffc9ad562f9e4583a6d690c Author: Thibaud CANALE thican net> AuthorDate: Fri Feb 14 01:33:50 2025 +0000 Commit: Matthew Thode gentoo org> CommitDate: Fri Feb 21 16:40:15 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b0f8e3d app-crypt/certbot: rework into a single package Closes: https://bugs.gentoo.org/646298 (obsolete) Closes: https://bugs.gentoo.org/702740 (obsolete) Closes: https://bugs.gentoo.org/702744 (obsolete) Closes: https://bugs.gentoo.org/911502 (obsolete) Closes: https://bugs.gentoo.org/949725 Signed-off-by: Thibaud CANALE thican.net> Closes: https://github.com/gentoo/gentoo/pull/40565 Signed-off-by: Matthew Thode gentoo.org> app-crypt/certbot/Manifest | 1 + app-crypt/certbot/certbot-3.2.0-r100.ebuild | 278 ++++++++++++++++++++++++++++ app-crypt/certbot/metadata.xml | 17 ++ 3 files changed, 296 insertions(+) diff --git a/app-crypt/certbot/Manifest b/app-crypt/certbot/Manifest index 47b249c84df7..715100bf16f6 100644 --- a/app-crypt/certbot/Manifest +++ b/app-crypt/certbot/Manifest @@ -2,3 +2,4 @@ DIST certbot-2.10.0.gh.tar.gz 2322931 BLAKE2B cb84815ec2db2b4b365f2f2bdee1749263 DIST certbot-2.11.0.gh.tar.gz 2322114 BLAKE2B d266483d1ffc9f9274df3d5e389ed961758e77e9455a7324132bb2bfe4896db663642a98ac7250d35fbbd60d6aef0d6d2a58f98ad17130958dcfcd61283c2479 SHA512 ba47fc98faaf47278c58e107356371c06039f70ad539d2ca1ac39462bb45c7a6c55ed525d8bd8b11cd35cf807f3423e19309022751a492ba19ded79cfbb6d7f4 DIST certbot-3.0.1.gh.tar.gz 2325233 BLAKE2B 247505fb500c829de875aa0886f27727de4ccc4f474dd13957b524b84af99e6ee5d1e86f09577422932a498ec9fda24ae36377d117365531ad1f8eddb0148272 SHA512 7aec63ec7705f4e13acb7cef5d770f103222ddf3dca30760c42cd3aeb0531d630111518960c299d89bccba4134b544a329fa02659fac5f977c9ca0321b2d1e2e DIST certbot-3.1.0.gh.tar.gz 2299990 BLAKE2B 596f11d4ebb161ee6ba67f4f150a77e081399f11f4e4652923c94297661149c9cb889afc51b46b6111847820823d90edc3a7f1e14c451122f88e6e777bf48795 SHA512 efd0b0c1540a6e3b631fa80eac65c9e8b31b1e5e1242f56d3723ca7e1b1b2121dfe1bf8e122fe9a9b994460553f1fa085b11d1369b3160f5c51c939b2cccd638 +DIST certbot-3.2.0.gh.tar.gz 2309823 BLAKE2B 30ff3f40dc4d7724ad7b9a5eaf48f15fa579d49902dd23d21d8b2d36a4371da05f8c9417b0b2bf49a12565ba9dec180a9d805f22e0e8d1342ae5ea64b43d5219 SHA512 8fc3753dcdc954e143da31a0308269b99abadcdefc008c54c2cabac14a3bf99e757f1007349806a7dabf4a8fe19fd3a365ddea85c1dbeb3b453ae91503ea2288 diff --git a/app-crypt/certbot/certbot-3.2.0-r100.ebuild b/app-crypt/certbot/certbot-3.2.0-r100.ebuild new file mode 100644 index 000000000000..6e893c727df9 --- /dev/null +++ b/app-crypt/certbot/certbot-3.2.0-r100.ebuild @@ -0,0 +1,278 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/certbot/certbot.git" + EGIT_SUBMODULES=() + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" +else + SRC_URI=" + https://github.com/certbot/certbot/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + " + #KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + ## Only for amd64, arm64 and x86 because of dev-python/python-augeas + #KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64" +fi + +DESCRIPTION="Let’s Encrypt client to automate deployment of X.509 certificates" +HOMEPAGE=" + https://github.com/certbot/certbot + https://pypi.org/project/certbot/ + https://letsencrypt.org/ +" + +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 each setup.py for dependencies +# Also discard the previous related packages +RDEPEND=" + !app-crypt/acme + !app-crypt/certbot-apache + !app-crypt/certbot-nginx + !app-crypt/certbot-dns-dnsimple + !app-crypt/certbot-dns-nsone + !app-crypt/certbot-dns-cloudflare + !app-crypt/certbot-dns-desec + !app-crypt/certbot-dns-rfc2136 + + dev-python/chardet[${PYTHON_USEDEP}] + >=dev-python/configargparse-1.5.3[${PYTHON_USEDEP}] + >=dev-python/configobj-5.0.6[${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}" +} diff --git a/app-crypt/certbot/metadata.xml b/app-crypt/certbot/metadata.xml index 2f0d5e01680c..ad5571f9ae5c 100644 --- a/app-crypt/certbot/metadata.xml +++ b/app-crypt/certbot/metadata.xml @@ -10,4 +10,21 @@ certbot/certbot certbot + + Enable Apache plugin. + Enable Cloudflare DNS Authenticator plugin. + Enable DigitalOcean DNS Authenticator plugin. + Enable DNSimple Authenticator plugin. + Enable DNS Made Easy DNS Authenticator plugin. + Enable Gehirn Infrastructure Service DNS Authenticator plugin. + Enable Google Cloud DNS Authenticator plugin. + Enable Linode DNS Authenticator plugin plugin. + Enable LuaDNS Authenticator plugin. + Enable NS1 DNS Authenticator plugin. + Enable OVH DNS Authenticator plugin. + Enable RFC 2136 DNS Authenticator plugin. + Enable Route53 DNS Authenticator plugin. + Enable Sakura Cloud DNS Authenticator plugin. + Enable Nginx plugin. +