Cover Letter Detail
Show a cover letter.
GET /api/covers/24039/?format=api
{ "id": 24039, "url": "https://patchwork.libcamera.org/api/covers/24039/?format=api", "web_url": "https://patchwork.libcamera.org/cover/24039/", "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": "<20250730115045.3481-1-laurent.pinchart@ideasonboard.com>", "date": "2025-07-30T11:50:41", "name": "[v3,0/3] 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/24039/mbox/", "series": [ { "id": 5351, "url": "https://patchwork.libcamera.org/api/series/5351/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5351", "date": "2025-07-30T11:50:41", "name": "Documentation: Use doxylink to generate Sphinx-to-Doxygen links", "version": 3, "mbox": "https://patchwork.libcamera.org/series/5351/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/24039/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 98995BDCC1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 30 Jul 2025 11:50:56 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 69BB8691FB;\n\tWed, 30 Jul 2025 13:50:55 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E8B02691F6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Jul 2025 13:50:53 +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 4E1BDA57\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Jul 2025 13:50:10 +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=\"vttxHStY\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1753876210;\n\tbh=bCMszYlVepVYGZ10PurZqJPQst+OiemEL9e1wJ/YtSg=;\n\th=From:To:Subject:Date:From;\n\tb=vttxHStYquC0T+6DKFdKIWokPFqYlxnPqkr7EkVEatwkRUyFhLVPcFHoHJCeea19+\n\tIxW+5C+kjD39FVQDUXF2Q8poF2nfhQuJ/G1CyhkqJzGZqPv8p/lcLm3g3dhrwFVnM6\n\tmkPi18lHSwGmfCIQpSUt61blHzcmZuWHg5svkfKY=", "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Subject": "[PATCH v3 0/3] Documentation: Use doxylink to generate\n\tSphinx-to-Doxygen links", "Date": "Wed, 30 Jul 2025 14:50:41 +0300", "Message-ID": "<20250730115045.3481-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 v2, this series print an even nicer error message when the\ndoxylink module is not found or is too old, which should hopefully help\nend users troubleshooting 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 (3):\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\n Documentation/Doxyfile-internal.in | 2 +\n Documentation/Doxyfile-public.in | 2 +\n Documentation/conf.py | 95 +++++-------------------------\n Documentation/meson.build | 69 +++++++++++++++-------\n README.rst | 3 +-\n 5 files changed, 67 insertions(+), 104 deletions(-)\n\n\nbase-commit: 2d5a1367e2b14dab9671270655bbb1702e0826de\nprerequisite-patch-id: 91704d112366f8370ab1cf4e34f4a1ab9471e352\n--\nRegards,\n\nLaurent Pinchart" }