public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/certbot] rawhide: Fix EPEL build
@ 2026-09-18 15:10 Yaakov Selkowitz
  0 siblings, 0 replies; only message in thread
From: Yaakov Selkowitz @ 2026-09-18 15:10 UTC (permalink / raw)
  To: git-commits

            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
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-18 15:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-18 15:10 [rpms/certbot] rawhide: Fix EPEL build Yaakov Selkowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox