Hello,
I have uploaded 2.3.0-1.1 to delayed/10 to address this issue. I simply
added the upstream fix for this issue:
https://github.com/mongodb/mongo-c-driver/commit/e5038f25d9088a9efe5befaf44e9316c0e5a927c
diff -Naur old/mongo-c-driver-2.3.0/debian/changelog
mongo-c-driver-2.3.0/debian/changelog
--- old/mongo-c-driver-2.3.0/debian/changelog 2026-04-22
22:22:27.000000000 +0200
+++ mongo-c-driver-2.3.0/debian/changelog 2026-05-21
11:02:19.875533238 +0200
@@ -1,3 +1,11 @@
+mongo-c-driver (2.3.0-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Add upstream patch 0002_Remove_HTML_redirect_tricks to fix a FTBFS.
+ Closes: #1135502
+
+ -- Patrick Matthäi <[email protected]> Thu, 21 May 2026 10:58:04 +0200
+
mongo-c-driver (2.3.0-1) unstable; urgency=medium
* New upstream release
diff -Naur old/mongo-c-driver-2.3.0/debian/files
mongo-c-driver-2.3.0/debian/files
--- old/mongo-c-driver-2.3.0/debian/files 1970-01-01
01:00:00.000000000 +0100
+++ mongo-c-driver-2.3.0/debian/files 2026-05-21 11:02:36.607496297 +0200
@@ -0,0 +1 @@
+mongo-c-driver_2.3.0-1.1_source.buildinfo libs optional
diff -Naur
old/mongo-c-driver-2.3.0/debian/patches/0002_Remove_HTML_redirect_tricks.diff
mongo-c-driver-2.3.0/debian/patches/0002_Remove_HTML_redirect_tricks.diff
---
old/mongo-c-driver-2.3.0/debian/patches/0002_Remove_HTML_redirect_tricks.diff
1970-01-01 01:00:00.000000000 +0100
+++
mongo-c-driver-2.3.0/debian/patches/0002_Remove_HTML_redirect_tricks.diff
2026-05-21 10:56:19.936325889 +0200
@@ -0,0 +1,138 @@
+From e5038f25d9088a9efe5befaf44e9316c0e5a927c Mon Sep 17 00:00:00 2001
+From: Colby Pike <[email protected]>
+Date: Thu, 7 May 2026 12:35:07 -0600
+Subject: [PATCH] [CDRIVER-6031] Remove HTML redirect tricks from docs build
+ (#2286)
+
+This fixes our HTML documentation builds with Sphinx 9.0+. After some
inspection, it was found that the HTML-based redirects where never
published to our official documentation, as the dirhtml builder wasn't
being used there. As such, the redirects were never relied on by any
users, so they can be removed without issue.
+---
+ build/cmake/SphinxBuild.cmake | 31 ++++++------------------------
+ build/sphinx/mongoc_common.py | 36 -----------------------------------
+ build/sphinx/redirect.t.html | 12 ------------
+ 3 files changed, 6 insertions(+), 73 deletions(-)
+ delete mode 100644 build/sphinx/redirect.t.html
+
+diff --git a/build/cmake/SphinxBuild.cmake b/build/cmake/SphinxBuild.cmake
+index a25434fd2dd..d35c057410d 100644
+--- a/build/cmake/SphinxBuild.cmake
++++ b/build/cmake/SphinxBuild.cmake
+@@ -25,30 +25,11 @@ function (sphinx_build_html target_name doc_dir)
+
+ file (GLOB_RECURSE doc_rsts RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
CONFIGURE_DEPENDS *.rst)
+
+- # Select a builder: The Sphinx `dirhtml` builder will result in
"prettier" URLs,
+- # as each page is an `index.html` within a directory. This relies
on "autoindex"-style
+- # static file URL resolution in the HTTP server, which is extremely
common. For
+- # EVG, however, we host build results on a server that does not
support this,
+- # so instead use the traditional HTML builder so that the built
documentation
+- # artifact can be easily viewed in a web browser
+- set(is_evg_docs_build "$ENV{EVG_DOCS_BUILD}")
+- if(NOT is_evg_docs_build)
+- set (builder dirhtml)
+- # We have an extension in place that generates stub page
redirects for
+- # old HTML file URLs that now point to the auto-index URL for the
+- # corresponding page. As such, every .rst builds two
corresponding .html
+- # files:
+- list (TRANSFORM doc_rsts
+- REPLACE "^(.+)\\.rst$" "html/\\1.html;html/\\1/index.html"
+- OUTPUT_VARIABLE doc_htmls)
+- else()
+- set (builder html)
+- # We use the regular html builder in this case, which generates
exactly
+- # one HTML page for each input rST file
+- list (TRANSFORM doc_rsts
+- REPLACE "^(.+)\\.rst$" "html/\\1.html"
+- OUTPUT_VARIABLE doc_htmls)
+- endif()
++ # We use the regular html builder in this case, which generates exactly
++ # one HTML page for each input rST file
++ list (TRANSFORM doc_rsts
++ REPLACE "^(.+)\\.rst$" "html/\\1.html"
++ OUTPUT_VARIABLE doc_htmls)
+
+ # Set PYTHONDONTWRITEBYTECODE to prevent .pyc clutter in the source
directory
+ add_custom_command (OUTPUT ${doc_htmls}
+@@ -57,7 +38,7 @@ function (sphinx_build_html target_name doc_dir)
+ ${CMAKE_COMMAND} -E env
+ "PYTHONDONTWRITEBYTECODE=1"
+ ${SPHINX_EXECUTABLE}
+- -qnW -b "${builder}"
++ -qnW -b html
+ -j "${NPROCS}"
+ -c "${CMAKE_CURRENT_SOURCE_DIR}"
+ -d "${doctrees_dir}"
+diff --git a/build/sphinx/mongoc_common.py b/build/sphinx/mongoc_common.py
+index 4247d649083..d7fcabe916b 100644
+--- a/build/sphinx/mongoc_common.py
++++ b/build/sphinx/mongoc_common.py
+@@ -6,13 +6,7 @@
+ from docutils import nodes
+ from docutils.nodes import Node, document
+ from sphinx.application import Sphinx
+-from sphinx.application import logger as sphinx_log
+
+-try:
+- from sphinx.builders.dirhtml import DirectoryHTMLBuilder
+-except ImportError:
+- # Try importing from older Sphinx version path.
+- from sphinx.builders.html import DirectoryHTMLBuilder
+ from docutils.parsers.rst import Directive
+
+ # Do not require newer sphinx. EPEL packages build man pages with
Sphinx 1.7.6. Refer: CDRIVER-4767
+@@ -136,38 +130,8 @@ def run(self) -> Sequence[Node]:
+ return [header, blist]
+
+
+-def generate_html_redirs(app: Sphinx, page: str, templatename: str,
context: Dict[str, Any], doctree: Any) -> None:
+- builder = app.builder
+- if not isinstance(builder, DirectoryHTMLBuilder) or
'writing-redirect' in context:
+- return
+- if page == 'index' or page.endswith('.index'):
+- return
+- path = app.project.doc2path(page, True)
+- out_index_html = Path(builder.get_outfilename(page))
+- slug = out_index_html.parent.name
+- redirect_file = out_index_html.parent.parent / f'{slug}.html'
+- # HACK: handle_page() is not properly reentrant. Save and restore
state for
+- # this page while we generate our redirects page:
+- prev_scripts = builder.script_files[:]
+- prev_css = builder.css_files[:]
+- builder.handle_page(
+- f'redirect-for-{page}',
+- {'target': page, 'writing-redirect': 1},
+- str(Path(__file__).parent.resolve() / 'redirect.t.html'),
+- # Note: In Sphinx 8.2, this argument changed from `str` to
`Path`, but
+- # continues to work with `str`. A future version might need
this changed
+- # to pass a `Path`, but we can keep `str` for now.
+- outfilename=str(redirect_file), # type: ignore
+- )
+- # Restore prior state:
+- builder.script_files[:] = prev_scripts
+- builder.css_files[:] = prev_css
+- sphinx_log.debug('Wrote redirect: %r -> %r', path, page)
+-
+-
+ def mongoc_common_setup(app: Sphinx):
+ _collect_man(app)
+- app.connect('html-page-context', generate_html_redirs)
+ app.connect('html-page-context', add_ga_javascript)
+ # Run sphinx-build -D analytics=1 to enable Google Analytics.
+ app.add_config_value('analytics', False, 'html')
+diff --git a/build/sphinx/redirect.t.html b/build/sphinx/redirect.t.html
+deleted file mode 100644
+index bbc16085932..00000000000
+--- a/build/sphinx/redirect.t.html
++++ /dev/null
+@@ -1,12 +0,0 @@
+-{%- extends "!page.html" %}
+-
+-{% block extrahead -%}
+-<meta http-equiv="refresh" content="3; url={{ pathto(target, 1) | e }}">
+-{%- endblock %}
+-
+-{% block content %}
+-<p>
+- This page has been migrated to <pre>{{ pathto(target) | e
}}</pre>. You should be
+- redirected to this location automatically in a few seconds.
+-</p>
+-{% endblock %}
diff -Naur old/mongo-c-driver-2.3.0/debian/patches/series
mongo-c-driver-2.3.0/debian/patches/series
--- old/mongo-c-driver-2.3.0/debian/patches/series 2026-04-22
22:22:27.000000000 +0200
+++ mongo-c-driver-2.3.0/debian/patches/series 2026-05-21
10:57:41.808145936 +0200
@@ -1 +1,2 @@
0001_local_mathjax.diff
+0002_Remove_HTML_redirect_tricks.diff