Show a cover letter.

GET /api/covers/19915/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 19915,
    "url": "https://patchwork.libcamera.org/api/covers/19915/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/19915/",
    "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": "<20240423103034.364150-1-mzamazal@redhat.com>",
    "date": "2024-04-23T10:30:15",
    "name": "[v2,00/13] Add global configuration file",
    "submitter": {
        "id": 177,
        "url": "https://patchwork.libcamera.org/api/people/177/?format=api",
        "name": "Milan Zamazal",
        "email": "mzamazal@redhat.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/19915/mbox/",
    "series": [
        {
            "id": 4267,
            "url": "https://patchwork.libcamera.org/api/series/4267/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4267",
            "date": "2024-04-23T10:30:15",
            "name": "Add global configuration file",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/4267/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/19915/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 0C4DFBE08B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 23 Apr 2024 10:31:09 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2BDE961B3D;\n\tTue, 23 Apr 2024 12:31:08 +0200 (CEST)",
            "from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B9A9F61AC9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Apr 2024 12:31:06 +0200 (CEST)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n\t[66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-413-OII6mtXHOcaUBiEB49rOjw-1; Tue, 23 Apr 2024 06:31:03 -0400",
            "from smtp.corp.redhat.com\n\t(int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby mimecast-mx02.redhat.com (Postfix) with ESMTPS id 61F3880253A;\n\tTue, 23 Apr 2024 10:31:03 +0000 (UTC)",
            "from nuthatch.redhat.com (unknown [10.45.225.63])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 25F831C060D0;\n\tTue, 23 Apr 2024 10:31:01 +0000 (UTC)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"aem/XlVK\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1713868265;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding;\n\tbh=NMzN6eGr8qwIERZiQOHwWjUGO6K0h5wD9H12xJWsFLs=;\n\tb=aem/XlVKbrBeia58TEQ7AChpuTpmrvfU5W0Xpf/1dqDWrR615Kgq4X2Dgem0pw8lq/QBPl\n\tLVyhn3SsoL9bhj0AQGu9DZrOiK+Ww8L7Mch64dZrijI44F0U8ROOXMpKgIdD//tE0JZBS3\n\tepysB563WFN00Dx59PKCH5W5k8IzyE4=",
        "X-MC-Unique": "OII6mtXHOcaUBiEB49rOjw-1",
        "From": "Milan Zamazal <mzamazal@redhat.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Milan Zamazal <mzamazal@redhat.com>,\n\tNaushir Patuck <naush@raspberrypi.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>",
        "Subject": "[PATCH v2 00/13] Add global configuration file",
        "Date": "Tue, 23 Apr 2024 12:30:15 +0200",
        "Message-ID": "<20240423103034.364150-1-mzamazal@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 3.4.1 on 10.11.54.7",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Type": "text/plain; charset=UTF-8",
        "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": "This patch series introduces global configuration file for libcamera, to\nprovide runtime configuration means other than environment variables.\nInstead of, or in addition to, the growing list of configuration\nenvironment variables, the whole configuration can be specified in a\nsingle configuration file.  This is both simpler and more flexible.\n\nThis is not a replacement for specific configuration files already\npresent in libcamera.\n\nThe patches implement what is needed to introduce the configuration file\nproviding configuration options corresponding to the current environment\nvariables.  They demonstrate how to deal with the key points that must\nbe considered.  See commit messages for more details.\n\nThe configuration file is a YAML file.  It is looked up in user’s home\ndirectory or, if not present, in system-wide libcamera directories.\nEnvironment variables, if set, still take precedence.\n\nThis patch series is not exhaustive, there can be future enhancements,\nmost notably configuration file validation to avoid confusions caused by\ntypos etc.\n\nThe initial RFC didn't get any objections, so posting a regular ready to\nreview patch series now.\n\nChanges in v2:\n- Rebased on master.\n- Various cleanups, documentation improvements and minor fixes.\n- Configuration option for LIBCAMERA_RPI_TUNING_FILE added (Naush).\n- Two more patches for software ISP configuration added.\n\nMilan Zamazal (13):\n  config: Introduce global runtime configuration\n  config: Move global configuration to base\n  config: Look up logging levels in the configuration file\n  config: Add configuration retrieval helpers\n  config: Look up log file in configuration file\n  config: Look up log color configuration in configuration file\n  config: Look up rpi paths in configuration file\n  config: Look up IPA configurables in configuration file\n  config: Look up RkISP1 tuning file in configuration file\n  config: Allow enabling software ISP in runtime\n  config: Add global configuration file documentation\n  libcamera: software_isp: Make input buffer copying configurable\n  libcamera: software_isp: Make measurement configurable\n\n Documentation/index.rst                       |   2 +-\n Documentation/meson.build                     |   2 +-\n ...ariables.rst => runtime_configuration.rst} | 104 ++++++++-\n .../libcamera/internal/global_configuration.h |  64 +++++\n include/libcamera/internal/meson.build        |   1 +\n src/libcamera/base/global_configuration.cpp   | 219 ++++++++++++++++++\n src/libcamera/base/log.cpp                    |  24 +-\n src/libcamera/base/meson.build                |  15 ++\n src/libcamera/{ => base}/yaml_parser.cpp      |   0\n src/libcamera/camera_manager.cpp              |   9 +\n src/libcamera/ipa_manager.cpp                 |  23 +-\n src/libcamera/ipa_proxy.cpp                   |   8 +-\n src/libcamera/meson.build                     |  14 --\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   9 +-\n .../pipeline/rpi/common/pipeline_base.cpp     |  16 +-\n src/libcamera/pipeline/simple/simple.cpp      |  12 +\n src/libcamera/process.cpp                     |  11 +-\n src/libcamera/software_isp/TODO               |  36 ---\n src/libcamera/software_isp/debayer_cpu.cpp    |  30 ++-\n src/libcamera/software_isp/debayer_cpu.h      |   7 +-\n 20 files changed, 508 insertions(+), 98 deletions(-)\n rename Documentation/{environment_variables.rst => runtime_configuration.rst} (63%)\n create mode 100644 include/libcamera/internal/global_configuration.h\n create mode 100644 src/libcamera/base/global_configuration.cpp\n rename src/libcamera/{ => base}/yaml_parser.cpp (100%)"
}