Cover Letter Detail
Show a cover letter.
GET /api/covers/24031/?format=api
{ "id": 24031, "url": "https://patchwork.libcamera.org/api/covers/24031/?format=api", "web_url": "https://patchwork.libcamera.org/cover/24031/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20250729204228.23217-1-laurent.pinchart@ideasonboard.com>", "date": "2025-07-29T20:42:23", "name": "[v2,0/4] Documentation: Use doxylink to generate Sphinx-to-Doxygen links", "submitter": { "id": 2, "url": "https://patchwork.libcamera.org/api/people/2/?format=api", "name": "Laurent Pinchart", "email": "laurent.pinchart@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/24031/mbox/", "series": [ { "id": 5349, "url": "https://patchwork.libcamera.org/api/series/5349/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5349", "date": "2025-07-29T20:42:23", "name": "Documentation: Use doxylink to generate Sphinx-to-Doxygen links", "version": 2, "mbox": "https://patchwork.libcamera.org/series/5349/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/24031/comments/", "headers": { "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>", "X-Original-To": "parsemail@patchwork.libcamera.org", "Delivered-To": "parsemail@patchwork.libcamera.org", "Received": [ "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 5152ABDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 29 Jul 2025 20:42:40 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0622B691F0;\n\tTue, 29 Jul 2025 22:42:39 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 85C0869052\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 29 Jul 2025 22:42:37 +0200 (CEST)", "from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 5681B42B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 29 Jul 2025 22:41:54 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"SH2iOU+4\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1753821714;\n\tbh=jZTexdGtP3N1iD27EZS2YDDzRicjNBIxRLq6OPxHBSg=;\n\th=From:To:Subject:Date:From;\n\tb=SH2iOU+42sehvzlXrj+eS7j3gfOs/CpKMpAXdxPv2zHVGrdb+I1ogxJmuHS22Qtlm\n\tLS6QI3B54v/DntOEFTWbnakQ/00gUkzyZ3qghoN8zMOpjQlGA2Ym6hQAwaOBAU6TNX\n\tlXZdMzI78auBOWDZ0cYy/9taxkSzIIXZHndHbjvY=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Subject": "[PATCH v2 0/4] Documentation: Use doxylink to generate\n\tSphinx-to-Doxygen links", "Date": "Tue, 29 Jul 2025 23:42:23 +0300", "Message-ID": "<20250729204228.23217-1-laurent.pinchart@ideasonboard.com>", "X-Mailer": "git-send-email 2.49.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "libcamera-devel@lists.libcamera.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "<libcamera-devel.lists.libcamera.org>", "List-Unsubscribe": "<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>", "List-Archive": "<https://lists.libcamera.org/pipermail/libcamera-devel/>", "List-Post": "<mailto:libcamera-devel@lists.libcamera.org>", "List-Help": "<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>", "List-Subscribe": "<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Hello,\n\nThis patch series fixes a long-standing issue in the libcamera Sphinx\ndocumentation: links from Sphinx to Doxygen.\n\nWhile links between Sphinx pages are generated by Sphinx, and links\nwithin the API documentation are generated by Doxygen, links from Sphinx\nto Doxygen are currently manual, and point to the libcamera.org website.\nThis causes links to regularly break, and prevents testing documentation\nbuilds fully offline.\n\nThe doxylink Sphinx extension module comes to the rescue. It allows\nreferencing the Doxygen documentation from within Sphinx documents,\nusing a custom role.\n\nThe series starts with two small cleanups of the Sphinx configuration in\npatches 1/4 and 2/4. Patch 3/4 then enables doxylink in the build system\nand in the Sphinx configuration, and patch 4/4 replaces manual links.\n\nThe main drawback with this solution is the new dependency on doxylink.\nThe module is packaged by Debian, but the version in Bookworm is not\ncompatible with the Sphinx version shipped by the same distribution\n(doxylink prior to v1.6.1 used an API that got removed in Sphinx 2.0,\nand Bookworm ships doxylink v1.5.1 and Sphinx v5.3.0, which makes me\nwonder how this got tested). The issue is fixed in Debian 13, and the\ndoxylink module can be installed from PyPI in the meantime.\n\nCompared to v1, this series print a nicer error message when the\ndoxylink module is not found, which should hopefully help end users\ntroubleshooting the problem.\n\nI've posted a series to update the CI containers with the new\ndependency, see [1]. With those patches applied, this series passes CI.\n\n[1] https://patchwork.libcamera.org/project/libcamera/list/?series=5339.\n\nLaurent Pinchart (4):\n Documentation: Remove unneeded options from Sphinx configuration\n Documentation: Drop documentation author names\n Documentation: Use Sphinx doxylink to generate links to doxygen\n Documentation: Replace links to Doxygen documentation with doxylink\n\n Documentation/Doxyfile-internal.in | 2 +\n Documentation/Doxyfile-public.in | 2 +\n Documentation/conf.py | 95 +-----\n Documentation/environment_variables.rst | 2 +-\n .../guides/application-developer.rst | 30 +-\n Documentation/guides/pipeline-handler.rst | 312 +++++++-----------\n Documentation/libcamera_architecture.rst | 13 +-\n Documentation/meson.build | 50 +--\n README.rst | 3 +-\n 9 files changed, 187 insertions(+), 322 deletions(-)\n\n\nbase-commit: 2d5a1367e2b14dab9671270655bbb1702e0826de\n--\nRegards,\n\nLaurent Pinchart" }