public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Yaakov Selkowitz <yselkowi@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/certbot] rawhide: Fix EPEL build
Date: Fri, 18 Sep 2026 15:10:52 GMT	[thread overview]
Message-ID: <178974425279.1.15765432125596544221.rpms-certbot-a048c91e43b2@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/certbot
            Branch : rawhide
            Commit : a048c91e43b22026d47936eafca92f300fa82bf9
            Author : Yaakov Selkowitz <yselkowi@redhat.com>
            Date   : 2026-09-17T18:45:26-04:00
            Stats  : +12/-1 in 1 file(s)
            URL    : https://src.fedoraproject.org/rpms/certbot/c/a048c91e43b22026d47936eafca92f300fa82bf9?branch=rawhide

            Log:
            Fix EPEL build

There is a circular dependency between the certbot[apache|nginx] extras and
the certbot-{apache,nginx} modules which is lost in the sed dance during
%generate_buildrequires.  However, the extras pull in external dependencies
which the modules need, so these need to be accounted for at runtime.
While pyparsing is pulled in as a dependency of building the docs on
Fedora, those are skipped in EPEL, and this results in pyparsing being
missing during the nginx tests, which then fail.

---
diff --git a/certbot.spec b/certbot.spec
index 7affcec..5c53375 100644
--- a/certbot.spec
+++ b/certbot.spec
@@ -110,6 +110,8 @@ Requires:   mod_ssl
 # of installing buildreqs and these would cause blocking since they aren't built yet
 Requires: python3-acme = %{version}-%{release}
 Requires: python3-certbot = %{version}-%{release}
+# dependency of certbot[apache] extra
+Requires: python3-augeas
 # Provide the name users expect as a certbot plugin
 %if 0%{?fedora} || (0%{?rhel} && 0%{?rhel} >= 8)
 Provides:   certbot-apache = %{version}-%{release}
@@ -125,6 +127,8 @@ Provides:      certbot-nginx = %{version}-%{release}
 # of installing buildreqs and these would cause blocking since they aren't built yet
 Requires: python3-acme = %{version}-%{release}
 Requires: python3-certbot = %{version}-%{release}
+# dependency of certbot[nginx] extra
+Requires: python3-pyparsing
 # Recommend the CLI as that will be the interface most use
 Recommends:    certbot >= %{version}
 
@@ -221,9 +225,16 @@ find . -name pyproject.toml -exec sed -i -e s'@license = "Apache-2.0"@license = 
 %generate_buildrequires
 for module in acme certbot %{MODULES} certbot-apache certbot-nginx
 do
+  # we need to avoid build deps on 'acme' and 'certbot[EXTRA]' in each module,
+  # as we are building everything in tandem, but we still need the deps pulled
+  # in by certbot's extras (e.g. pyparsing)
+  case $module in
+    certbot) extras="-x apache,nginx" ;;
+    *) extras= ;;
+  esac
   cd $module
   sed -Ei '/(acme|certbot)[^>]*>=\{version\}/d' setup.py
-    %pyproject_buildrequires
+    %pyproject_buildrequires $extras
   cd ..
 done
 

                 reply	other threads:[~2026-09-18 15:10 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178974425279.1.15765432125596544221.rpms-certbot-a048c91e43b2@fedoraproject.org \
    --to=yselkowi@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox