{"id":25751,"url":"https://patchwork.libcamera.org/api/patches/25751/?format=json","web_url":"https://patchwork.libcamera.org/patch/25751/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260113000808.15395-32-laurent.pinchart@ideasonboard.com>","date":"2026-01-13T00:08:03","name":"[31/36] libcamera: global_configuration: Populate empty configuration","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"c4c65d47a70bed26383f10085e3a4493b4b0ba42","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/25751/mbox/","series":[{"id":5703,"url":"https://patchwork.libcamera.org/api/series/5703/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5703","date":"2026-01-13T00:07:32","name":"libcamera: Global configuration file improvements","version":1,"mbox":"https://patchwork.libcamera.org/series/5703/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/25751/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/25751/checks/","tags":{},"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 D392FC32EF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Jan 2026 00:09:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7D23F62008;\n\tTue, 13 Jan 2026 01:09:21 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6BCA961FFF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Jan 2026 01:09:20 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-152.bb.dnainternet.fi\n\t[81.175.209.152])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id BC84FBCA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Jan 2026 01:08:54 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"KzOQdluJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768262934;\n\tbh=biwNcX9AnvvKMmo/+haG0inazJgkeTFZD9a4Agd8dPY=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=KzOQdluJPirccR4kWidkHStr1i+R4lh/oKpbAuFDwtfcjds+B0rplYC8PGpT//x8K\n\tNTSfl6gi6n3W3EaqUNZjVngYNF/tUdzMDGYq+SHkR+2x8fmnAQRnU3svDQe5stJwF4\n\tZ2MA05SbouvUEEBVqv0r2rnHU1hc5L3QYMyTfXPY=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH 31/36] libcamera: global_configuration: Populate empty\n\tconfiguration","Date":"Tue, 13 Jan 2026 02:08:03 +0200","Message-ID":"<20260113000808.15395-32-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.51.2","In-Reply-To":"<20260113000808.15395-1-laurent.pinchart@ideasonboard.com>","References":"<20260113000808.15395-1-laurent.pinchart@ideasonboard.com>","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":"If no configuration file can be parsed, populate an empty configuration.\nThis will serve as a base to store the configuration options set through\nenvironment variables.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/libcamera/global_configuration.cpp | 7 ++++++-\n 1 file changed, 6 insertions(+), 1 deletion(-)","diff":"diff --git a/src/libcamera/global_configuration.cpp b/src/libcamera/global_configuration.cpp\nindex 4d154c026e44..a759a086b9a4 100644\n--- a/src/libcamera/global_configuration.cpp\n+++ b/src/libcamera/global_configuration.cpp\n@@ -93,7 +93,12 @@ void GlobalConfiguration::load()\n \n \tfor (const auto &path : globalConfigurationFiles) {\n \t\tif (loadFile(path))\n-\t\t\treturn;\n+\t\t\tbreak;\n+\t}\n+\n+\tif (configuration_->isEmpty()) {\n+\t\tconfiguration_->add(\"version\", std::make_unique<ValueNode>(1));\n+\t\tconfiguration_->add(\"configuration\", std::make_unique<ValueNode>());\n \t}\n }\n \n","prefixes":["31/36"]}