[{"id":5341,"web_url":"https://patchwork.libcamera.org/comment/5341/","msgid":"<56a36b3c-4739-0b85-3f71-906e2535a31e@uajain.com>","date":"2020-06-23T05:30:45","subject":"Re: [libcamera-devel] [PATCH v3] meson: options: Add an option to\n\tcontrol compilation of qcam","submitter":{"id":1,"url":"https://patchwork.libcamera.org/api/people/1/","name":"Umang Jain","email":"email@uajain.com"},"content":"Hi Niklas,\n\nOne query:\nThe value of global 'auto_features' defaults to 'auto' (which in turn means\nrequire: false). I didn't see 'auto_features' being declared anywhere in the\ncodebase.\n\nWith this patch applied:\n$ meson --auto-features=auto build && ninja -C build\nbuilt qcam for me. It shouldn't have been built because 'auto'\nimplies 'requires: false', no?\n\nMaybe a meson bug or am I missing something.\n\nOn 6/22/20 6:59 PM, Niklas Söderlund wrote:\n> Add an option to control compilation of the qcam test application. The\n> default behavior is to compile qcam, no change in behavior without user\n> intervention.\n>\n> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n> * Changes since v2\n> - Default to auto instead of enabled.\n>\n> * Changes since v1\n> - Sort options alphabetical in meson_options.txt\n> - Use feature instead of boolean and attach it to the qt5_dep\n> ---\n>   meson_options.txt    | 5 +++++\n>   src/qcam/meson.build | 2 +-\n>   2 files changed, 6 insertions(+), 1 deletion(-)\n>\n> diff --git a/meson_options.txt b/meson_options.txt\n> index badace151bb62bc9..e9e815fde366c89d 100644\n> --- a/meson_options.txt\n> +++ b/meson_options.txt\n> @@ -19,6 +19,11 @@ option('pipelines',\n>           choices : ['ipu3', 'raspberrypi', 'rkisp1', 'simple', 'uvcvideo', 'vimc'],\n>           description : 'Select which pipeline handlers to include')\n>   \n> +option('qcam',\n> +        type : 'feature',\n> +        value : 'auto',\n> +        description : 'Compile the qcam test application')\n> +\n>   option('test',\n>           type : 'boolean',\n>           description: 'Compile and include the tests')\n> diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> index 045db52acf26d71b..6ea886a32236d40f 100644\n> --- a/src/qcam/meson.build\n> +++ b/src/qcam/meson.build\n> @@ -22,7 +22,7 @@ qt5 = import('qt5')\n>   qt5_dep = dependency('qt5',\n>                        method : 'pkg-config',\n>                        modules : ['Core', 'Gui', 'Widgets'],\n> -                     required : false)\n> +                     required : get_option('qcam'))\n>   \n>   if qt5_dep.found()\n>       qcam_deps = [\n\nReviewed-by: Umang Jain <email@uajain.com>\n\nThanks!","headers":{"Return-Path":"<bounces+15657259-5c31-libcamera-devel=lists.libcamera.org@em7280.uajain.com>","Received":["from o1.f.az.sendgrid.net (o1.f.az.sendgrid.net [208.117.55.132])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D9B48603B8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 23 Jun 2020 07:30:46 +0200 (CEST)","by filterdrecv-p3iad2-7657dd94f-f9x7b with SMTP id\n\tfilterdrecv-p3iad2-7657dd94f-f9x7b-20-5EF19384-10A\n\t2020-06-23 05:30:45.044454742 +0000 UTC m=+386900.904318446","from mail.uajain.com (unknown)\n\tby ismtpd0007p1hnd1.sendgrid.net (SG) with ESMTP\n\tid prkyhksBQ66gYjdZFmgiXg Tue, 23 Jun 2020 05:30:44.695 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=uajain.com\n\theader.i=@uajain.com header.b=\"vFpaJ4hz\"; \n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=uajain.com;\n\th=subject:references:from:mime-version:in-reply-to:to:content-type:\n\tcontent-transfer-encoding;\n\ts=s1; bh=UXRCti1ODxEsv0fGl4279Sj5y3XgkBaOIotJ1frCcW0=;\n\tb=vFpaJ4hzbwft6SJbihHamEWNzt2YHK6q0FnVsMSAsMnrwSXwBM8kdqi9nr5Cci4DplZs\n\tJdpNejHbDgZdzByraLSi9vHha/5rCjl/5ctBythIuxLB/zAY0h3YoO9KiR5mLg5pLiTLQc\n\tgcnr815kEFjisZP4NHQ6gtpVFllGFN39w=","References":"<20200622132948.1398048-1-niklas.soderlund@ragnatech.se>","From":"Umang Jain <email@uajain.com>","Message-ID":"<56a36b3c-4739-0b85-3f71-906e2535a31e@uajain.com>","Date":"Tue, 23 Jun 2020 05:30:45 +0000 (UTC)","Mime-Version":"1.0","In-Reply-To":"<20200622132948.1398048-1-niklas.soderlund@ragnatech.se>","X-SG-EID":"1Q40EQ7YGir8a9gjSIAdTjhngY657NMk9ckeo4dbHZDiOpywc/L3L9rFqlwE4KPc/mSirh79xX0l6HRHZb2eYDgo/UYsfQ5XedcXMaXi0U7Z4VKtaDyEzSRg9bqJ1jH7H48jbmcfX9rbDiMX+pg/ZEEh+HnAkf3Q5fNYILCdKCYMB8M2HX+EiA8+V0Cb8ihAYsFfCrh6WQpiMsl0yhcD7yCC70lM7GnK2gabCXNQ64WvaVvmINK85c7r0ajDuzszC37mjluHI0P6viqv5ZG01Q==","To":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>,\n\tlibcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=iso-8859-1; format=flowed","Content-Transfer-Encoding":"8bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH v3] meson: options: Add an option to\n\tcontrol compilation of qcam","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>","X-List-Received-Date":"Tue, 23 Jun 2020 05:30:47 -0000"}},{"id":5395,"web_url":"https://patchwork.libcamera.org/comment/5395/","msgid":"<20200625033333.GF5980@pendragon.ideasonboard.com>","date":"2020-06-25T03:33:33","subject":"Re: [libcamera-devel] [PATCH v3] meson: options: Add an option to\n\tcontrol compilation of qcam","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Umang,\n\nOn Tue, Jun 23, 2020 at 05:30:45AM +0000, Umang Jain wrote:\n> Hi Niklas,\n> \n> One query:\n> The value of global 'auto_features' defaults to 'auto' (which in turn means\n> require: false). I didn't see 'auto_features' being declared anywhere in the\n> codebase.\n> \n> With this patch applied:\n> $ meson --auto-features=auto build && ninja -C build\n> built qcam for me. It shouldn't have been built because 'auto'\n> implies 'requires: false', no?\n\n\"requires : false\" doesn't imply that qcam won't get built, it implies\nthat if its dependencies are not found, it can be skipped. In this case,\nwith the qcam option having the value 'auto', qcam will be built if Qt\nis found, and skipped otherwise. If you set the qcam option to 'enabled'\ninstead, and Qt is missing, meson will complain. If you set the option\nto 'disabled', qcam will not be built, regardless of whether Qt is\navailable or not. I haven't tested this though, so my understanding\ncould be wrong.\n\n> Maybe a meson bug or am I missing something.\n> \n> On 6/22/20 6:59 PM, Niklas Söderlund wrote:\n> > Add an option to control compilation of the qcam test application. The\n> > default behavior is to compile qcam, no change in behavior without user\n> > intervention.\n> >\n> > Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> > * Changes since v2\n> > - Default to auto instead of enabled.\n> >\n> > * Changes since v1\n> > - Sort options alphabetical in meson_options.txt\n> > - Use feature instead of boolean and attach it to the qt5_dep\n> > ---\n> >   meson_options.txt    | 5 +++++\n> >   src/qcam/meson.build | 2 +-\n> >   2 files changed, 6 insertions(+), 1 deletion(-)\n> >\n> > diff --git a/meson_options.txt b/meson_options.txt\n> > index badace151bb62bc9..e9e815fde366c89d 100644\n> > --- a/meson_options.txt\n> > +++ b/meson_options.txt\n> > @@ -19,6 +19,11 @@ option('pipelines',\n> >           choices : ['ipu3', 'raspberrypi', 'rkisp1', 'simple', 'uvcvideo', 'vimc'],\n> >           description : 'Select which pipeline handlers to include')\n> >   \n> > +option('qcam',\n> > +        type : 'feature',\n> > +        value : 'auto',\n> > +        description : 'Compile the qcam test application')\n> > +\n> >   option('test',\n> >           type : 'boolean',\n> >           description: 'Compile and include the tests')\n> > diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n> > index 045db52acf26d71b..6ea886a32236d40f 100644\n> > --- a/src/qcam/meson.build\n> > +++ b/src/qcam/meson.build\n> > @@ -22,7 +22,7 @@ qt5 = import('qt5')\n> >   qt5_dep = dependency('qt5',\n> >                        method : 'pkg-config',\n> >                        modules : ['Core', 'Gui', 'Widgets'],\n> > -                     required : false)\n> > +                     required : get_option('qcam'))\n> >   \n> >   if qt5_dep.found()\n> >       qcam_deps = [\n> \n> Reviewed-by: Umang Jain <email@uajain.com>","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 D514CC0101\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Jun 2020 03:33:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 58CBE609B3;\n\tThu, 25 Jun 2020 05:33:37 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C47BC603BB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Jun 2020 05:33:35 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E96BB521;\n\tThu, 25 Jun 2020 05:33:34 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"EhURHq4j\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1593056015;\n\tbh=G83eYdXFhz6JXYxVwD7nSINtgC2wRDBqTtdoi8Beuxw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=EhURHq4jT81Ie47XgDXS4OtoxAYc/5RgN7svvxKWAQIkopODsrfFcE/GB/5UTZkdh\n\trj6pUcHWmdEfQSNMP4qh3P3b6DvaRbgRcDB8yXC70fZLhh9GBZqdL5ihh0NeB8AFZ0\n\t6rG9zIQsEnQ4ZdT2MaMniTJENBNF+GonNOjYn3s4=","Date":"Thu, 25 Jun 2020 06:33:33 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <email@uajain.com>","Message-ID":"<20200625033333.GF5980@pendragon.ideasonboard.com>","References":"<20200622132948.1398048-1-niklas.soderlund@ragnatech.se>\n\t<56a36b3c-4739-0b85-3f71-906e2535a31e@uajain.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<56a36b3c-4739-0b85-3f71-906e2535a31e@uajain.com>","Subject":"Re: [libcamera-devel] [PATCH v3] meson: options: Add an option to\n\tcontrol compilation of qcam","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":5400,"web_url":"https://patchwork.libcamera.org/comment/5400/","msgid":"<373c9585-a496-545f-0d5f-de0553c71940@uajain.com>","date":"2020-06-25T06:00:20","subject":"Re: [libcamera-devel] [PATCH v3] meson: options: Add an option to\n\tcontrol compilation of qcam","submitter":{"id":1,"url":"https://patchwork.libcamera.org/api/people/1/","name":"Umang Jain","email":"email@uajain.com"},"content":"Hi Laurent, Niklas,\n\nThanks for the explanation.\n\nNow I understand what 'auto' exactly means. :)\n\nOn 6/25/20 9:03 AM, Laurent Pinchart wrote:\n> Hi Umang,\n>\n> On Tue, Jun 23, 2020 at 05:30:45AM +0000, Umang Jain wrote:\n>> Hi Niklas,\n>>\n>> One query:\n>> The value of global 'auto_features' defaults to 'auto' (which in turn means\n>> require: false). I didn't see 'auto_features' being declared anywhere in the\n>> codebase.\n>>\n>> With this patch applied:\n>> $ meson --auto-features=auto build && ninja -C build\n>> built qcam for me. It shouldn't have been built because 'auto'\n>> implies 'requires: false', no?\n> \"requires : false\" doesn't imply that qcam won't get built, it implies\n> that if its dependencies are not found, it can be skipped. In this case,\n> with the qcam option having the value 'auto', qcam will be built if Qt\n> is found, and skipped otherwise. If you set the qcam option to 'enabled'\n> instead, and Qt is missing, meson will complain. If you set the option\n> to 'disabled', qcam will not be built, regardless of whether Qt is\n> available or not. I haven't tested this though, so my understanding\n> could be wrong.\n>\n>> Maybe a meson bug or am I missing something.\n>>\n>> On 6/22/20 6:59 PM, Niklas Söderlund wrote:\n>>> Add an option to control compilation of the qcam test application. The\n>>> default behavior is to compile qcam, no change in behavior without user\n>>> intervention.\n>>>\n>>> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n>>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>>> ---\n>>> * Changes since v2\n>>> - Default to auto instead of enabled.\n>>>\n>>> * Changes since v1\n>>> - Sort options alphabetical in meson_options.txt\n>>> - Use feature instead of boolean and attach it to the qt5_dep\n>>> ---\n>>>    meson_options.txt    | 5 +++++\n>>>    src/qcam/meson.build | 2 +-\n>>>    2 files changed, 6 insertions(+), 1 deletion(-)\n>>>\n>>> diff --git a/meson_options.txt b/meson_options.txt\n>>> index badace151bb62bc9..e9e815fde366c89d 100644\n>>> --- a/meson_options.txt\n>>> +++ b/meson_options.txt\n>>> @@ -19,6 +19,11 @@ option('pipelines',\n>>>            choices : ['ipu3', 'raspberrypi', 'rkisp1', 'simple', 'uvcvideo', 'vimc'],\n>>>            description : 'Select which pipeline handlers to include')\n>>>    \n>>> +option('qcam',\n>>> +        type : 'feature',\n>>> +        value : 'auto',\n>>> +        description : 'Compile the qcam test application')\n>>> +\n>>>    option('test',\n>>>            type : 'boolean',\n>>>            description: 'Compile and include the tests')\n>>> diff --git a/src/qcam/meson.build b/src/qcam/meson.build\n>>> index 045db52acf26d71b..6ea886a32236d40f 100644\n>>> --- a/src/qcam/meson.build\n>>> +++ b/src/qcam/meson.build\n>>> @@ -22,7 +22,7 @@ qt5 = import('qt5')\n>>>    qt5_dep = dependency('qt5',\n>>>                         method : 'pkg-config',\n>>>                         modules : ['Core', 'Gui', 'Widgets'],\n>>> -                     required : false)\n>>> +                     required : get_option('qcam'))\n>>>    \n>>>    if qt5_dep.found()\n>>>        qcam_deps = [\n>> Reviewed-by: Umang Jain <email@uajain.com>","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 5EADBC0100\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Jun 2020 06:00:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EA95E609A5;\n\tThu, 25 Jun 2020 08:00:24 +0200 (CEST)","from o1.f.az.sendgrid.net (o1.f.az.sendgrid.net [208.117.55.132])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8E020603B5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Jun 2020 08:00:22 +0200 (CEST)","by filter0130p3las1.sendgrid.net with SMTP id\n\tfilter0130p3las1-3679-5EF43D74-A3\n\t2020-06-25 06:00:20.521089486 +0000 UTC m=+559827.513591299","from mail.uajain.com (unknown)\n\tby ismtpd0002p1maa1.sendgrid.net (SG) with ESMTP\n\tid 5GYwQtWEQtqyyPHVzuQA3w Thu, 25 Jun 2020 06:00:20.142 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=uajain.com header.i=@uajain.com\n\theader.b=\"bRVx/IcB\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=uajain.com;\n\th=subject:references:from:mime-version:in-reply-to:to:cc:content-type:\n\tcontent-transfer-encoding;\n\ts=s1; bh=a9tCrF9ECl7gcCWOBo0u0sIQE7myPN/7nUT91jAZink=;\n\tb=bRVx/IcB0HayfqNv67yG/lpgc3ds5SQVAxG4fsVRsSGtLPwTBfXlThgcbbhrPYKyMmFK\n\t55gdpdNGM0DFbCwVdnQycMGnTU3tXatUXzOmOyienM0aGCifj2i2UrI42m25pvXXNfKsM9\n\tnhclHI9/1tgYwwHceA0DRdwb9NoUK2DYA=","References":"<20200622132948.1398048-1-niklas.soderlund@ragnatech.se>\n\t<56a36b3c-4739-0b85-3f71-906e2535a31e@uajain.com>\n\t<20200625033333.GF5980@pendragon.ideasonboard.com>","From":"Umang Jain <email@uajain.com>","Message-ID":"<373c9585-a496-545f-0d5f-de0553c71940@uajain.com>","Date":"Thu, 25 Jun 2020 06:00:20 +0000 (UTC)","Mime-Version":"1.0","In-Reply-To":"<20200625033333.GF5980@pendragon.ideasonboard.com>","X-SG-EID":"1Q40EQ7YGir8a9gjSIAdTjhngY657NMk9ckeo4dbHZDiOpywc/L3L9rFqlwE4KPcmGfnt8UlNcpPI7X/q8AWBrLl9xxjEkYiYMeUSCgp4O8agoYzZrwpEDFtkwR13+9/jKmodnWkg0zv+yXeIlyxt543mh2GoIGNo8K7VFwZ1c2lXeeoAaB9CxXmY4Yr59ebsrQ1BGE6xUrbvP0y5wM/51iTyJ4PZbtVd041lbYg5hk7nc2pJ4JmVfgR8qc6fQ3c","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH v3] meson: options: Add an option to\n\tcontrol compilation of qcam","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Transfer-Encoding":"quoted-printable","Content-Type":"text/plain; charset=\"iso-8859-1\"; Format=\"flowed\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]