[{"id":32883,"web_url":"https://patchwork.libcamera.org/comment/32883/","msgid":"<173461257770.32744.3848769116426198634@ping.linuxembedded.co.uk>","date":"2024-12-19T12:49:37","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2024-12-19 12:37:24)\n> Install the example configuration file of the virtual pipeline\n> handler as it serves documentation purposes, and to make the\n> virtual pipeline handler easily usable in CI.\n> \n> Nonetheless, the file is installed with the \".example\" suffix\n> so that it will not be used by default, to avoid cluttering\n> the camera lists of users whose distributions decide to\n> enable the virtual pipeline handler.\n> \n> Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n> ---\n>  src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n>  src/libcamera/pipeline/virtual/meson.build      | 2 ++\n>  2 files changed, 6 insertions(+)\n>  create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n> \n> diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n> new file mode 100644\n> index 000000000..ce63f9a27\n> --- /dev/null\n> +++ b/src/libcamera/pipeline/virtual/data/meson.build\n> @@ -0,0 +1,4 @@\n> +install_data('virtual.yaml',\n> +             install_dir : pipeline_data_dir / 'virtual',\n> +             install_tag : 'runtime',\n> +             rename: 'virtual.yaml.example')\n\nOh that's a very neat way to handle this.\n\n> diff --git a/src/libcamera/pipeline/virtual/meson.build b/src/libcamera/pipeline/virtual/meson.build\n> index 4786fe2e0..c84345936 100644\n> --- a/src/libcamera/pipeline/virtual/meson.build\n> +++ b/src/libcamera/pipeline/virtual/meson.build\n> @@ -11,3 +11,5 @@ libjpeg = dependency('libjpeg', required : true)\n>  \n>  libcamera_deps += [libyuv_dep]\n>  libcamera_deps += [libjpeg]\n> +\n> +subdir('data')\n\nI think we normally handle subdir calls early in the meson.build, but I\nthink this is fine too.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> -- \n> 2.47.1\n> \n>","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 38C37C3273\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 19 Dec 2024 12:49:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 314D26846A;\n\tThu, 19 Dec 2024 13:49:43 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C970361899\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 19 Dec 2024 13:49:40 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0AEB56D6;\n\tThu, 19 Dec 2024 13:49:02 +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=\"vybVfqVN\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734612542;\n\tbh=E4SNcB40Hh+58/dEljFN+Z4pt3J6fCOvPhIbkLPWtc4=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=vybVfqVNPvaAiImXCfVu4rAt3F4gYtIXTlIHrPWLCJiE+eIpeQ1jmu9CUDF1/uIo2\n\tXPY6nPyQDaJ/OMcPqG9/lpczvc8RTLAxnBEU+irdnfBDY3XiXGesohLhtIhzOcVzbO\n\tfWdmA6+8EsbsDFotvjRfqnNngzpRBDyfy22NvxyU=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20241219123722.513083-1-pobrn@protonmail.com>","References":"<20241219123722.513083-1-pobrn@protonmail.com>","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Thu, 19 Dec 2024 12:49:37 +0000","Message-ID":"<173461257770.32744.3848769116426198634@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>"}},{"id":32884,"web_url":"https://patchwork.libcamera.org/comment/32884/","msgid":"<CAEB1aht9pmPnR9niUnwtu8QdGCB-1_7Uo8cQZWQZW8HH6PHOKw@mail.gmail.com>","date":"2024-12-19T13:37:00","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"content":"Hi Barnabás,\n\nThanks for handling this!\n\nReviewed-by: Harvey Yang <chenghaoyang@chromium.org>\n\nOn Thu, Dec 19, 2024 at 8:49 PM Kieran Bingham\n<kieran.bingham@ideasonboard.com> wrote:\n>\n> Quoting Barnabás Pőcze (2024-12-19 12:37:24)\n> > Install the example configuration file of the virtual pipeline\n> > handler as it serves documentation purposes, and to make the\n> > virtual pipeline handler easily usable in CI.\n> >\n> > Nonetheless, the file is installed with the \".example\" suffix\n> > so that it will not be used by default, to avoid cluttering\n> > the camera lists of users whose distributions decide to\n> > enable the virtual pipeline handler.\n> >\n> > Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n> > ---\n> >  src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n> >  src/libcamera/pipeline/virtual/meson.build      | 2 ++\n> >  2 files changed, 6 insertions(+)\n> >  create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n> >\n> > diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n> > new file mode 100644\n> > index 000000000..ce63f9a27\n> > --- /dev/null\n> > +++ b/src/libcamera/pipeline/virtual/data/meson.build\n> > @@ -0,0 +1,4 @@\n> > +install_data('virtual.yaml',\n> > +             install_dir : pipeline_data_dir / 'virtual',\n> > +             install_tag : 'runtime',\n> > +             rename: 'virtual.yaml.example')\n>\n> Oh that's a very neat way to handle this.\n>\n> > diff --git a/src/libcamera/pipeline/virtual/meson.build b/src/libcamera/pipeline/virtual/meson.build\n> > index 4786fe2e0..c84345936 100644\n> > --- a/src/libcamera/pipeline/virtual/meson.build\n> > +++ b/src/libcamera/pipeline/virtual/meson.build\n> > @@ -11,3 +11,5 @@ libjpeg = dependency('libjpeg', required : true)\n> >\n> >  libcamera_deps += [libyuv_dep]\n> >  libcamera_deps += [libjpeg]\n> > +\n> > +subdir('data')\n>\n> I think we normally handle subdir calls early in the meson.build, but I\n> think this is fine too.\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>\n> > --\n> > 2.47.1\n> >\n> >","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 719D9C3273\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 19 Dec 2024 13:37:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5F7AC6846F;\n\tThu, 19 Dec 2024 14:37:14 +0100 (CET)","from mail-lj1-x234.google.com (mail-lj1-x234.google.com\n\t[IPv6:2a00:1450:4864:20::234])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9797E68469\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 19 Dec 2024 14:37:12 +0100 (CET)","by mail-lj1-x234.google.com with SMTP id\n\t38308e7fff4ca-3011c7b39c7so10280191fa.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 19 Dec 2024 05:37:12 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"bmGOc7V6\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google; t=1734615432; x=1735220232;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=Y8EfBf5vRjNAYRne+LK2w2X+4of5hlcc3eeTcjUGT94=;\n\tb=bmGOc7V6POuk3EEA2GxyWaYDpuYe2w30xIq4vGpoaCz7rixNbvjpFHSeLi5brFduUK\n\tKGQvVtM656xOPcDwvntg42wGMDz3hLsvA0W5StjIU6qU9N+22xL1j2v34B/IsfJR8pzM\n\tvKm5SzdKVQZLBsZ0n0lzU0sJMyYZgVNIODvz4=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1734615432; x=1735220232;\n\th=content-transfer-encoding:cc:to:subject:message-id:date:from\n\t:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=Y8EfBf5vRjNAYRne+LK2w2X+4of5hlcc3eeTcjUGT94=;\n\tb=V/nThaTS0rW8BFZlqiu3wxJ0ZC+oHR2NgANBi7q5kWRj7Wb1ysS6MFFll/tGhgWpw1\n\tip53OQTrYYoO2UDgN7GthkAG6DISrZofVTIp0KFefoFjDmbS/npnG5bm3p2WqkLLMhAt\n\taGSk3X9KkrrOpn+ih4y2qnXZrgJVW/Lbn12U2oqKa8TOqgI5QRfsOL7+hJJYM77O2jzt\n\tfNorv81RQ55+seHCvTfuLxNAV3mEPtKzC0lqWU6YBIe8oLSAWffwLpajVfkLb4Evh4Hw\n\td1G+NKaULJeAouwhVU3Gk055NtF8EVHV7oHweYP4TrgMDP1UpXhcCTOxVNlYGd1OQZer\n\t9uxA==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCWp2/+RgYzl2CU4BFAu/edZsMfcqMKbrnQOkR+nkQvcYGHHQ/kTFDr4zSNQFwYYR8ujf9JKiOas8L/CSiRJXzc=@lists.libcamera.org","X-Gm-Message-State":"AOJu0Yzemt3h5Jbc2UxYn66b95HbQb+grMIfrwtfytvZiouMunoWhjK9\n\th01WjBk9RRerA77Fybwoy/Pi3fwM20NPWwGzdy4rJSPo/3qlEeoFJjHpCYBcwd6NirVKyl5nCO3\n\t5RWlVgpG2EuJiodPbXwi/vM80+tmVqvp52o/d","X-Gm-Gg":"ASbGnctDL8/cCS9vEiGwqJKuZy34UfXygsQwjsLnD9wT+2CdNpfnbG6XHf4L34vuPr5\n\tEAgXw2HSMxWxlmdOfB4AQKDO9M02F8fns7s27","X-Google-Smtp-Source":"AGHT+IHTX17YAcrBqmeF45tgBqXjO+jgZEGZNMosBqs2xqOkWCVRaVGaBNy3SrsyQ9J6qbC3x72mUG/K9cBsc7npQMc=","X-Received":"by 2002:a05:651c:50a:b0:300:1de5:59e3 with SMTP id\n\t38308e7fff4ca-3044da7108amr25466761fa.2.1734615431510;\n\tThu, 19 Dec 2024 05:37:11 -0800 (PST)","MIME-Version":"1.0","References":"<20241219123722.513083-1-pobrn@protonmail.com>\n\t<173461257770.32744.3848769116426198634@ping.linuxembedded.co.uk>","In-Reply-To":"<173461257770.32744.3848769116426198634@ping.linuxembedded.co.uk>","From":"Cheng-Hao Yang <chenghaoyang@chromium.org>","Date":"Thu, 19 Dec 2024 21:37:00 +0800","Message-ID":"<CAEB1aht9pmPnR9niUnwtu8QdGCB-1_7Uo8cQZWQZW8HH6PHOKw@mail.gmail.com>","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>,\n\tlibcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","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>"}},{"id":32889,"web_url":"https://patchwork.libcamera.org/comment/32889/","msgid":"<20241219232747.GL19884@pendragon.ideasonboard.com>","date":"2024-12-19T23:27:47","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Barnabás,\n\nThank you for the patch.\n\nOn Thu, Dec 19, 2024 at 12:37:24PM +0000, Barnabás Pőcze wrote:\n> Install the example configuration file of the virtual pipeline\n> handler as it serves documentation purposes, and to make the\n> virtual pipeline handler easily usable in CI.\n> \n> Nonetheless, the file is installed with the \".example\" suffix\n> so that it will not be used by default, to avoid cluttering\n> the camera lists of users whose distributions decide to\n> enable the virtual pipeline handler.\n> \n> Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n> ---\n>  src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n>  src/libcamera/pipeline/virtual/meson.build      | 2 ++\n>  2 files changed, 6 insertions(+)\n>  create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n> \n> diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n> new file mode 100644\n> index 000000000..ce63f9a27\n> --- /dev/null\n> +++ b/src/libcamera/pipeline/virtual/data/meson.build\n> @@ -0,0 +1,4 @@\n> +install_data('virtual.yaml',\n> +             install_dir : pipeline_data_dir / 'virtual',\n> +             install_tag : 'runtime',\n> +             rename: 'virtual.yaml.example')\n\nI'm no specialist when it comes to file system layouts, but it seems to\nbe a common practice for example files to be installed in\n/usr/share/doc/$pkgname/. Some software seem to use user locations\nthough. What that be a better target directory ? I'm not entirely sure\nmyself.\n\n> diff --git a/src/libcamera/pipeline/virtual/meson.build b/src/libcamera/pipeline/virtual/meson.build\n> index 4786fe2e0..c84345936 100644\n> --- a/src/libcamera/pipeline/virtual/meson.build\n> +++ b/src/libcamera/pipeline/virtual/meson.build\n> @@ -11,3 +11,5 @@ libjpeg = dependency('libjpeg', required : true)\n>  \n>  libcamera_deps += [libyuv_dep]\n>  libcamera_deps += [libjpeg]\n> +\n> +subdir('data')","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 26172C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 19 Dec 2024 23:27:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4889C68486;\n\tFri, 20 Dec 2024 00:27:54 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 58698680AE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 Dec 2024 00:27:52 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 39E03526;\n\tFri, 20 Dec 2024 00:27:13 +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=\"eXFzDeRD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734650833;\n\tbh=L2a9Ko96HA8VfzIw0xEtZsx+qvGWE34pFhyHbDC6GIM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=eXFzDeRDWeLww77xLTJV3sJgmNB2ohJtUy2BCdx0c5DILjbj2Q1d7L2QD99f0qr0g\n\t3a6PT80zYauaH6tWVHMkh/CvpEXLLPH8VfdTKJCp+YPE6SwalD3k8iZDwQ/l4dLZJy\n\tGtUUaF7Cw5nPbBpsZ3uxISqrfosI1aAco0vEafBQ=","Date":"Fri, 20 Dec 2024 01:27:47 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","Message-ID":"<20241219232747.GL19884@pendragon.ideasonboard.com>","References":"<20241219123722.513083-1-pobrn@protonmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20241219123722.513083-1-pobrn@protonmail.com>","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>"}},{"id":32891,"web_url":"https://patchwork.libcamera.org/comment/32891/","msgid":"<IK7UAXC4DhOGhbi1ZWC14A-aj97E467XFMAdUxappWx2QbZTEi8QbK3NGOsy6h0qQlaQG1u-7iO6Y2sfFaKylfs7r4yU2fG0leOabvkUVck=@protonmail.com>","date":"2024-12-20T09:41:11","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":133,"url":"https://patchwork.libcamera.org/api/people/133/","name":"Pőcze Barnabás","email":"pobrn@protonmail.com"},"content":"Hi\n\n\n2024. december 20., péntek 0:27 keltezéssel, Laurent Pinchart <laurent.pinchart@ideasonboard.com> írta:\n\n> Hi Barnabás,\n> \n> Thank you for the patch.\n> \n> On Thu, Dec 19, 2024 at 12:37:24PM +0000, Barnabás Pőcze wrote:\n> > Install the example configuration file of the virtual pipeline\n> > handler as it serves documentation purposes, and to make the\n> > virtual pipeline handler easily usable in CI.\n> >\n> > Nonetheless, the file is installed with the \".example\" suffix\n> > so that it will not be used by default, to avoid cluttering\n> > the camera lists of users whose distributions decide to\n> > enable the virtual pipeline handler.\n> >\n> > Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n> > ---\n> >  src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n> >  src/libcamera/pipeline/virtual/meson.build      | 2 ++\n> >  2 files changed, 6 insertions(+)\n> >  create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n> >\n> > diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n> > new file mode 100644\n> > index 000000000..ce63f9a27\n> > --- /dev/null\n> > +++ b/src/libcamera/pipeline/virtual/data/meson.build\n> > @@ -0,0 +1,4 @@\n> > +install_data('virtual.yaml',\n> > +             install_dir : pipeline_data_dir / 'virtual',\n> > +             install_tag : 'runtime',\n> > +             rename: 'virtual.yaml.example')\n> \n> I'm no specialist when it comes to file system layouts, but it seems to\n> be a common practice for example files to be installed in\n> /usr/share/doc/$pkgname/. Some software seem to use user locations\n> though. What that be a better target directory ? I'm not entirely sure\n> myself.\n> [...]\n\nI can find examples of both on my machine, and I did consider that, but during the\nimplementation I came to the conclusion that this is a better choice:\n\n  * the documentation directory has the libcamera version number, so it is a bit more\n    inconvenient to address it in the CI;\n  * it is easier and more convenient if the file is already where it is supposed to be.\n\nSo my preference would be installing it into the proper configuration file directory\nwith the `runtime` installation tag.\n\n\nRegards,\nBarnabás Pőcze","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 05FD9C32A3\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 Dec 2024 09:41:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D113F6848A;\n\tFri, 20 Dec 2024 10:41:17 +0100 (CET)","from mail-40131.protonmail.ch (mail-40131.protonmail.ch\n\t[185.70.40.131])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2C0CE62C8A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 Dec 2024 10:41:15 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=protonmail.com header.i=@protonmail.com\n\theader.b=\"MG8HDYjU\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;\n\ts=protonmail3; t=1734687674; x=1734946874;\n\tbh=x54aHt3pUam8qmFZbd9fp6pTZ0n+txaqKFhWCkMkEN0=;\n\th=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:\n\tFeedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:\n\tMessage-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;\n\tb=MG8HDYjUYEFYMI+mK0HceLePvqAMwj17GLMltokWYHMNupnVsAuaHXkRQQPpq+hay\n\tJBZgQI2Vke/TGjU+uplDfqojtPm7KqEhho9xZ0Vxo2twcYkTW962Be2MW5ZND+kaBE\n\tBdXeCP9BRAt2ud4QmRvZW+sY+x/hY+5Ir+41dGCURJ4LdysSKogHMenOpo6SuR/hwW\n\trBt96U9ReJT0/boGeo9x6DIweffIcUA9Y34lb+loOo8I0VJBBjyPMxglyvevrVvRse\n\tpuR02yxC3lL732dYdT8KMLuE2hnXQ5T2Xp+pnwK/d6SSxBx2bqClIddJLbiDiP7+wH\n\tGrysSNrX7K8sA==","Date":"Fri, 20 Dec 2024 09:41:11 +0000","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","Message-ID":"<IK7UAXC4DhOGhbi1ZWC14A-aj97E467XFMAdUxappWx2QbZTEi8QbK3NGOsy6h0qQlaQG1u-7iO6Y2sfFaKylfs7r4yU2fG0leOabvkUVck=@protonmail.com>","In-Reply-To":"<20241219232747.GL19884@pendragon.ideasonboard.com>","References":"<20241219123722.513083-1-pobrn@protonmail.com>\n\t<20241219232747.GL19884@pendragon.ideasonboard.com>","Feedback-ID":"20568564:user:proton","X-Pm-Message-ID":"add62f17a1ba062abff9ec3572c9b9e2e8c532d9","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","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>"}},{"id":32892,"web_url":"https://patchwork.libcamera.org/comment/32892/","msgid":"<20241220094446.GB9948@pendragon.ideasonboard.com>","date":"2024-12-20T09:44:46","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Fri, Dec 20, 2024 at 09:41:11AM +0000, Barnabás Pőcze wrote:\n> 2024. december 20., péntek 0:27 keltezéssel, Laurent Pinchart írta:\n> > On Thu, Dec 19, 2024 at 12:37:24PM +0000, Barnabás Pőcze wrote:\n> > > Install the example configuration file of the virtual pipeline\n> > > handler as it serves documentation purposes, and to make the\n> > > virtual pipeline handler easily usable in CI.\n> > >\n> > > Nonetheless, the file is installed with the \".example\" suffix\n> > > so that it will not be used by default, to avoid cluttering\n> > > the camera lists of users whose distributions decide to\n> > > enable the virtual pipeline handler.\n> > >\n> > > Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n> > > ---\n> > >  src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n> > >  src/libcamera/pipeline/virtual/meson.build      | 2 ++\n> > >  2 files changed, 6 insertions(+)\n> > >  create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n> > >\n> > > diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n> > > new file mode 100644\n> > > index 000000000..ce63f9a27\n> > > --- /dev/null\n> > > +++ b/src/libcamera/pipeline/virtual/data/meson.build\n> > > @@ -0,0 +1,4 @@\n> > > +install_data('virtual.yaml',\n> > > +             install_dir : pipeline_data_dir / 'virtual',\n> > > +             install_tag : 'runtime',\n> > > +             rename: 'virtual.yaml.example')\n> > \n> > I'm no specialist when it comes to file system layouts, but it seems to\n> > be a common practice for example files to be installed in\n> > /usr/share/doc/$pkgname/. Some software seem to use user locations\n> > though. What that be a better target directory ? I'm not entirely sure\n> > myself.\n> > [...]\n> \n> I can find examples of both on my machine, and I did consider that, but during the\n> implementation I came to the conclusion that this is a better choice:\n> \n>   * the documentation directory has the libcamera version number, so it is a bit more\n>     inconvenient to address it in the CI;\n>   * it is easier and more convenient if the file is already where it is supposed to be.\n> \n> So my preference would be installing it into the proper configuration file directory\n> with the `runtime` installation tag.\n\nCapturing that rationale in the commit message would be nice.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.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 24361C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 Dec 2024 09:44:56 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A7BD46848B;\n\tFri, 20 Dec 2024 10:44:54 +0100 (CET)","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 6600762C8A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 Dec 2024 10:44:52 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id ED277ABE;\n\tFri, 20 Dec 2024 10:44:12 +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=\"DdmoUqn1\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1734687853;\n\tbh=eModKrJHEERvEdbPm9pCQNNon/5YVW/eMvlKmhjWgDs=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=DdmoUqn1xIU30SrqoR66HXYlgeDfinfaMhEM2PiVLpIvlVizGAeAIamJD2RLBhA56\n\t53+F78lyZg/nnOO+IiNhLVB6dOeIH+qABYoxbm6x6afm7BBZXAQmandIpuqp1Ji38E\n\tJc7uBJYmBilhAC08w16k2dMgx4Kc8eH/S2on8OIo=","Date":"Fri, 20 Dec 2024 11:44:46 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","Message-ID":"<20241220094446.GB9948@pendragon.ideasonboard.com>","References":"<20241219123722.513083-1-pobrn@protonmail.com>\n\t<20241219232747.GL19884@pendragon.ideasonboard.com>\n\t<IK7UAXC4DhOGhbi1ZWC14A-aj97E467XFMAdUxappWx2QbZTEi8QbK3NGOsy6h0qQlaQG1u-7iO6Y2sfFaKylfs7r4yU2fG0leOabvkUVck=@protonmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<IK7UAXC4DhOGhbi1ZWC14A-aj97E467XFMAdUxappWx2QbZTEi8QbK3NGOsy6h0qQlaQG1u-7iO6Y2sfFaKylfs7r4yU2fG0leOabvkUVck=@protonmail.com>","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>"}},{"id":32901,"web_url":"https://patchwork.libcamera.org/comment/32901/","msgid":"<2f4f044a-4e86-4d4d-9502-4af7b2f5c083@gmx.de>","date":"2024-12-20T16:05:10","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":111,"url":"https://patchwork.libcamera.org/api/people/111/","name":"Christian Rauch","email":"Rauch.Christian@gmx.de"},"content":"Hi Barnabás,\n\nThank you for looking into this. I am also interested in making the\nvirtual pipeline available in an \"install\" space for testing\napplications that use an installed libcamera or binary (Debian, etc.)\npackages.\n\nAt the moment, the search path is hard coded through\n\"LIBCAMERA_DATA_DIR\", the virtual pipeline will search in\n\"<install>/share/libcamera/pipeline/virtual/virtual.yaml\".\n\nHow would you make the \"virtual.yaml.example\" available in the CI. Would\nyou move/rename/symlink \"virtual.yaml.example\" to match that path in CI?\nIf so, instead, I think it would be more convenient to set the\nconfiguration file path at runtime with an environment variable instead\nof changing the installed package. What do you think?\n\nBest,\nChristian\n\n\nAm 19.12.24 um 13:37 schrieb Barnabás Pőcze:\n> Install the example configuration file of the virtual pipeline\n> handler as it serves documentation purposes, and to make the\n> virtual pipeline handler easily usable in CI.\n>\n> Nonetheless, the file is installed with the \".example\" suffix\n> so that it will not be used by default, to avoid cluttering\n> the camera lists of users whose distributions decide to\n> enable the virtual pipeline handler.\n>\n> Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n> ---\n>   src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n>   src/libcamera/pipeline/virtual/meson.build      | 2 ++\n>   2 files changed, 6 insertions(+)\n>   create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n>\n> diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n> new file mode 100644\n> index 000000000..ce63f9a27\n> --- /dev/null\n> +++ b/src/libcamera/pipeline/virtual/data/meson.build\n> @@ -0,0 +1,4 @@\n> +install_data('virtual.yaml',\n> +             install_dir : pipeline_data_dir / 'virtual',\n> +             install_tag : 'runtime',\n> +             rename: 'virtual.yaml.example')\n> diff --git a/src/libcamera/pipeline/virtual/meson.build b/src/libcamera/pipeline/virtual/meson.build\n> index 4786fe2e0..c84345936 100644\n> --- a/src/libcamera/pipeline/virtual/meson.build\n> +++ b/src/libcamera/pipeline/virtual/meson.build\n> @@ -11,3 +11,5 @@ libjpeg = dependency('libjpeg', required : true)\n>\n>   libcamera_deps += [libyuv_dep]\n>   libcamera_deps += [libjpeg]\n> +\n> +subdir('data')","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 F08EBC3274\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 Dec 2024 16:05:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C982C684A0;\n\tFri, 20 Dec 2024 17:05:15 +0100 (CET)","from mout.gmx.net (mout.gmx.net [212.227.15.18])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 660336808F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 Dec 2024 17:05:12 +0100 (CET)","from [192.168.0.12] ([5.146.192.51]) by mail.gmx.net (mrgmx004\n\t[212.227.17.190]) with ESMTPSA (Nemesis) id 1N0oFz-1tjCU63TAD-00x5ir\n\tfor\n\t<libcamera-devel@lists.libcamera.org>; Fri, 20 Dec 2024 17:05:11 +0100"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmx.de header.i=rauch.christian@gmx.de\n\theader.b=\"oxSUI09x\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;\n\ts=s31663417; t=1734710712; x=1735315512; i=rauch.christian@gmx.de;\n\tbh=yrjaYlGVvFk8GjcA8Z57HdSTCRGYM4q3mlpmbzARl5s=;\n\th=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:\n\tReferences:From:In-Reply-To:Content-Type:\n\tContent-Transfer-Encoding:cc:content-transfer-encoding:\n\tcontent-type:date:from:message-id:mime-version:reply-to:subject:\n\tto;\n\tb=oxSUI09x8e6HDuLIw+wjZEle5ybfwTbk/ikQdqhpiYI5L5bMnyWeMXTftTo5Gkts\n\tK88t3KgW9pNzXj9nzp3mgGyabNOzsfQPAYk17wK3bGl2pmV55oAL+pXKg3dIgLjKl\n\tdNmpim23i1f15Brp7RrZGsjtUGaG8ZQDs/MB2NLIm/m1gesQUnQjB7VviGCL4XVRb\n\tG0EwYKKAnKyn45xlBgaAJq/7cD/Gt2mBljijmME5Pye64wOwKqf42BmQDQG3ppf3+\n\tTiNEhS2AglJnL1EyS7imlT/RTTJCbGUxnKujTM3HKO6ueM4DRT9fRlrn41Ryklxr6\n\tlL+WEvDxhCzlkSuA+A==","X-UI-Sender-Class":"724b4f7f-cbec-4199-ad4e-598c01a50d3a","Message-ID":"<2f4f044a-4e86-4d4d-9502-4af7b2f5c083@gmx.de>","Date":"Fri, 20 Dec 2024 17:05:10 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","To":"libcamera-devel@lists.libcamera.org","References":"<20241219123722.513083-1-pobrn@protonmail.com>","Content-Language":"en-US","From":"Christian Rauch <Rauch.Christian@gmx.de>","In-Reply-To":"<20241219123722.513083-1-pobrn@protonmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"quoted-printable","X-Provags-ID":"V03:K1:dntIBXvs0Y+C3JVhrkuLiBkUmkGFBWdBLT8WAjNrVMtCwcbxm8K\n\tlrOoKwtc081IBhhcT9FQ6u67TCyS948jNsHYEvzMh1KepCglmC437XnlNeN1TTkTDY7C1Y1\n\tp6x0gPZ+dPZX9K0OZdkBgYIc9Y0acdRTLtC59VnFk3nruQb8poa6rxAKjrA5bCgCaE7SCcr\n\tQo7jUFoSyyaFPqA259DqA==","X-Spam-Flag":"NO","UI-OutboundReport":"notjunk:1; M01:P0:3UV7JntmjT8=;\n\tggPZMINIcY9jm5qC5ZkViVg7+I5\n\tVd8R8ZMROIaeyhdkv1qSa8w1oomTkcM4XijOdQFDjV4ypmZJ3nZNQRDKwhBY8EZ6TsEsWIrjp\n\tDUs+O/v5V3v8UneOpKme3mzVyHdgcuaJGPazZoWysYnJtQ906j87ICaDyPmLu4cMFVYn3Flo8\n\tdssjlYZlpFRbr/KpK0L+BTldZIkEYlrCMLqQI9ZgB7/Ut+2SNBq6p9UMZ2EyjSgW0gBS5z3uO\n\tX2fJ3bewQKWQhqUmsC9EuJmUbgKY2LI3IvqUu4AVX6yC9ZI6sEKP6t8t+gnXNfz9eQdN5Rtia\n\tsdavFAi/mklkKrr0t03/Pi9zaSaxYAkFbcSCehUMRQDFI7eoJh5BdZdfl6NmffYa6h1UcLMIr\n\t+iEtvU50QigbPsTiHguArd9AvOwnFL/tPnF/OBNieGPg35zNyrmpw5n4le/4hfi9ydDzBmd6n\n\tqMday0r8olRbLfIle2wG0Jroi6uHw1nhhincIgqfbLjWPQnPOpBWkcqOcJoMOLcRaK0KgxsKS\n\tBAZkaMJF9+gjQGX7UqenxNNTxMOW5zytGX+Y26aySClk57B7Mx5SdtGkPbzcxnhuARcmUULio\n\tSxjGB1LwGimvZ5Lpzi1Et5XxDeXT7WAoR5X9nLL6o5Pee7IZrI/tq9NTpxrqsr21UjmVXtRl8\n\tttcvKNMqaonNeo1TfTeh39tXmB0tZcCL6wdGr112bFcrfugKSzj1DT13DYd/vW+iGZwIHAhuf\n\tckJznUg5nAUn07zKXrBRyakqpdnYUxAGDtOXO0z/lQRcbEVZKU1d431PGErbIJmlHagtkneoU\n\tzsuzP9LLCquy1zYyfSX2ny0NhZbREPiA3E75rO5C/6k1JaHVzpgGRvszuPNb7WoccRIyMkOMh\n\tWdYjNxyujQZQqIyC2WIC/w95c7+yvcjPxbz4YpNaL2E2XrpQ87TXqLSx0zZfp2pnt3NXCSwKZ\n\tuOLslz5L/RjZRTPEORO+I+twHL8yLFom1f++m1RqS+R2fSL7C88DwvkCZw4WVFcPil5VUYckn\n\t5xMST4s/veG++urGuNzGjD/ipJNp+HAmRyrw3MtwuS2kQ1J043WDm0ABYXfCKR8z913fE9kC5\n\t1XG7slYONTyyhLmoZZJDg+fwSVs9iv","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>"}},{"id":32905,"web_url":"https://patchwork.libcamera.org/comment/32905/","msgid":"<qynYk1bpxeqC_awZIfO5CRRGsFDdTSON6N717NW5d4pZ9iqhzaGBvr7mBoVzv_gXAwOSvyg5t-2APW8uYtYxpWfsoq5proE5iA7Wr71bh7k=@protonmail.com>","date":"2024-12-20T16:32:16","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":133,"url":"https://patchwork.libcamera.org/api/people/133/","name":"Pőcze Barnabás","email":"pobrn@protonmail.com"},"content":"Hi\n\n\n2024. december 20., péntek 17:05 keltezéssel, Christian Rauch <Rauch.Christian@gmx.de> írta:\n\n> Hi Barnabás,\n> \n> Thank you for looking into this. I am also interested in making the\n> virtual pipeline available in an \"install\" space for testing\n> applications that use an installed libcamera or binary (Debian, etc.)\n> packages.\n> \n> At the moment, the search path is hard coded through\n> \"LIBCAMERA_DATA_DIR\", the virtual pipeline will search in\n> \"<install>/share/libcamera/pipeline/virtual/virtual.yaml\".\n> \n> How would you make the \"virtual.yaml.example\" available in the CI. Would\n> you move/rename/symlink \"virtual.yaml.example\" to match that path in CI?\n\nThat's correct: https://patchwork.libcamera.org/patch/22407/\n\n\n> If so, instead, I think it would be more convenient to set the\n> configuration file path at runtime with an environment variable instead\n> of changing the installed package. What do you think?\n\nIt's not clear to me if you're proposing the addition of a virtual pipeline handler\nspecific environmental variable, or if you want something like `LIBCAMERA_PIPELINE_CONFIG_PATH`?\n\nAnd indeed, you're right, but currently the way configuration files are looked up\nand used is a bit fragmented in libcamera. Ideally, that should be unified, and\npossibly support for configuration fragments should be added. In that case this\nfile could be installed as \"virtual.yaml\", and then an appropriately placed fragment\n(e.g. `~/.config/libcamera/libcamera.conf.d/10-enable-virtual.conf`) could simply\nenable the pipeline handler (which would be disabled in the default configuration).\nI hope you can understand that with that goal in mind, I am personally not a fan\nof adding temporary measures for the being. But if I misunderstand your proposal,\nplease don't hesitate to correct me.\n\n\nRegards,\nBarnabás Pőcze\n\n\n> \n> Best,\n> Christian\n> \n> \n> Am 19.12.24 um 13:37 schrieb Barnabás Pőcze:\n> > Install the example configuration file of the virtual pipeline\n> > handler as it serves documentation purposes, and to make the\n> > virtual pipeline handler easily usable in CI.\n> >\n> > Nonetheless, the file is installed with the \".example\" suffix\n> > so that it will not be used by default, to avoid cluttering\n> > the camera lists of users whose distributions decide to\n> > enable the virtual pipeline handler.\n> >\n> > Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n> > ---\n> >   src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n> >   src/libcamera/pipeline/virtual/meson.build      | 2 ++\n> >   2 files changed, 6 insertions(+)\n> >   create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n> >\n> > diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n> > new file mode 100644\n> > index 000000000..ce63f9a27\n> > --- /dev/null\n> > +++ b/src/libcamera/pipeline/virtual/data/meson.build\n> > @@ -0,0 +1,4 @@\n> > +install_data('virtual.yaml',\n> > +             install_dir : pipeline_data_dir / 'virtual',\n> > +             install_tag : 'runtime',\n> > +             rename: 'virtual.yaml.example')\n> > diff --git a/src/libcamera/pipeline/virtual/meson.build b/src/libcamera/pipeline/virtual/meson.build\n> > index 4786fe2e0..c84345936 100644\n> > --- a/src/libcamera/pipeline/virtual/meson.build\n> > +++ b/src/libcamera/pipeline/virtual/meson.build\n> > @@ -11,3 +11,5 @@ libjpeg = dependency('libjpeg', required : true)\n> >\n> >   libcamera_deps += [libyuv_dep]\n> >   libcamera_deps += [libjpeg]\n> > +\n> > +subdir('data')\n>","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 1F924C3274\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 20 Dec 2024 16:32:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C10D9684B1;\n\tFri, 20 Dec 2024 17:32:20 +0100 (CET)","from mail-10631.protonmail.ch (mail-10631.protonmail.ch\n\t[79.135.106.31])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A087F684A3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 20 Dec 2024 17:32:19 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=protonmail.com header.i=@protonmail.com\n\theader.b=\"AL8oRkNg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;\n\ts=protonmail3; t=1734712338; x=1734971538;\n\tbh=IaxJf0WMlu3P6pgcspyKtfvqNo5L81ojjNNwjYHAoaI=;\n\th=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:\n\tFeedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:\n\tMessage-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;\n\tb=AL8oRkNgHdAZ0QCaUxw2VKwp+y7HTjkoimyeutGU7ywk+T/Wx8q09ERRDsuTUuRwr\n\tuj2ELIOQn8rks0oAEtAQTaCz5d/yqqP4GwJXhWrC5bDsYOiVfTI9tBc7GvZ1eeQ9P5\n\tnjdnK4N6Zr3NNx4iAMuR6bZH6qZzOdjXqDMddAw5VPx5p+npEkp4RjN0ckOdPQq39a\n\t7bBqrRFnq91i1MOs5F0otF8Yudi4XbvcjsjXe9zyzP57uV33A2fz6Ch4PmbhLUy6cj\n\tDsNRx9Nv+3/crpUUB51nkuouPo4VXKy8YyOOh8UPd9utbVEmC9WBColKaYPUqCZ0FN\n\txODo/WRQFlCeg==","Date":"Fri, 20 Dec 2024 16:32:16 +0000","To":"Christian Rauch <Rauch.Christian@gmx.de>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","Message-ID":"<qynYk1bpxeqC_awZIfO5CRRGsFDdTSON6N717NW5d4pZ9iqhzaGBvr7mBoVzv_gXAwOSvyg5t-2APW8uYtYxpWfsoq5proE5iA7Wr71bh7k=@protonmail.com>","In-Reply-To":"<2f4f044a-4e86-4d4d-9502-4af7b2f5c083@gmx.de>","References":"<20241219123722.513083-1-pobrn@protonmail.com>\n\t<2f4f044a-4e86-4d4d-9502-4af7b2f5c083@gmx.de>","Feedback-ID":"20568564:user:proton","X-Pm-Message-ID":"1ccabf55e936a3b54b50d31733ab9ec338f744b0","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"quoted-printable","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>"}},{"id":32915,"web_url":"https://patchwork.libcamera.org/comment/32915/","msgid":"<474db526-5916-45a3-9c7e-124b534732fb@gmx.de>","date":"2025-01-02T14:48:40","subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","submitter":{"id":111,"url":"https://patchwork.libcamera.org/api/people/111/","name":"Christian Rauch","email":"Rauch.Christian@gmx.de"},"content":"Hi,\n\nAm 20.12.24 um 17:32 schrieb Barnabás Pőcze:\n> Hi\n>\n>\n> 2024. december 20., péntek 17:05 keltezéssel, Christian Rauch <Rauch.Christian@gmx.de> írta:\n>\n>> Hi Barnabás,\n>>\n>> Thank you for looking into this. I am also interested in making the\n>> virtual pipeline available in an \"install\" space for testing\n>> applications that use an installed libcamera or binary (Debian, etc.)\n>> packages.\n>>\n>> At the moment, the search path is hard coded through\n>> \"LIBCAMERA_DATA_DIR\", the virtual pipeline will search in\n>> \"<install>/share/libcamera/pipeline/virtual/virtual.yaml\".\n>>\n>> How would you make the \"virtual.yaml.example\" available in the CI. Would\n>> you move/rename/symlink \"virtual.yaml.example\" to match that path in CI?\n>\n> That's correct: https://patchwork.libcamera.org/patch/22407/\n>\n>\n>> If so, instead, I think it would be more convenient to set the\n>> configuration file path at runtime with an environment variable instead\n>> of changing the installed package. What do you think?\n>\n> It's not clear to me if you're proposing the addition of a virtual pipeline handler\n> specific environmental variable, or if you want something like `LIBCAMERA_PIPELINE_CONFIG_PATH`?\n\nI am not sure about this myself. Having a generic env that can override\n'LIBCAMERA_DATA_DIR' would be useful for any pipeline, but a \"virtual\"\nspecific variable would also do and more explicitly describe the intent\nto use the virtual pipeline with a test configuration.\n\nIn general, it would be useful to set test properties at runtime for\napplications that use libcamera as an installed library during\ndevelopment, without the need to change the original libcamera\ninstallation (e.g. from a system package). Such a test configuration\nwould then be part of the application unit tests. I don't think this\nshould be placed somewhere in the user's private configuration folder\n($XDG_CONFIG_HOME), since this is unlikely something that a regular\n(non-developer) user would use.\n\nThe virtual pipeline handler could then always be compiled into the\nlibrary, and it would only become active, if a configuration file is set\nvia the environment variable.\n\nBest,\nChristian\n\n\n> And indeed, you're right, but currently the way configuration files are looked up\n> and used is a bit fragmented in libcamera. Ideally, that should be unified, and\n> possibly support for configuration fragments should be added. In that case this\n> file could be installed as \"virtual.yaml\", and then an appropriately placed fragment\n> (e.g. `~/.config/libcamera/libcamera.conf.d/10-enable-virtual.conf`) could simply\n> enable the pipeline handler (which would be disabled in the default configuration).\n> I hope you can understand that with that goal in mind, I am personally not a fan\n> of adding temporary measures for the being. But if I misunderstand your proposal,\n> please don't hesitate to correct me.\n>\n>\n> Regards,\n> Barnabás Pőcze\n>\n>\n>>\n>> Best,\n>> Christian\n>>\n>>\n>> Am 19.12.24 um 13:37 schrieb Barnabás Pőcze:\n>>> Install the example configuration file of the virtual pipeline\n>>> handler as it serves documentation purposes, and to make the\n>>> virtual pipeline handler easily usable in CI.\n>>>\n>>> Nonetheless, the file is installed with the \".example\" suffix\n>>> so that it will not be used by default, to avoid cluttering\n>>> the camera lists of users whose distributions decide to\n>>> enable the virtual pipeline handler.\n>>>\n>>> Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>\n>>> ---\n>>>    src/libcamera/pipeline/virtual/data/meson.build | 4 ++++\n>>>    src/libcamera/pipeline/virtual/meson.build      | 2 ++\n>>>    2 files changed, 6 insertions(+)\n>>>    create mode 100644 src/libcamera/pipeline/virtual/data/meson.build\n>>>\n>>> diff --git a/src/libcamera/pipeline/virtual/data/meson.build b/src/libcamera/pipeline/virtual/data/meson.build\n>>> new file mode 100644\n>>> index 000000000..ce63f9a27\n>>> --- /dev/null\n>>> +++ b/src/libcamera/pipeline/virtual/data/meson.build\n>>> @@ -0,0 +1,4 @@\n>>> +install_data('virtual.yaml',\n>>> +             install_dir : pipeline_data_dir / 'virtual',\n>>> +             install_tag : 'runtime',\n>>> +             rename: 'virtual.yaml.example')\n>>> diff --git a/src/libcamera/pipeline/virtual/meson.build b/src/libcamera/pipeline/virtual/meson.build\n>>> index 4786fe2e0..c84345936 100644\n>>> --- a/src/libcamera/pipeline/virtual/meson.build\n>>> +++ b/src/libcamera/pipeline/virtual/meson.build\n>>> @@ -11,3 +11,5 @@ libjpeg = dependency('libjpeg', required : true)\n>>>\n>>>    libcamera_deps += [libyuv_dep]\n>>>    libcamera_deps += [libjpeg]\n>>> +\n>>> +subdir('data')\n>>","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 4B576C32C2\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  2 Jan 2025 14:48:46 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 282E3684D9;\n\tThu,  2 Jan 2025 15:48:45 +0100 (CET)","from mout.gmx.net (mout.gmx.net [212.227.17.21])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 83F09684CC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  2 Jan 2025 15:48:43 +0100 (CET)","from [192.168.0.12] ([5.146.192.51]) by mail.gmx.net (mrgmx104\n\t[212.227.17.168]) with ESMTPSA (Nemesis) id 1MfHEJ-1tzyEM0LDX-00euLb;\n\tThu, 02 Jan 2025 15:48:41 +0100"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmx.de header.i=rauch.christian@gmx.de\n\theader.b=\"O4Nq63Im\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;\n\ts=s31663417; t=1735829321; x=1736434121; i=rauch.christian@gmx.de;\n\tbh=eLz+1BdiuTdUn9nrwn20jitwkmdBjA89RMQdjfFlMxo=;\n\th=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc:\n\tReferences:From:In-Reply-To:Content-Type:\n\tContent-Transfer-Encoding:cc:content-transfer-encoding:\n\tcontent-type:date:from:message-id:mime-version:reply-to:subject:\n\tto;\n\tb=O4Nq63ImAFFcAFHnzqEHnqOYnU/IjmgYcSW4JMzVREY0rZTakF0kfqQkAcXYfPIA\n\tNuW8vnjnVmrRSipV3PRairVmOUCxuL367hOImAJrhh9c/YxKekCbcX40eAdPiFdcZ\n\tQJhvz2BmRoTR8VVxrgrNpuyIKfmglt/46MFePCogsMtbkuiLZCBkMf1ywg78fFWD4\n\tJMKNXAEes8X5yyfSV2s0gofM59K0DP4fjk4zicn1DIPrf+U2rjM/VDVYj4uGbWbIr\n\t7M4UeALkv1giLtTkux9b89+aoKtJ2yzcGM8ljGIxs85YyYlzxUZDWqH+5PFq+Lo2D\n\tdocmk8xG4iARvxlLWA==","X-UI-Sender-Class":"724b4f7f-cbec-4199-ad4e-598c01a50d3a","Message-ID":"<474db526-5916-45a3-9c7e-124b534732fb@gmx.de>","Date":"Thu, 2 Jan 2025 15:48:40 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [RFC PATCH v1] libcamera: virtual: Install configuration file","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20241219123722.513083-1-pobrn@protonmail.com>\n\t<2f4f044a-4e86-4d4d-9502-4af7b2f5c083@gmx.de>\n\t<qynYk1bpxeqC_awZIfO5CRRGsFDdTSON6N717NW5d4pZ9iqhzaGBvr7mBoVzv_gXAwOSvyg5t-2APW8uYtYxpWfsoq5proE5iA7Wr71bh7k=@protonmail.com>","Content-Language":"en-US","From":"Christian Rauch <Rauch.Christian@gmx.de>","In-Reply-To":"<qynYk1bpxeqC_awZIfO5CRRGsFDdTSON6N717NW5d4pZ9iqhzaGBvr7mBoVzv_gXAwOSvyg5t-2APW8uYtYxpWfsoq5proE5iA7Wr71bh7k=@protonmail.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"quoted-printable","X-Provags-ID":"V03:K1:IePSpbEFZ6vs5GNS0LYF8IHBSWnd0m8/ohnAr0MzqXhecdCWktz\n\to4H/FdTRtCOMCsoU3Vv/wEo6+GGPplXTixa+XdfguCGotI25PRSgcX4a0HtjFFc2MhKhcCd\n\ttYlyk7+Z5b8aeqZIy5IUhk3AGKiFg2JYaekEScurydic2hgXE3VN2dGfUnZvIesYzR3vZ0c\n\tbS8dLzBW2snSjOHJ8FrBg==","X-Spam-Flag":"NO","UI-OutboundReport":"notjunk:1; M01:P0:yzq/iZjhlRo=;\n\toE2Qb/SQU6z18sNn9SpS7CNmoNS\n\tJJAwZriWc84B7n2H0nbNvthaoYRlqPsJajwgH5gL8Q4GVTvsJ7ZIegy7nxpHqpDGTMAMWXgV3\n\tPugeqYq26lb3UCkbwKu0/AIbF2Ioqf+IGyhlzmXx1k2FimtomVs013g+x4zCN5IouCouoaO6f\n\t7Ob4IFrt72tyJGlWkmybPdi7nnMxOyrYYpTt4QEda6rtXtrUh1Jp/fYAmPOSeKOv3eLQMC/IP\n\t5Y8eaRkfmb2o3BMMIsXLGJDTylZkwH/O2NBQlEYV/Zvf7ol6B4GfrID5A4jSaOOBhK1fg/Z1E\n\tUKG852hOriSQF9DvTv102bTLXR77f/1KsvOdFsUteEfqHFo7/pBiDhj3Hbr/68e0wRDrUtrES\n\tCUgps8TjcYc7A4w8Bbau79B9VpzTbJvtoYZotad+EMjD3WuRFxtl667UKyGtHOzXHfMIo++DJ\n\tPyz4tc73tUqstXyOMadNepO+K8712uxbsl07dfRQQe3Cdnfdv1bWqkutO6sIvt3X+q5qGLs5i\n\t4jcoKOF5dy5pKIPxsA0lbI+O3u1tA3BHzTFo3HwWq4BSg8/VUCEuJ4YDAIVjrHVlGDFvBAmWh\n\t0C1E+aWKs2hBwgT9BRPrQ4X5umDRuwwg9pVR9QQwrsuzwBwe42ifyyJGNOlTbMZ9WOfw+ZPOL\n\to5nY85la4/5+FLKCeIWkN5NWenkzODbygX13BDSol54lCT1FLrlYh4oV9HKub1nFpiT3V8AKL\n\tgQ5urTfNA44MvCehWlQ8udkEUo1q0h5RU1s3axVf7L8To5MdxHnxNfPMksMN034p+G1uRehdT\n\tpfo8wciOlbjE3OHoVkeV4Fti4Qvb2ZDWvVi/nnHh3jGurgWPo76nviUDzWNQZYsvKuSxigFoA\n\tn/Z8yhuesJShDZgAyuL9MQNywj4RshO0R53/M/RW7GM/fMYhCBPEnvSdGlfdAxvm0L/Wc6aYh\n\tqk0FzU6Dg9G6bdSOOFutEgJ+fSRCeyIc5Medp9A+IEpmzCKC181CjDk/FeJ3ex2cs9ph2Xx53\n\t3kALLv4xaACrKMqsZimJFfIiOQL6hujR05fqIkjBk2UzfRdnfAAz6wWlKTGJV2rfQKlr4z+3e\n\tvrCLcdGP4UKcHatuuZ6Ozw4DS5DAXH","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>"}}]