[{"id":38065,"web_url":"https://patchwork.libcamera.org/comment/38065/","msgid":"<aYMIxSLUWD1gWU8Z@zed>","date":"2026-02-04T09:02:01","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Barnabás\n\nOn Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n> `fpm` will be used to easily build debian packages.\n\nWould be nice to explain what it is needed for\n\n>\n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> ---\n>  .gitlab-ci/setup-container.sh | 6 ++++++\n>  gitlab-ci.yml                 | 2 +-\n>  2 files changed, 7 insertions(+), 1 deletion(-)\n>\n> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> index 3506271..c9bae0e 100755\n> --- a/.gitlab-ci/setup-container.sh\n> +++ b/.gitlab-ci/setup-container.sh\n> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n>  \tPKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n>  \t# Sphinx theme for the documentation.\n>  \tPKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n> +\t# For creating debian packages with `fpm` (https://github.com/jordansissel/fpm).\n> +\tPKGS_LIBCAMERA_RUNTIME+=( ruby )\n\nI can't really comment if using fpm is the correct way to build debs\nand what the implications are.\n\nSure, relying on something that seems a (probably very nice) piece of\nsoftware that lives on github instead of the official debian\ntools make me wonders how robust is this\n\nThis guide seems to suggest to use dpkg-buildpackage\nhttps://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n\nI don't know much about debian packaging, just checking if you have\nconsidered this solution\n\n\n>  \t# libclang-rt-dev for the clang ASan runtime.\n>  \tPKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n>  \t# For the Android camera HAL and the virtual pipeline handler.\n> @@ -277,6 +279,10 @@ Version: ${version}\n>  Cflags: -I\\${includedir}\n>  EOF\n>  \tfi\n> +\n> +\tif [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n> +\t\tgem install fpm\n> +\tfi\n>  }\n>\n>  cbuild_cleanup_pkgs() {\n> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> index 3f80cb8..6cc2026 100644\n> --- a/gitlab-ci.yml\n> +++ b/gitlab-ci.yml\n> @@ -70,7 +70,7 @@ include:\n>  .libcamera-ci.debian:13:\n>    variables:\n>      FDO_DISTRIBUTION_VERSION: 'trixie'\n> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n\nMaybe this is worth a separate commit ?\n\n>\n>  .container-debian:\n>    extends:\n> --\n> 2.52.0","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 1590EC31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  4 Feb 2026 09:02:08 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A60BC6201F;\n\tWed,  4 Feb 2026 10:02:06 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4F35E615B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  4 Feb 2026 10:02:05 +0100 (CET)","from ideasonboard.com (net-93-65-100-155.cust.vodafonedsl.it\n\t[93.65.100.155])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 471E1833;\n\tWed,  4 Feb 2026 10:01:23 +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=\"bkf2lo/W\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770195683;\n\tbh=v63vdWMvh/GJLqE6Yem/JSTyYQnJNUmQ2YC+vM6I1dI=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=bkf2lo/WnXL9MQcPQgVe51Mfic0dkafHi8/TnrbJKY5/XHpGwDDqHsasyJVCJPUrj\n\tV4LZ+ZobeiWDmtap7DwwAytNv01YdNZfIY4dea1w0WEvqVBepy4pqESW+0BMJ1CALP\n\tf+OK6QQAjkGy1TsyyJp93wbg/mfD47XqP/aA2t4g=","Date":"Wed, 4 Feb 2026 10:02:01 +0100","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","Message-ID":"<aYMIxSLUWD1gWU8Z@zed>","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20260130160254.1770742-2-barnabas.pocze@ideasonboard.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":38093,"web_url":"https://patchwork.libcamera.org/comment/38093/","msgid":"<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>","date":"2026-02-05T12:24:43","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n> Hi Barnabás\n> \n> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n>> `fpm` will be used to easily build debian packages.\n> \n> Would be nice to explain what it is needed for\n> \n>>\n>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n>> ---\n>>   .gitlab-ci/setup-container.sh | 6 ++++++\n>>   gitlab-ci.yml                 | 2 +-\n>>   2 files changed, 7 insertions(+), 1 deletion(-)\n>>\n>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n>> index 3506271..c9bae0e 100755\n>> --- a/.gitlab-ci/setup-container.sh\n>> +++ b/.gitlab-ci/setup-container.sh\n>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n>>   \tPKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n>>   \t# Sphinx theme for the documentation.\n>>   \tPKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n>> +\t# For creating debian packages with `fpm` (https://github.com/jordansissel/fpm).\n>> +\tPKGS_LIBCAMERA_RUNTIME+=( ruby )\n> \n> I can't really comment if using fpm is the correct way to build debs\n> and what the implications are.\n> \n> Sure, relying on something that seems a (probably very nice) piece of\n> software that lives on github instead of the official debian\n> tools make me wonders how robust is this\n> \n> This guide seems to suggest to use dpkg-buildpackage\n> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n> \n> I don't know much about debian packaging, just checking if you have\n> considered this solution\n\nI really wanted to avoid having to create all the necessary files and configurations\nthat is needed for a \"proper\" debian package. I originally wanted to use `checkinstall`,\nwhich is packaged, but it is too old to be usable with `meson install`. So in the end\n`fpm` seemed like a good replacement for `checkinstall`. As far as I understand both\nessentially use the official debian packaging tools, but they generate all the necessary\nfiles, etc.\n\n\n\n> \n> \n>>   \t# libclang-rt-dev for the clang ASan runtime.\n>>   \tPKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n>>   \t# For the Android camera HAL and the virtual pipeline handler.\n>> @@ -277,6 +279,10 @@ Version: ${version}\n>>   Cflags: -I\\${includedir}\n>>   EOF\n>>   \tfi\n>> +\n>> +\tif [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n>> +\t\tgem install fpm\n>> +\tfi\n>>   }\n>>\n>>   cbuild_cleanup_pkgs() {\n>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n>> index 3f80cb8..6cc2026 100644\n>> --- a/gitlab-ci.yml\n>> +++ b/gitlab-ci.yml\n>> @@ -70,7 +70,7 @@ include:\n>>   .libcamera-ci.debian:13:\n>>     variables:\n>>       FDO_DISTRIBUTION_VERSION: 'trixie'\n>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n> \n> Maybe this is worth a separate commit ?\n\nThe changes don't take effect without rebuilding the container, so I believe\nit is preferable to keep the two together.\n\n\n> \n>>\n>>   .container-debian:\n>>     extends:\n>> --\n>> 2.52.0","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 E347FC31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  5 Feb 2026 12:24:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AB16562056;\n\tThu,  5 Feb 2026 13:24:49 +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 033B462010\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  5 Feb 2026 13:24:47 +0100 (CET)","from [192.168.33.53] (185.221.141.206.nat.pool.zt.hu\n\t[185.221.141.206])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E8196227;\n\tThu,  5 Feb 2026 13:24:04 +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=\"rVo/mU+t\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770294245;\n\tbh=p/isM9QOPKIqDaNRQkxZgnN9Y+g15GRAN99ElKtbCmM=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=rVo/mU+tenEQkeaCSuyPomcoJPxawdCIlhxTj1FlPI2UrHawYcW9I6zG04YbG8Qo9\n\tVRXs2iAGGNQ3NBHUPK6mpCEQX6dQSIZlq1VZWODJLUITHDGzbR7U5iXxGJLfbD7icj\n\t+B+mZr5LhyxbN+R1GRTJ00zD3zw/SwC7ERra3miI=","Message-ID":"<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>","Date":"Thu, 5 Feb 2026 13:24:43 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<aYMIxSLUWD1gWU8Z@zed>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}},{"id":38094,"web_url":"https://patchwork.libcamera.org/comment/38094/","msgid":"<20260205130902.GJ156228@killaraus>","date":"2026-02-05T13:09:02","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n> > On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n> >> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n> >>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n> >>>> `fpm` will be used to easily build debian packages.\n> >>>\n> >>> Would be nice to explain what it is needed for\n> >>>\n> >>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> >>>> ---\n> >>>>    .gitlab-ci/setup-container.sh | 6 ++++++\n> >>>>    gitlab-ci.yml                 | 2 +-\n> >>>>    2 files changed, 7 insertions(+), 1 deletion(-)\n> >>>>\n> >>>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> >>>> index 3506271..c9bae0e 100755\n> >>>> --- a/.gitlab-ci/setup-container.sh\n> >>>> +++ b/.gitlab-ci/setup-container.sh\n> >>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n> >>>>    \tPKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n> >>>>    \t# Sphinx theme for the documentation.\n> >>>>    \tPKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n> >>>> +\t# For creating debian packages with `fpm` (https://github.com/jordansissel/fpm).\n> >>>> +\tPKGS_LIBCAMERA_RUNTIME+=( ruby )\n> >>>\n> >>> I can't really comment if using fpm is the correct way to build debs\n> >>> and what the implications are.\n> >>>\n> >>> Sure, relying on something that seems a (probably very nice) piece of\n> >>> software that lives on github instead of the official debian\n> >>> tools make me wonders how robust is this\n> >>>\n> >>> This guide seems to suggest to use dpkg-buildpackage\n> >>> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n> >>>\n> >>> I don't know much about debian packaging, just checking if you have\n> >>> considered this solution\n> >>\n> >> I really wanted to avoid having to create all the necessary files and configurations\n> >> that is needed for a \"proper\" debian package.\n> > \n> > libcamera is packaged in Debian, so maybe we can just reuse the upstream\n> > files and configuration ?\n> \n> Possibly, but this was also something that I intentionally avoided. I can try to see if\n> it works, but at that point why not have the package definitions in the libcamera\n> repository itself?\n\nThat's a good point, but I think it's still best to keep them separate.\nI don't want to open the door to maintaining the packaging\ninfrastructure for every distribution out there in the libcamera tree.\nDistributions may also want to carry patches, which I don't think should\nlive in libcamera.\n\n> I have also looked at https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n> to see if something minimal is easy to assemble, but in the end, I am not sure one can\n> go simpler than checkinstall/fpm.\n\nHow difficult is it to do it \"the native Debian way\" ? Is it mostly a\none time effort, or would it significantly increase the CI maintenance\nburden too ?\n\n> >> I originally wanted to use `checkinstall`,\n> >> which is packaged, but it is too old to be usable with `meson install`. So in the end\n> >> `fpm` seemed like a good replacement for `checkinstall`. As far as I understand both\n> >> essentially use the official debian packaging tools, but they generate all the necessary\n> >> files, etc.\n> >>\n> >>>>    \t# libclang-rt-dev for the clang ASan runtime.\n> >>>>    \tPKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n> >>>>    \t# For the Android camera HAL and the virtual pipeline handler.\n> >>>> @@ -277,6 +279,10 @@ Version: ${version}\n> >>>>    Cflags: -I\\${includedir}\n> >>>>    EOF\n> >>>>    \tfi\n> >>>> +\n> >>>> +\tif [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n> >>>> +\t\tgem install fpm\n> >>>> +\tfi\n> >>>>    }\n> >>>>\n> >>>>    cbuild_cleanup_pkgs() {\n> >>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> >>>> index 3f80cb8..6cc2026 100644\n> >>>> --- a/gitlab-ci.yml\n> >>>> +++ b/gitlab-ci.yml\n> >>>> @@ -70,7 +70,7 @@ include:\n> >>>>    .libcamera-ci.debian:13:\n> >>>>      variables:\n> >>>>        FDO_DISTRIBUTION_VERSION: 'trixie'\n> >>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n> >>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n> >>>\n> >>> Maybe this is worth a separate commit ?\n> >>\n> >> The changes don't take effect without rebuilding the container, so I believe\n> >> it is preferable to keep the two together.\n> >>\n> >>>>\n> >>>>    .container-debian:\n> >>>>      extends:","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 57641BD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu,  5 Feb 2026 13:09:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 30EAE6205D;\n\tThu,  5 Feb 2026 14:09:05 +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 C2C1562010\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  5 Feb 2026 14:09:03 +0100 (CET)","from killaraus.ideasonboard.com\n\t(2001-14ba-703d-e500--2a1.rev.dnainternet.fi\n\t[IPv6:2001:14ba:703d:e500::2a1])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 98ADFD0;\n\tThu,  5 Feb 2026 14:08:20 +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=\"eG48TL+m\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770296900;\n\tbh=4gpIEERIFxsVyKiBxnM8gyLoHLUS8nAWFfHJrIvhJaw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=eG48TL+mskv8Sjx7F9wloYDMTSBXoEHFev8rQVtPM23KSZeaTS6w7gykU7xsSQq/3\n\t4Xj8Mo30tZv/jmVi6TAr9dYMbOuBu1zlpRr6M6VeSiyq2GC59D15k9k3iDtkQgnVcn\n\tBezIWAxxKiEsWr0uCCLhp3tFTq9EJVfTix8w7Nq0=","Date":"Thu, 5 Feb 2026 15:09:02 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","Message-ID":"<20260205130902.GJ156228@killaraus>","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.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":38150,"web_url":"https://patchwork.libcamera.org/comment/38150/","msgid":"<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>","date":"2026-02-09T11:03:09","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2026. 02. 05. 14:09 keltezéssel, Laurent Pinchart írta:\n> On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n>> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n>>> On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n>>>> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n>>>>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n>>>>>> `fpm` will be used to easily build debian packages.\n>>>>>\n>>>>> Would be nice to explain what it is needed for\n>>>>>\n>>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n>>>>>> ---\n>>>>>>     .gitlab-ci/setup-container.sh | 6 ++++++\n>>>>>>     gitlab-ci.yml                 | 2 +-\n>>>>>>     2 files changed, 7 insertions(+), 1 deletion(-)\n>>>>>>\n>>>>>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n>>>>>> index 3506271..c9bae0e 100755\n>>>>>> --- a/.gitlab-ci/setup-container.sh\n>>>>>> +++ b/.gitlab-ci/setup-container.sh\n>>>>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n>>>>>>     \tPKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n>>>>>>     \t# Sphinx theme for the documentation.\n>>>>>>     \tPKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n>>>>>> +\t# For creating debian packages with `fpm` (https://github.com/jordansissel/fpm).\n>>>>>> +\tPKGS_LIBCAMERA_RUNTIME+=( ruby )\n>>>>>\n>>>>> I can't really comment if using fpm is the correct way to build debs\n>>>>> and what the implications are.\n>>>>>\n>>>>> Sure, relying on something that seems a (probably very nice) piece of\n>>>>> software that lives on github instead of the official debian\n>>>>> tools make me wonders how robust is this\n>>>>>\n>>>>> This guide seems to suggest to use dpkg-buildpackage\n>>>>> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n>>>>>\n>>>>> I don't know much about debian packaging, just checking if you have\n>>>>> considered this solution\n>>>>\n>>>> I really wanted to avoid having to create all the necessary files and configurations\n>>>> that is needed for a \"proper\" debian package.\n>>>\n>>> libcamera is packaged in Debian, so maybe we can just reuse the upstream\n>>> files and configuration ?\n>>\n>> Possibly, but this was also something that I intentionally avoided. I can try to see if\n>> it works, but at that point why not have the package definitions in the libcamera\n>> repository itself?\n> \n> That's a good point, but I think it's still best to keep them separate.\n> I don't want to open the door to maintaining the packaging\n> infrastructure for every distribution out there in the libcamera tree.\n> Distributions may also want to carry patches, which I don't think should\n> live in libcamera.\n> \n>> I have also looked at https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n>> to see if something minimal is easy to assemble, but in the end, I am not sure one can\n>> go simpler than checkinstall/fpm.\n> \n> How difficult is it to do it \"the native Debian way\" ? Is it mostly a\n> one time effort, or would it significantly increase the CI maintenance\n> burden too ?\n\nI suppose it is more a one time thing with small changes later. Nonetheless\nI personally am no expert of debian packaging, in fact I find it somewhat\nunapproachable. It appears more considerably more involved than a simple\nPKGBUILD (pacman), and I'm sure the complexity is justified. But here we're\nonly building a \"throwaway\" debian package that is deployed into a known\nenvironment, installed once, and forgotten forever; so eliminating any and\nall complexity seems to be the best choice in my opinion.\n\nSo what should it be?\n\n\n> \n>>>> I originally wanted to use `checkinstall`,\n>>>> which is packaged, but it is too old to be usable with `meson install`. So in the end\n>>>> `fpm` seemed like a good replacement for `checkinstall`. As far as I understand both\n>>>> essentially use the official debian packaging tools, but they generate all the necessary\n>>>> files, etc.\n>>>>\n>>>>>>     \t# libclang-rt-dev for the clang ASan runtime.\n>>>>>>     \tPKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n>>>>>>     \t# For the Android camera HAL and the virtual pipeline handler.\n>>>>>> @@ -277,6 +279,10 @@ Version: ${version}\n>>>>>>     Cflags: -I\\${includedir}\n>>>>>>     EOF\n>>>>>>     \tfi\n>>>>>> +\n>>>>>> +\tif [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n>>>>>> +\t\tgem install fpm\n>>>>>> +\tfi\n>>>>>>     }\n>>>>>>\n>>>>>>     cbuild_cleanup_pkgs() {\n>>>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n>>>>>> index 3f80cb8..6cc2026 100644\n>>>>>> --- a/gitlab-ci.yml\n>>>>>> +++ b/gitlab-ci.yml\n>>>>>> @@ -70,7 +70,7 @@ include:\n>>>>>>     .libcamera-ci.debian:13:\n>>>>>>       variables:\n>>>>>>         FDO_DISTRIBUTION_VERSION: 'trixie'\n>>>>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n>>>>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n>>>>>\n>>>>> Maybe this is worth a separate commit ?\n>>>>\n>>>> The changes don't take effect without rebuilding the container, so I believe\n>>>> it is preferable to keep the two together.\n>>>>\n>>>>>>\n>>>>>>     .container-debian:\n>>>>>>       extends:\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 DA594C3220\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  9 Feb 2026 11:03:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 801F46210A;\n\tMon,  9 Feb 2026 12:03:14 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D9FA6620FA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  9 Feb 2026 12:03:12 +0100 (CET)","from [192.168.33.63] (185.221.141.206.nat.pool.zt.hu\n\t[185.221.141.206])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 018C7454;\n\tMon,  9 Feb 2026 12:02:26 +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=\"te534GII\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770634947;\n\tbh=IBWh0pOmAnV7YSE6IqSE9aJHKZriQDej0V60582KtOQ=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=te534GIIRQnhvnONeuJqNOcadN/sBB1ZgbOEaph/QYGhfwl2H80NQYVG0+7KKeIb8\n\tumvqCMcxHoQIjZt1Sejm6SkW4BGKEeWeHoITKLMLMYyjTZztJGwFggh1ec47fa4tHr\n\tbFYTTjYdea6CK8porvTrDt2l+XsbcEMjQNevBnZ4=","Message-ID":"<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>","Date":"Mon, 9 Feb 2026 12:03:09 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>\n\t<20260205130902.GJ156228@killaraus>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20260205130902.GJ156228@killaraus>","Content-Type":"text/plain; charset=UTF-8; format=flowed","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>"}},{"id":38158,"web_url":"https://patchwork.libcamera.org/comment/38158/","msgid":"<85ikc6kk0u.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2026-02-09T15:34:57","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian\n\t13 container","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Barnabás Pőcze <barnabas.pocze@ideasonboard.com> writes:\n\n> 2026. 02. 05. 14:09 keltezéssel, Laurent Pinchart írta:\n>> On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n>>> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n>\n>>>> On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n>>>>> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n>>>>>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n>>>>>>> `fpm` will be used to easily build debian packages.\n>>>>>>\n>>>>>> Would be nice to explain what it is needed for\n>>>>>>\n>>>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n>>>>>>> ---\n>>>>>>>     .gitlab-ci/setup-container.sh | 6 ++++++\n>>>>>>>     gitlab-ci.yml                 | 2 +-\n>>>>>>>     2 files changed, 7 insertions(+), 1 deletion(-)\n>>>>>>>\n>>>>>>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n>>>>>>> index 3506271..c9bae0e 100755\n>>>>>>> --- a/.gitlab-ci/setup-container.sh\n>>>>>>> +++ b/.gitlab-ci/setup-container.sh\n>>>>>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n>>>>>>>     \tPKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n>>>>>>>     \t# Sphinx theme for the documentation.\n>>>>>>>     \tPKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n>>>>>>> +\t# For creating debian packages with `fpm` (https://github.com/jordansissel/fpm).\n>>>>>>> +\tPKGS_LIBCAMERA_RUNTIME+=( ruby )\n>>>>>>\n>>>>>> I can't really comment if using fpm is the correct way to build debs\n>>>>>> and what the implications are.\n>>>>>>\n>>>>>> Sure, relying on something that seems a (probably very nice) piece of\n>>>>>> software that lives on github instead of the official debian\n>>>>>> tools make me wonders how robust is this\n>>>>>>\n>>>>>> This guide seems to suggest to use dpkg-buildpackage\n>>>>>> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n>>>>>>\n>>>>>> I don't know much about debian packaging, just checking if you have\n>>>>>> considered this solution\n>>>>>\n>>>>> I really wanted to avoid having to create all the necessary files and configurations\n>>>>> that is needed for a \"proper\" debian package.\n>>>>\n>>>> libcamera is packaged in Debian, so maybe we can just reuse the upstream\n>>>> files and configuration ?\n>>>\n>>> Possibly, but this was also something that I intentionally avoided. I can try to see if\n>>> it works, but at that point why not have the package definitions in the libcamera\n>>> repository itself?\n>> That's a good point, but I think it's still best to keep them separate.\n>> I don't want to open the door to maintaining the packaging\n>> infrastructure for every distribution out there in the libcamera tree.\n>> Distributions may also want to carry patches, which I don't think should\n>> live in libcamera.\n>> \n>>> I have also looked at https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n>>> to see if something minimal is easy to assemble, but in the end, I am not sure one can\n>>> go simpler than checkinstall/fpm.\n>> How difficult is it to do it \"the native Debian way\" ? Is it mostly a\n>> one time effort, or would it significantly increase the CI maintenance\n>> burden too ?\n>\n> I suppose it is more a one time thing with small changes later. Nonetheless\n> I personally am no expert of debian packaging, in fact I find it somewhat\n> unapproachable. It appears more considerably more involved than a simple\n> PKGBUILD (pacman), and I'm sure the complexity is justified. But here we're\n> only building a \"throwaway\" debian package that is deployed into a known\n> environment, installed once, and forgotten forever; so eliminating any and\n> all complexity seems to be the best choice in my opinion.\n\nI would agree.\n\nAlso, in case you still decide to add some Debian packaging, don't add\nit as `debian' top directory included in the main git branch and/or in\nthe release tarball, see\nhttps://wiki.debian.org/UpstreamGuide#Do_not_include_a_.2Fdebian_directory\n\n> So what should it be?\n>\n>\n>> \n>>>>> I originally wanted to use `checkinstall`,\n>>>>> which is packaged, but it is too old to be usable with `meson install`. So in the end\n>>>>> `fpm` seemed like a good replacement for `checkinstall`. As far as I understand both\n>>>>> essentially use the official debian packaging tools, but they generate all the necessary\n>>>>> files, etc.\n>>>>>\n>>>>>>>     \t# libclang-rt-dev for the clang ASan runtime.\n>>>>>>>     \tPKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n>>>>>>>     \t# For the Android camera HAL and the virtual pipeline handler.\n>>>>>>> @@ -277,6 +279,10 @@ Version: ${version}\n>>>>>>>     Cflags: -I\\${includedir}\n>>>>>>>     EOF\n>>>>>>>     \tfi\n>>>>>>> +\n>>>>>>> +\tif [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n>>>>>>> +\t\tgem install fpm\n>>>>>>> +\tfi\n>>>>>>>     }\n>>>>>>>\n>>>>>>>     cbuild_cleanup_pkgs() {\n>>>>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n>>>>>>> index 3f80cb8..6cc2026 100644\n>>>>>>> --- a/gitlab-ci.yml\n>>>>>>> +++ b/gitlab-ci.yml\n>>>>>>> @@ -70,7 +70,7 @@ include:\n>>>>>>>     .libcamera-ci.debian:13:\n>>>>>>>       variables:\n>>>>>>>         FDO_DISTRIBUTION_VERSION: 'trixie'\n>>>>>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n>>>>>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n>>>>>>\n>>>>>> Maybe this is worth a separate commit ?\n>>>>>\n>>>>> The changes don't take effect without rebuilding the container, so I believe\n>>>>> it is preferable to keep the two together.\n>>>>>\n>>>>>>>\n>>>>>>>     .container-debian:\n>>>>>>>       extends:\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 BAA07BD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  9 Feb 2026 15:35:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AB3A1620F8;\n\tMon,  9 Feb 2026 16:35:05 +0100 (CET)","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 E62F861FA0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  9 Feb 2026 16:35:03 +0100 (CET)","from mail-wm1-f71.google.com (mail-wm1-f71.google.com\n\t[209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-107-Jw5D9U_fP228m-5nt1bT-Q-1; Mon, 09 Feb 2026 10:35:00 -0500","by mail-wm1-f71.google.com with SMTP id\n\t5b1f17b1804b1-4806b12ad3fso47696965e9.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 09 Feb 2026 07:35:00 -0800 (PST)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-43637e31a01sm18519181f8f.27.2026.02.09.07.34.57\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 09 Feb 2026 07:34:57 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"UAXNxIBL\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1770651302;\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\tin-reply-to:in-reply-to:references:references;\n\tbh=ztOY4Wr1MER6Ni03PRjC9CFYzJ/fuYZiyHdwy3cLo5o=;\n\tb=UAXNxIBLWMbRmbkffmp+34pEKyTC/jNoUCshRtfjoyUAP9y6k1nYEJCv/9oNYSTJB93B5o\n\tcOmx6sdOJ14QgwmGfZr8RwgSq/yQmxvAaN66fVSeVeT56ELSdBdTiJzZS20xjGNs+kM4rc\n\thSHbeKOEWfpZMqKt1okVA5RaoN7bH50=","X-MC-Unique":"Jw5D9U_fP228m-5nt1bT-Q-1","X-Mimecast-MFC-AGG-ID":"Jw5D9U_fP228m-5nt1bT-Q_1770651299","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1770651299; x=1771256099;\n\th=content-transfer-encoding:mime-version:user-agent:message-id:date\n\t:references:in-reply-to:subject:cc:to:from:x-gm-gg\n\t:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n\tbh=Zu9+UjGfF6PbyuSg21I6QNwipVb1RGGSRIMrlerHf/U=;\n\tb=fTCmni6bEXST2q2YjklnW5UnBZb9O/L9J9eGeK1pCPSFeJA5b11M3N35DyL9MKfbAb\n\txBTs1DbH746VR7hiTo+yYD3L+oCDg46NgYZhPiW6ctQaU8ugeMi674piYmoHPbzqIW7d\n\t3Mc9Cffzg9JPaRGWPtg14gaAuo0yUj8Evtnfa6MMib2q+lO+AO3+/oIoIVz/8WOzq1yB\n\tPJ84zuYcDifz5at5Yyu1zUcqMJiauJyF/Tlb5evJ2zfyXXChBD0fOMDZP2xKxX1cib8X\n\tyzs2jaO8GVSTw3yxoOYOdL+P59faD2xsekJEByFggGbZpKEPD4/sRjnGDpU5Khw5nKm8\n\ts8aA==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCXDFd5/OGevXr0eOVTpe3FU7SwXx4GhgHggHNwsDH0SPgc3Is0g/B9c66yzNAb2pF04gUzDYjfqUOk51ra8ar8=@lists.libcamera.org","X-Gm-Message-State":"AOJu0Yx7ajPCWgeuAaCCDgx81EVtvLcItuCUxOWAYNnviFCwklpSyHzz\n\tst1saTmt220my/9i9VO5stoDZQmzetAyHoA8FThd2VGPtcCxY35cLXub78ULkosMxBTNgaHdTto\n\txzYDg5pczMI/nm5O6i2PaX99+wRpnTmXfef78un+lT77672AATkDTFadSUJ5JqYwOaySPoP4kcn\n\t2xj+gcuierF7Bu3dNigxOXL321G+HKBvl6elNBSJyAJHtM8ZC7jSh02k6XRDo=","X-Gm-Gg":"AZuq6aKpVip5D4IvGWTxYT4MYSbhbYOgkgG84rtUnNsl5mEYd3/5coGD7oOn7Y50GYF\n\tGZCBRzPrt2ZPn0Xnh/OjfNyUK71Ga1CkTkVk86efjQFm0mhyGFsp2DPuMGTNUBh5Jj3igY1jZjl\n\tiuYJCYQpwbIHydJvUMwkNC/Md6iULawZF7WIuQK2CUsEQ7TKoQfhkbBlBZHcKa527q3RUGJKEqD\n\tZbNaJFJ+V4Dd05TgTh7Bys+WQbK7ZMIjY/VZ31Dzr8PqJuAQ1x2aFWttYjvD3sWUZZYPlAC7XHb\n\ts/bsvVBKWxkP4CQsnpv1Yl6jN2h0prXUA/7haKjkqGfq8WwHP6fC1aMgGV85n6L5GwRWidtkdJ4\n\tmXwYE/wrc29j7sVfIItONkXTkHI71VKB/9rqdEU7Hk0e7ZlJ+z0zsBpexA+4l04Y=","X-Received":["by 2002:a05:600c:3b23:b0:480:4be7:4f53 with SMTP id\n\t5b1f17b1804b1-4832021da3dmr175622075e9.31.1770651299130; \n\tMon, 09 Feb 2026 07:34:59 -0800 (PST)","by 2002:a05:600c:3b23:b0:480:4be7:4f53 with SMTP id\n\t5b1f17b1804b1-4832021da3dmr175621165e9.31.1770651298588; \n\tMon, 09 Feb 2026 07:34:58 -0800 (PST)"],"From":"Milan Zamazal <mzamazal@redhat.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,  Jacopo Mondi\n\t<jacopo.mondi@ideasonboard.com>, libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian\n\t13 container","In-Reply-To":"<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com> (\n\t=?utf-8?b?IkJhcm5hYsOhcyBQxZFjemUiJ3M=?= message of \"Mon,\n\t9 Feb 2026  12:03:09 +0100\")","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>\n\t<20260205130902.GJ156228@killaraus>\n\t<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>","Date":"Mon, 09 Feb 2026 16:34:57 +0100","Message-ID":"<85ikc6kk0u.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"8X6INOZavUAkjuGA0AyPgZwjyjtmjwVoIVoFkBwm468_1770651299","X-Mimecast-Originator":"redhat.com","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":38163,"web_url":"https://patchwork.libcamera.org/comment/38163/","msgid":"<20260209220638.GD2405149@killaraus.ideasonboard.com>","date":"2026-02-09T22:06:38","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Mon, Feb 09, 2026 at 12:03:09PM +0100, Barnabás Pőcze wrote:\n> 2026. 02. 05. 14:09 keltezéssel, Laurent Pinchart írta:\n> > On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n> >> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n> >>> On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n> >>>> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n> >>>>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n> >>>>>> `fpm` will be used to easily build debian packages.\n> >>>>>\n> >>>>> Would be nice to explain what it is needed for\n> >>>>>\n> >>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> >>>>>> ---\n> >>>>>>     .gitlab-ci/setup-container.sh | 6 ++++++\n> >>>>>>     gitlab-ci.yml                 | 2 +-\n> >>>>>>     2 files changed, 7 insertions(+), 1 deletion(-)\n> >>>>>>\n> >>>>>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> >>>>>> index 3506271..c9bae0e 100755\n> >>>>>> --- a/.gitlab-ci/setup-container.sh\n> >>>>>> +++ b/.gitlab-ci/setup-container.sh\n> >>>>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n> >>>>>>     \tPKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n> >>>>>>     \t# Sphinx theme for the documentation.\n> >>>>>>     \tPKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n> >>>>>> +\t# For creating debian packages with `fpm` (https://github.com/jordansissel/fpm).\n> >>>>>> +\tPKGS_LIBCAMERA_RUNTIME+=( ruby )\n> >>>>>\n> >>>>> I can't really comment if using fpm is the correct way to build debs\n> >>>>> and what the implications are.\n> >>>>>\n> >>>>> Sure, relying on something that seems a (probably very nice) piece of\n> >>>>> software that lives on github instead of the official debian\n> >>>>> tools make me wonders how robust is this\n> >>>>>\n> >>>>> This guide seems to suggest to use dpkg-buildpackage\n> >>>>> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n> >>>>>\n> >>>>> I don't know much about debian packaging, just checking if you have\n> >>>>> considered this solution\n> >>>>\n> >>>> I really wanted to avoid having to create all the necessary files and configurations\n> >>>> that is needed for a \"proper\" debian package.\n> >>>\n> >>> libcamera is packaged in Debian, so maybe we can just reuse the upstream\n> >>> files and configuration ?\n> >>\n> >> Possibly, but this was also something that I intentionally avoided. I can try to see if\n> >> it works, but at that point why not have the package definitions in the libcamera\n> >> repository itself?\n> > \n> > That's a good point, but I think it's still best to keep them separate.\n> > I don't want to open the door to maintaining the packaging\n> > infrastructure for every distribution out there in the libcamera tree.\n> > Distributions may also want to carry patches, which I don't think should\n> > live in libcamera.\n> > \n> >> I have also looked at https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n> >> to see if something minimal is easy to assemble, but in the end, I am not sure one can\n> >> go simpler than checkinstall/fpm.\n> > \n> > How difficult is it to do it \"the native Debian way\" ? Is it mostly a\n> > one time effort, or would it significantly increase the CI maintenance\n> > burden too ?\n> \n> I suppose it is more a one time thing with small changes later. Nonetheless\n> I personally am no expert of debian packaging, in fact I find it somewhat\n> unapproachable. It appears more considerably more involved than a simple\n> PKGBUILD (pacman), and I'm sure the complexity is justified. But here we're\n> only building a \"throwaway\" debian package that is deployed into a known\n> environment, installed once, and forgotten forever; so eliminating any and\n> all complexity seems to be the best choice in my opinion.\n> \n> So what should it be?\n\nI would have a preference for the native Debian packaging approach as\nit's one less dependency, and the one time effort would hopefully not be\ntoo high given that there's already a Debian package for libcamera that\nwe can use as a starting point.\n\nThis being said, it could also be done later, this patch should work.\nMaybe you could give it a try and see if it can be done quickly, and\npostpone it otherwise ?\n\n> >>>> I originally wanted to use `checkinstall`,\n> >>>> which is packaged, but it is too old to be usable with `meson install`. So in the end\n> >>>> `fpm` seemed like a good replacement for `checkinstall`. As far as I understand both\n> >>>> essentially use the official debian packaging tools, but they generate all the necessary\n> >>>> files, etc.\n> >>>>\n> >>>>>>     \t# libclang-rt-dev for the clang ASan runtime.\n> >>>>>>     \tPKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n> >>>>>>     \t# For the Android camera HAL and the virtual pipeline handler.\n> >>>>>> @@ -277,6 +279,10 @@ Version: ${version}\n> >>>>>>     Cflags: -I\\${includedir}\n> >>>>>>     EOF\n> >>>>>>     \tfi\n> >>>>>> +\n> >>>>>> +\tif [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n> >>>>>> +\t\tgem install fpm\n> >>>>>> +\tfi\n> >>>>>>     }\n> >>>>>>\n> >>>>>>     cbuild_cleanup_pkgs() {\n> >>>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> >>>>>> index 3f80cb8..6cc2026 100644\n> >>>>>> --- a/gitlab-ci.yml\n> >>>>>> +++ b/gitlab-ci.yml\n> >>>>>> @@ -70,7 +70,7 @@ include:\n> >>>>>>     .libcamera-ci.debian:13:\n> >>>>>>       variables:\n> >>>>>>         FDO_DISTRIBUTION_VERSION: 'trixie'\n> >>>>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n> >>>>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n> >>>>>\n> >>>>> Maybe this is worth a separate commit ?\n> >>>>\n> >>>> The changes don't take effect without rebuilding the container, so I believe\n> >>>> it is preferable to keep the two together.\n> >>>>\n> >>>>>>\n> >>>>>>     .container-debian:\n> >>>>>>       extends:","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 58AA5C3220\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  9 Feb 2026 22:06:42 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BC02F61FA0;\n\tMon,  9 Feb 2026 23:06:41 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B917861FA0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  9 Feb 2026 23:06:39 +0100 (CET)","from killaraus.ideasonboard.com\n\t(2001-14ba-703d-e500--2a1.rev.dnainternet.fi\n\t[IPv6:2001:14ba:703d:e500::2a1])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 773F463F;\n\tMon,  9 Feb 2026 23:05:53 +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=\"t/ccQf/3\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770674753;\n\tbh=j2a/yPEsLcpDyLZzsYQdsuc3qbV2ZncOgI48BJP0AHU=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=t/ccQf/34P2am/XsB7MyHgjph9cPGudKkHzDlNhhpDAV3wWaD5oyGJqGsIfXul4B3\n\tRJ2LALrUlTuA28/KVG/i/yECZLehUNZ5BFWAmNdPn36oKQhPIIUw2ww68UPYRII9gR\n\tyETvN5cw5rCfFZGnBgtCPRe35DHeaq0Fow72+s/o=","Date":"Tue, 10 Feb 2026 00:06:38 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","Message-ID":"<20260209220638.GD2405149@killaraus.ideasonboard.com>","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>\n\t<20260205130902.GJ156228@killaraus>\n\t<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.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":38167,"web_url":"https://patchwork.libcamera.org/comment/38167/","msgid":"<CAPou2VqDpy8fxddaL_j53gOngd_K0xtv6at3U7dA3VE=9MB63Q@mail.gmail.com>","date":"2026-02-11T03:30:58","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":219,"url":"https://patchwork.libcamera.org/api/people/219/","name":"Nerijus Bendžiūnas","email":"nerijus.bendziunas@gmail.com"},"content":"There is modern version of fpm: https://nfpm.goreleaser.com/\n\nOn Tue, Feb 10, 2026 at 12:06 AM Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> On Mon, Feb 09, 2026 at 12:03:09PM +0100, Barnabás Pőcze wrote:\n> > 2026. 02. 05. 14:09 keltezéssel, Laurent Pinchart írta:\n> > > On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n> > >> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n> > >>> On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n> > >>>> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n> > >>>>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n> > >>>>>> `fpm` will be used to easily build debian packages.\n> > >>>>>\n> > >>>>> Would be nice to explain what it is needed for\n> > >>>>>\n> > >>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > >>>>>> ---\n> > >>>>>>     .gitlab-ci/setup-container.sh | 6 ++++++\n> > >>>>>>     gitlab-ci.yml                 | 2 +-\n> > >>>>>>     2 files changed, 7 insertions(+), 1 deletion(-)\n> > >>>>>>\n> > >>>>>> diff --git a/.gitlab-ci/setup-container.sh\n> b/.gitlab-ci/setup-container.sh\n> > >>>>>> index 3506271..c9bae0e 100755\n> > >>>>>> --- a/.gitlab-ci/setup-container.sh\n> > >>>>>> +++ b/.gitlab-ci/setup-container.sh\n> > >>>>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n> > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n> > >>>>>>        # Sphinx theme for the documentation.\n> > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n> > >>>>>> +      # For creating debian packages with `fpm` (\n> https://github.com/jordansissel/fpm).\n> > >>>>>> +      PKGS_LIBCAMERA_RUNTIME+=( ruby )\n> > >>>>>\n> > >>>>> I can't really comment if using fpm is the correct way to build\n> debs\n> > >>>>> and what the implications are.\n> > >>>>>\n> > >>>>> Sure, relying on something that seems a (probably very nice) piece\n> of\n> > >>>>> software that lives on github instead of the official debian\n> > >>>>> tools make me wonders how robust is this\n> > >>>>>\n> > >>>>> This guide seems to suggest to use dpkg-buildpackage\n> > >>>>>\n> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n> > >>>>>\n> > >>>>> I don't know much about debian packaging, just checking if you have\n> > >>>>> considered this solution\n> > >>>>\n> > >>>> I really wanted to avoid having to create all the necessary files\n> and configurations\n> > >>>> that is needed for a \"proper\" debian package.\n> > >>>\n> > >>> libcamera is packaged in Debian, so maybe we can just reuse the\n> upstream\n> > >>> files and configuration ?\n> > >>\n> > >> Possibly, but this was also something that I intentionally avoided. I\n> can try to see if\n> > >> it works, but at that point why not have the package definitions in\n> the libcamera\n> > >> repository itself?\n> > >\n> > > That's a good point, but I think it's still best to keep them separate.\n> > > I don't want to open the door to maintaining the packaging\n> > > infrastructure for every distribution out there in the libcamera tree.\n> > > Distributions may also want to carry patches, which I don't think\n> should\n> > > live in libcamera.\n> > >\n> > >> I have also looked at\n> https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n> > >> to see if something minimal is easy to assemble, but in the end, I am\n> not sure one can\n> > >> go simpler than checkinstall/fpm.\n> > >\n> > > How difficult is it to do it \"the native Debian way\" ? Is it mostly a\n> > > one time effort, or would it significantly increase the CI maintenance\n> > > burden too ?\n> >\n> > I suppose it is more a one time thing with small changes later.\n> Nonetheless\n> > I personally am no expert of debian packaging, in fact I find it somewhat\n> > unapproachable. It appears more considerably more involved than a simple\n> > PKGBUILD (pacman), and I'm sure the complexity is justified. But here\n> we're\n> > only building a \"throwaway\" debian package that is deployed into a known\n> > environment, installed once, and forgotten forever; so eliminating any\n> and\n> > all complexity seems to be the best choice in my opinion.\n> >\n> > So what should it be?\n>\n> I would have a preference for the native Debian packaging approach as\n> it's one less dependency, and the one time effort would hopefully not be\n> too high given that there's already a Debian package for libcamera that\n> we can use as a starting point.\n>\n> This being said, it could also be done later, this patch should work.\n> Maybe you could give it a try and see if it can be done quickly, and\n> postpone it otherwise ?\n>\n> > >>>> I originally wanted to use `checkinstall`,\n> > >>>> which is packaged, but it is too old to be usable with `meson\n> install`. So in the end\n> > >>>> `fpm` seemed like a good replacement for `checkinstall`. As far as\n> I understand both\n> > >>>> essentially use the official debian packaging tools, but they\n> generate all the necessary\n> > >>>> files, etc.\n> > >>>>\n> > >>>>>>        # libclang-rt-dev for the clang ASan runtime.\n> > >>>>>>        PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n> > >>>>>>        # For the Android camera HAL and the virtual pipeline\n> handler.\n> > >>>>>> @@ -277,6 +279,10 @@ Version: ${version}\n> > >>>>>>     Cflags: -I\\${includedir}\n> > >>>>>>     EOF\n> > >>>>>>        fi\n> > >>>>>> +\n> > >>>>>> +      if [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n> > >>>>>> +              gem install fpm\n> > >>>>>> +      fi\n> > >>>>>>     }\n> > >>>>>>\n> > >>>>>>     cbuild_cleanup_pkgs() {\n> > >>>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> > >>>>>> index 3f80cb8..6cc2026 100644\n> > >>>>>> --- a/gitlab-ci.yml\n> > >>>>>> +++ b/gitlab-ci.yml\n> > >>>>>> @@ -70,7 +70,7 @@ include:\n> > >>>>>>     .libcamera-ci.debian:13:\n> > >>>>>>       variables:\n> > >>>>>>         FDO_DISTRIBUTION_VERSION: 'trixie'\n> > >>>>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n> > >>>>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n> > >>>>>\n> > >>>>> Maybe this is worth a separate commit ?\n> > >>>>\n> > >>>> The changes don't take effect without rebuilding the container, so\n> I believe\n> > >>>> it is preferable to keep the two together.\n> > >>>>\n> > >>>>>>\n> > >>>>>>     .container-debian:\n> > >>>>>>       extends:\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\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 79CF7BD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 11 Feb 2026 03:31:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1AD27621AC;\n\tWed, 11 Feb 2026 04:31:38 +0100 (CET)","from mail-yx1-xb12a.google.com (mail-yx1-xb12a.google.com\n\t[IPv6:2607:f8b0:4864:20::b12a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EF7D461FA0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Feb 2026 04:31:35 +0100 (CET)","by mail-yx1-xb12a.google.com with SMTP id\n\t956f58d0204a3-649b5f5570fso755782d50.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 10 Feb 2026 19:31:35 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"CUb+oyQz\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1770780694; cv=none;\n\td=google.com; s=arc-20240605;\n\tb=XVzH11WpD+kt46HvBjfsJnjLI3tgFU5Mox7yc++Zng+GNCmvOUR2mG6za2L+HG1mWC\n\tzs1e8MBvCAZnVhZNq8nH4xSZL9QOVylGMbcAYc11Me8qIYKjjax0ZPJoy7TE1e0R6ViU\n\tbqUWNX2Mus0QoDpHfxr2jZekWj0fo5U3L8Tf25QEe9BI0mlnAEnic8AER+6MV2SCsXPJ\n\t30Wvd1M5ya4cSRFN3oMjg4KoLUheF9gh+Ft1FQWwohOSYEyQDIbuyt1cAQG0zQ4k1/7H\n\tVxyt7foCLCNbVtl7uLzBkYXaMNLhwSY820yTRP4lTT3NWgeU3xN3ig5VZtvgqqRY+bpC\n\tELyg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=arc-20240605; \n\th=to:subject:message-id:date:from:in-reply-to:references:mime-version\n\t:dkim-signature;\n\tbh=A1p6GwRYNY9ICCFhVeQ9dP+vPJNSffrvGH8J1a6RqrA=;\n\tfh=wtmKwyi0l3IkgfllUcb23GUQ5DBcFLPuxebUMmhSdY0=;\n\tb=BgEDXxguNnS3Jxy5cs9GiLeH8vlJ+JmXYPxu2TFE8CSMy935wUiWhIiNVYUSWYji7Q\n\tVu+/a4fYoODBGP0hKN3hbu7VJSI/FYynpL0fOqae+Rr00w9z3esMRDyxtYHjVdZPBUW7\n\tRfbDDpC7Qw6zXsTC/oGhe74ga0ZCQJ6ikxuiBYiCa71cZbtN5nYsnB2HW351rLfknfEw\n\tjXrMTKrKIdHoVR/IF7zYscviYPTn6VDGY5T7iG9Zpp+wiyN14wR42Fv22Ww0WvL+8/Y2\n\tbdx6Els3Nuoy1h1WZ9q/d42JDqCW6rMHC2rOF9QMA/u6N73jTWQH25XkExKpZEDTsNhA\n\tWbHw==; darn=lists.libcamera.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1770780694; x=1771385494;\n\tdarn=lists.libcamera.org; \n\th=to:subject:message-id:date:from:in-reply-to:references:mime-version\n\t:from:to:cc:subject:date:message-id:reply-to;\n\tbh=A1p6GwRYNY9ICCFhVeQ9dP+vPJNSffrvGH8J1a6RqrA=;\n\tb=CUb+oyQzF70o0x5O9tgwqgK3aSmLqtiJHptGK+ZTtxIzdTXO7aXlz5iSELmLKGopgj\n\tPq9nzzhFDHZ4xMy0VFYu4UBhrLtb4P6Uu2KbirvdsRagmhqO+cWouAXV0kHWUm2ReOlo\n\tFwKpRQXqba08BP4UyZY5tVtVq/nrF6frOZtW9AjaYPETVv0a+X5T0f1iXAp228Ai2PUz\n\tPosxXD6gzpV3TixSlutLnZzMZfVY2kuFl8IbFBOLAPkapk067wt+4w8vMetYUOurLtML\n\t+o/xBunnTmbr8JskT9NkZyW59LOKX/3BOypiYXwstVc2gYGSVRNWE2sqUAPV+QQlq0YP\n\tJfqg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1770780694; x=1771385494;\n\th=to:subject:message-id:date:from:in-reply-to:references:mime-version\n\t:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=A1p6GwRYNY9ICCFhVeQ9dP+vPJNSffrvGH8J1a6RqrA=;\n\tb=IyrtCy+N8X/Xi8TohmZMtcMs/19Qxl0cN7dgdPCRLSKFVVCoykRKzVZj8WsmhpWE6Q\n\tRVfCMIm+9xAN19C0Keo1cpdtWxtGduzJ9w6f2ssRDQJ03xKFSE3fv+R7a0yRfOXQTrwC\n\tmY0C7JCodf9286HVrPt2AWLlMkPXz/4/W83n6eBfWfUMYt0Ofm5lawZndjLCrySvjzp2\n\t0nDL6pKoKfUY7GgLeFNiW2vdhnOJtiRM+mNzx5Og+Xv8hukV2GgFUblZuOMeXWjdDp8N\n\tQiAL4D7ZPT7NN3TyzB07gBIhD1VE+XrnwBAdhZITuH+PfcIqnLVByvZfO19LJYosA9Xr\n\tHrZA==","X-Gm-Message-State":"AOJu0YzMtI9//aGEKzcDPu8zAuKJ2TV+6MiF/CN3qbibHOwbK7Jhf5as\n\t8S9Uzm7aDDUIaud2AUUi/BzNgeFTgW04DY6qWjEcRlimrFvak1R3zyVhnmTnl+CjAtfkSqUu+4P\n\tuRm46j+H9DFdC8zS+3GWkIwuezjfEe2I833w=","X-Gm-Gg":"AZuq6aInQvqhEak76kNLM+6hnxrip9OQIFX1wcEyueaWq9oxM9hrklqm5PDnHBVmnaA\n\t4IHMyssQfKA5t+otcVIZr4UqSx9UXYgLNCnn0dQPsmfNL8bLYzfwmO3wWOckgJPWvbfIUv3EJIp\n\tPSHfv5wQwbpCvE2onmGnuOYxJuHLO4PHS39oXxb9pOPACYd9H1SGXgl1DaaiLJI7P6wDQwV6L/b\n\tIsabgWWZ5HK1lAbloTO9XlIgEcd1aWkCekEYz8wYTjKBjj72FDtERfi6wZOmhAbJp9fI4bYN2oO\n\tSD1h6ggscLEOkVXzN39BEko25wRKtfTOpg4KEGBs/pOAK4Z434ARwF+oBnOBn4L8C7iylrIiHkb\n\t7NIAtqEJ64GT7L1vQJ82hPoBxj/FeyaDxok1/z8PI+/SJQtdUS56tEw==","X-Received":"by 2002:a05:690e:d5b:b0:649:d084:9ee7 with SMTP id\n\t956f58d0204a3-64af19489c0mr3521536d50.7.1770780694269;\n\tTue, 10 Feb 2026 19:31:34 -0800 (PST)","MIME-Version":"1.0","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>\n\t<20260205130902.GJ156228@killaraus>\n\t<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>\n\t<20260209220638.GD2405149@killaraus.ideasonboard.com>","In-Reply-To":"<20260209220638.GD2405149@killaraus.ideasonboard.com>","From":"=?utf-8?q?Nerijus_Bend=C5=BEi=C5=ABnas?= <nerijus.bendziunas@gmail.com>","Date":"Wed, 11 Feb 2026 05:30:58 +0200","X-Gm-Features":"AZwV_QhxACVeFDte9gbXOjxnng267jO9dfnoyrTq8SW6HKUfKuSkcN14mY1uts8","Message-ID":"<CAPou2VqDpy8fxddaL_j53gOngd_K0xtv6at3U7dA3VE=9MB63Q@mail.gmail.com>","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","To":"libcamera-devel@lists.libcamera.org","Content-Type":"multipart/alternative; boundary=\"00000000000041d3fc064a8402b2\"","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":38169,"web_url":"https://patchwork.libcamera.org/comment/38169/","msgid":"<20260211081813.GC2553356@killaraus.ideasonboard.com>","date":"2026-02-11T08:18:13","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Feb 11, 2026 at 05:30:58AM +0200, Nerijus Bendžiūnas wrote:\n> There is modern version of fpm: https://nfpm.goreleaser.com/\n\nThanks for the pointer. I'm a bit concerned about how this would\nincrease the container size though. Ruby may also significantly increase\nthe container size though.\n\n> On Tue, Feb 10, 2026 at 12:06 AM Laurent Pinchart wrote:\n> > On Mon, Feb 09, 2026 at 12:03:09PM +0100, Barnabás Pőcze wrote:\n> > > 2026. 02. 05. 14:09 keltezéssel, Laurent Pinchart írta:\n> > > > On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n> > > >> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n> > > >>> On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n> > > >>>> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n> > > >>>>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n> > > >>>>>> `fpm` will be used to easily build debian packages.\n> > > >>>>>\n> > > >>>>> Would be nice to explain what it is needed for\n> > > >>>>>\n> > > >>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > > >>>>>> ---\n> > > >>>>>>     .gitlab-ci/setup-container.sh | 6 ++++++\n> > > >>>>>>     gitlab-ci.yml                 | 2 +-\n> > > >>>>>>     2 files changed, 7 insertions(+), 1 deletion(-)\n> > > >>>>>>\n> > > >>>>>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> > > >>>>>> index 3506271..c9bae0e 100755\n> > > >>>>>> --- a/.gitlab-ci/setup-container.sh\n> > > >>>>>> +++ b/.gitlab-ci/setup-container.sh\n> > > >>>>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n> > > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n> > > >>>>>>        # Sphinx theme for the documentation.\n> > > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n> > > >>>>>> +      # For creating debian packages with `fpm` ( https://github.com/jordansissel/fpm).\n> > > >>>>>> +      PKGS_LIBCAMERA_RUNTIME+=( ruby )\n> > > >>>>>\n> > > >>>>> I can't really comment if using fpm is the correct way to build debs\n> > > >>>>> and what the implications are.\n> > > >>>>>\n> > > >>>>> Sure, relying on something that seems a (probably very nice) piece of\n> > > >>>>> software that lives on github instead of the official debian\n> > > >>>>> tools make me wonders how robust is this\n> > > >>>>>\n> > > >>>>> This guide seems to suggest to use dpkg-buildpackage\n> > > >>>>> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n> > > >>>>>\n> > > >>>>> I don't know much about debian packaging, just checking if you have\n> > > >>>>> considered this solution\n> > > >>>>\n> > > >>>> I really wanted to avoid having to create all the necessary files and configurations\n> > > >>>> that is needed for a \"proper\" debian package.\n> > > >>>\n> > > >>> libcamera is packaged in Debian, so maybe we can just reuse the upstream\n> > > >>> files and configuration ?\n> > > >>\n> > > >> Possibly, but this was also something that I intentionally avoided. I can try to see if\n> > > >> it works, but at that point why not have the package definitions in the libcamera\n> > > >> repository itself?\n> > > >\n> > > > That's a good point, but I think it's still best to keep them separate.\n> > > > I don't want to open the door to maintaining the packaging\n> > > > infrastructure for every distribution out there in the libcamera tree.\n> > > > Distributions may also want to carry patches, which I don't think should\n> > > > live in libcamera.\n> > > >\n> > > >> I have also looked at https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n> > > >> to see if something minimal is easy to assemble, but in the end, I am not sure one can\n> > > >> go simpler than checkinstall/fpm.\n> > > >\n> > > > How difficult is it to do it \"the native Debian way\" ? Is it mostly a\n> > > > one time effort, or would it significantly increase the CI maintenance\n> > > > burden too ?\n> > >\n> > > I suppose it is more a one time thing with small changes later. Nonetheless\n> > > I personally am no expert of debian packaging, in fact I find it somewhat\n> > > unapproachable. It appears more considerably more involved than a simple\n> > > PKGBUILD (pacman), and I'm sure the complexity is justified. But here we're\n> > > only building a \"throwaway\" debian package that is deployed into a known\n> > > environment, installed once, and forgotten forever; so eliminating any and\n> > > all complexity seems to be the best choice in my opinion.\n> > >\n> > > So what should it be?\n> >\n> > I would have a preference for the native Debian packaging approach as\n> > it's one less dependency, and the one time effort would hopefully not be\n> > too high given that there's already a Debian package for libcamera that\n> > we can use as a starting point.\n> >\n> > This being said, it could also be done later, this patch should work.\n> > Maybe you could give it a try and see if it can be done quickly, and\n> > postpone it otherwise ?\n> >\n> > > >>>> I originally wanted to use `checkinstall`,\n> > > >>>> which is packaged, but it is too old to be usable with `meson install`. So in the end\n> > > >>>> `fpm` seemed like a good replacement for `checkinstall`. As far as I understand both\n> > > >>>> essentially use the official debian packaging tools, but they generate all the necessary\n> > > >>>> files, etc.\n> > > >>>>\n> > > >>>>>>        # libclang-rt-dev for the clang ASan runtime.\n> > > >>>>>>        PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n> > > >>>>>>        # For the Android camera HAL and the virtual pipeline handler.\n> > > >>>>>> @@ -277,6 +279,10 @@ Version: ${version}\n> > > >>>>>>     Cflags: -I\\${includedir}\n> > > >>>>>>     EOF\n> > > >>>>>>        fi\n> > > >>>>>> +\n> > > >>>>>> +      if [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n> > > >>>>>> +              gem install fpm\n> > > >>>>>> +      fi\n> > > >>>>>>     }\n> > > >>>>>>\n> > > >>>>>>     cbuild_cleanup_pkgs() {\n> > > >>>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> > > >>>>>> index 3f80cb8..6cc2026 100644\n> > > >>>>>> --- a/gitlab-ci.yml\n> > > >>>>>> +++ b/gitlab-ci.yml\n> > > >>>>>> @@ -70,7 +70,7 @@ include:\n> > > >>>>>>     .libcamera-ci.debian:13:\n> > > >>>>>>       variables:\n> > > >>>>>>         FDO_DISTRIBUTION_VERSION: 'trixie'\n> > > >>>>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n> > > >>>>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n> > > >>>>>\n> > > >>>>> Maybe this is worth a separate commit ?\n> > > >>>>\n> > > >>>> The changes don't take effect without rebuilding the container, so I believe\n> > > >>>> it is preferable to keep the two together.\n> > > >>>>\n> > > >>>>>>\n> > > >>>>>>     .container-debian:\n> > > >>>>>>       extends:","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 7C685BD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 11 Feb 2026 08:18:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 998F262010;\n\tWed, 11 Feb 2026 09:18:16 +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 4853562010\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Feb 2026 09:18:15 +0100 (CET)","from killaraus.ideasonboard.com\n\t(2001-14ba-703d-e500--2a1.rev.dnainternet.fi\n\t[IPv6:2001:14ba:703d:e500::2a1])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id E1C5C12D6; \n\tWed, 11 Feb 2026 09:17:27 +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=\"n2mjLbjU\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770797848;\n\tbh=3SxO6rxOil8amVXk9wanDmPD12veCqT/z+K+30OfD1o=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=n2mjLbjUW6/b+6v2GJVel9VxBlHRpV+Y0ICjFPtmj+NRecWkStsc4UVcKyNZdHmgR\n\tXt9xqANuGSCAP+hweu0Qe49K7dkt0ExH+NWlodoF3HnE6NdymKxwdMTMvBNRbhCWC4\n\tn8GEqDK0zyd4GLQUwg3w1mOv9bEMZ0gszQC8f+os=","Date":"Wed, 11 Feb 2026 10:18:13 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Nerijus =?utf-8?b?QmVuZMW+acWrbmFz?= <nerijus.bendziunas@gmail.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","Message-ID":"<20260211081813.GC2553356@killaraus.ideasonboard.com>","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>\n\t<20260205130902.GJ156228@killaraus>\n\t<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>\n\t<20260209220638.GD2405149@killaraus.ideasonboard.com>\n\t<CAPou2VqDpy8fxddaL_j53gOngd_K0xtv6at3U7dA3VE=9MB63Q@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<CAPou2VqDpy8fxddaL_j53gOngd_K0xtv6at3U7dA3VE=9MB63Q@mail.gmail.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":38186,"web_url":"https://patchwork.libcamera.org/comment/38186/","msgid":"<CAPou2VqvkBNwUYnNGt-0zCjErZY-t+ALGtzH8UxP0MqutQX3gw@mail.gmail.com>","date":"2026-02-11T19:05:33","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":219,"url":"https://patchwork.libcamera.org/api/people/219/","name":"Nerijus Bendžiūnas","email":"nerijus.bendziunas@gmail.com"},"content":"Currently nfpm is 19.84 MiB.\n\nOn Wed, Feb 11, 2026 at 10:18 AM Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> On Wed, Feb 11, 2026 at 05:30:58AM +0200, Nerijus Bendžiūnas wrote:\n> > There is modern version of fpm: https://nfpm.goreleaser.com/\n>\n> Thanks for the pointer. I'm a bit concerned about how this would\n> increase the container size though. Ruby may also significantly increase\n> the container size though.\n>\n> > On Tue, Feb 10, 2026 at 12:06 AM Laurent Pinchart wrote:\n> > > On Mon, Feb 09, 2026 at 12:03:09PM +0100, Barnabás Pőcze wrote:\n> > > > 2026. 02. 05. 14:09 keltezéssel, Laurent Pinchart írta:\n> > > > > On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n> > > > >> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n> > > > >>> On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n> > > > >>>> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n> > > > >>>>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n> > > > >>>>>> `fpm` will be used to easily build debian packages.\n> > > > >>>>>\n> > > > >>>>> Would be nice to explain what it is needed for\n> > > > >>>>>\n> > > > >>>>>> Signed-off-by: Barnabás Pőcze <\n> barnabas.pocze@ideasonboard.com>\n> > > > >>>>>> ---\n> > > > >>>>>>     .gitlab-ci/setup-container.sh | 6 ++++++\n> > > > >>>>>>     gitlab-ci.yml                 | 2 +-\n> > > > >>>>>>     2 files changed, 7 insertions(+), 1 deletion(-)\n> > > > >>>>>>\n> > > > >>>>>> diff --git a/.gitlab-ci/setup-container.sh\n> b/.gitlab-ci/setup-container.sh\n> > > > >>>>>> index 3506271..c9bae0e 100755\n> > > > >>>>>> --- a/.gitlab-ci/setup-container.sh\n> > > > >>>>>> +++ b/.gitlab-ci/setup-container.sh\n> > > > >>>>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n> > > > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n> > > > >>>>>>        # Sphinx theme for the documentation.\n> > > > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n> > > > >>>>>> +      # For creating debian packages with `fpm` (\n> https://github.com/jordansissel/fpm).\n> > > > >>>>>> +      PKGS_LIBCAMERA_RUNTIME+=( ruby )\n> > > > >>>>>\n> > > > >>>>> I can't really comment if using fpm is the correct way to\n> build debs\n> > > > >>>>> and what the implications are.\n> > > > >>>>>\n> > > > >>>>> Sure, relying on something that seems a (probably very nice)\n> piece of\n> > > > >>>>> software that lives on github instead of the official debian\n> > > > >>>>> tools make me wonders how robust is this\n> > > > >>>>>\n> > > > >>>>> This guide seems to suggest to use dpkg-buildpackage\n> > > > >>>>>\n> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n> > > > >>>>>\n> > > > >>>>> I don't know much about debian packaging, just checking if you\n> have\n> > > > >>>>> considered this solution\n> > > > >>>>\n> > > > >>>> I really wanted to avoid having to create all the necessary\n> files and configurations\n> > > > >>>> that is needed for a \"proper\" debian package.\n> > > > >>>\n> > > > >>> libcamera is packaged in Debian, so maybe we can just reuse the\n> upstream\n> > > > >>> files and configuration ?\n> > > > >>\n> > > > >> Possibly, but this was also something that I intentionally\n> avoided. I can try to see if\n> > > > >> it works, but at that point why not have the package definitions\n> in the libcamera\n> > > > >> repository itself?\n> > > > >\n> > > > > That's a good point, but I think it's still best to keep them\n> separate.\n> > > > > I don't want to open the door to maintaining the packaging\n> > > > > infrastructure for every distribution out there in the libcamera\n> tree.\n> > > > > Distributions may also want to carry patches, which I don't think\n> should\n> > > > > live in libcamera.\n> > > > >\n> > > > >> I have also looked at\n> https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n> > > > >> to see if something minimal is easy to assemble, but in the end,\n> I am not sure one can\n> > > > >> go simpler than checkinstall/fpm.\n> > > > >\n> > > > > How difficult is it to do it \"the native Debian way\" ? Is it\n> mostly a\n> > > > > one time effort, or would it significantly increase the CI\n> maintenance\n> > > > > burden too ?\n> > > >\n> > > > I suppose it is more a one time thing with small changes later.\n> Nonetheless\n> > > > I personally am no expert of debian packaging, in fact I find it\n> somewhat\n> > > > unapproachable. It appears more considerably more involved than a\n> simple\n> > > > PKGBUILD (pacman), and I'm sure the complexity is justified. But\n> here we're\n> > > > only building a \"throwaway\" debian package that is deployed into a\n> known\n> > > > environment, installed once, and forgotten forever; so eliminating\n> any and\n> > > > all complexity seems to be the best choice in my opinion.\n> > > >\n> > > > So what should it be?\n> > >\n> > > I would have a preference for the native Debian packaging approach as\n> > > it's one less dependency, and the one time effort would hopefully not\n> be\n> > > too high given that there's already a Debian package for libcamera that\n> > > we can use as a starting point.\n> > >\n> > > This being said, it could also be done later, this patch should work.\n> > > Maybe you could give it a try and see if it can be done quickly, and\n> > > postpone it otherwise ?\n> > >\n> > > > >>>> I originally wanted to use `checkinstall`,\n> > > > >>>> which is packaged, but it is too old to be usable with `meson\n> install`. So in the end\n> > > > >>>> `fpm` seemed like a good replacement for `checkinstall`. As far\n> as I understand both\n> > > > >>>> essentially use the official debian packaging tools, but they\n> generate all the necessary\n> > > > >>>> files, etc.\n> > > > >>>>\n> > > > >>>>>>        # libclang-rt-dev for the clang ASan runtime.\n> > > > >>>>>>        PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev\n> )\n> > > > >>>>>>        # For the Android camera HAL and the virtual pipeline\n> handler.\n> > > > >>>>>> @@ -277,6 +279,10 @@ Version: ${version}\n> > > > >>>>>>     Cflags: -I\\${includedir}\n> > > > >>>>>>     EOF\n> > > > >>>>>>        fi\n> > > > >>>>>> +\n> > > > >>>>>> +      if [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n> > > > >>>>>> +              gem install fpm\n> > > > >>>>>> +      fi\n> > > > >>>>>>     }\n> > > > >>>>>>\n> > > > >>>>>>     cbuild_cleanup_pkgs() {\n> > > > >>>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> > > > >>>>>> index 3f80cb8..6cc2026 100644\n> > > > >>>>>> --- a/gitlab-ci.yml\n> > > > >>>>>> +++ b/gitlab-ci.yml\n> > > > >>>>>> @@ -70,7 +70,7 @@ include:\n> > > > >>>>>>     .libcamera-ci.debian:13:\n> > > > >>>>>>       variables:\n> > > > >>>>>>         FDO_DISTRIBUTION_VERSION: 'trixie'\n> > > > >>>>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n> > > > >>>>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n> > > > >>>>>\n> > > > >>>>> Maybe this is worth a separate commit ?\n> > > > >>>>\n> > > > >>>> The changes don't take effect without rebuilding the container,\n> so I believe\n> > > > >>>> it is preferable to keep the two together.\n> > > > >>>>\n> > > > >>>>>>\n> > > > >>>>>>     .container-debian:\n> > > > >>>>>>       extends:\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\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 C9E1BBD78E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 11 Feb 2026 19:06:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C765D621C3;\n\tWed, 11 Feb 2026 20:06:12 +0100 (CET)","from mail-yx1-xb136.google.com (mail-yx1-xb136.google.com\n\t[IPv6:2607:f8b0:4864:20::b136])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D8F15620C9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Feb 2026 20:06:10 +0100 (CET)","by mail-yx1-xb136.google.com with SMTP id\n\t956f58d0204a3-649b1ca87ddso2310685d50.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Feb 2026 11:06:10 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"fPjBTUH8\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1770836769; cv=none;\n\td=google.com; s=arc-20240605;\n\tb=HDvmE3a2Wd3anCrvXWNpagzGBWn37XwGMKESpdY5o7MVVAQci8coZWY1fXBw0Is9vs\n\tl6BNN6SkOgU9B/xQRinsAPoRBl51DEdHqCcEkEEcaGzDMwblpyTlTL74GiStfUkrbxBi\n\tMq4Z5rgMERCdnzd6eDOgONhpIeHxMCnjydBYjZaruMDmEVk/g8txWykF8/A0oXfwd0Tb\n\tQLJVr/Lf7Fc5DOozTBMz64ETRJyM2PHQ+CrDDmCDMCP1+Zvl6Y3ksLZSw9pd/hmct1im\n\txxXdYu0bkL+huQH6o+nIo5WIvZQ7UX/a+PWEqakU7AcdT/Kp0FYTwJ/tTT0Q2z5o5CGB\n\tiwOw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=arc-20240605; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:dkim-signature;\n\tbh=yWHQBb5mOv2hZ+EYnRUGGiSYIpt1wJMrPxbZ36LMSck=;\n\tfh=kAwbguIY0wmqf1QQypnTiLH20ruRu7+JSSp6fzxLlN4=;\n\tb=FTlClNaP4DlCkq3tSSk2LE1JfFlsM8H0+azXFgbEUDDb96+kI1ABvLCpU3f3DEDw1O\n\tvEy+Nn4PrKYMKqU95BSAktCmpFtcFZ3LQvWgsnh/TykyTXUj7UT40VXDL+pYJzrDogsz\n\thfM9kL+pfGWn9Nhp04eNBFAfYQKRaqdPW1P92KwdTHgb2rxh+ow6hlyL6AjGqIigv/Nu\n\tkm1Mmka04Pe009gYENQJneWf4HJTF0RROr8fCCzx5tJlS6IV2/qqUWa8bTch1e7CFW6r\n\tD0NC04bhf1M6+W2p+wSC4rVKmgBQ2ao+/CcAoi5fdDD3rGjte1zClWxj0dXk//YjbR5S\n\taEWg==; darn=lists.libcamera.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1770836769; x=1771441569;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=yWHQBb5mOv2hZ+EYnRUGGiSYIpt1wJMrPxbZ36LMSck=;\n\tb=fPjBTUH8YHNGW0UrgwmeQZZVJLpJLdxPN5QiKNoCwK+lZlOOSoG++nCpWrWFu5IDCu\n\tutUQ4OoCZLwT56JAPxbvS9vNgPw9hRJxeHyGxcAC73t+ixVhM9fG7fRIWMkhcDjbjN3p\n\teEBAwOgI7/ZsArsb8lD3qhwDmyIsP2BlDn+/1JYrvAkka3nMGCzoNr6XrAcHjdU6VGdx\n\tl1ZUA3ktSbJRRNZjpTl20GuzuVDNWY+1YB4ajt5wn0WD28ImfkuhVfcKgdh1fPSKviFy\n\tNI14txKxueCOmhaZ+O7QZKH5wv3gtziH/bOqVgVkLz4L8LlGRV0p0GvKOXdcnN6Ro5B/\n\t4ayw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1770836769; x=1771441569;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=yWHQBb5mOv2hZ+EYnRUGGiSYIpt1wJMrPxbZ36LMSck=;\n\tb=MgyjJlDSYB5woFKfJe+/r00kxNC3EvKY/01hWikfeBEMw9Cbv7nbz/Clg3KTO4iCDq\n\t5122BQ59H/9qd429eLAOt7UH6Ds73TDnADLCcDKlcLOEjdT20wTJQr02s3u07IK4wQKo\n\tdraAy+32vOo+M1wfygLYrw/SNd/RUv006fQf3S+y1i8mHSK4rAttYJWQjSSbuKtGUuDz\n\tFe5Vhrxtlu/oODHQli49vDR2JaSD+dF6gYNuYN0UXdDZi7tu9UK8XzhmGyWU4NP3M3pM\n\taIoWC+5QEUTTlv/++LXAogrRtmrg+BkwiEbd6cUwp1wkM1Uz7nhpZ2ra5azyucbJJtNA\n\tcvyA==","X-Gm-Message-State":"AOJu0YzkirhApa7W83Pj0mUi7mg0B7ydaM4E2yJlhgTvKTkb9hXlQYLH\n\tQs8szTydyIRof2UCE+xmXAbIhV0XwJk+OcFG4VmrI0KyiMOG3vqBJk7dvsUU63c8Rls0sqVd1R8\n\tocB3+W+RMLmjuPYwTXOv6z6qUA83KYQ==","X-Gm-Gg":"AZuq6aKwQGtJ0B/VG6S/KLV7xlwXVMfEyaaky2VsJpyXQTQ8Kr5SUl4htI3zzQIXlxc\n\tjyKP8hDm51/Vuft9uFiIY3csvKzwjEFojhOqQidQPQdMOcbW7bQ6FVYxR7KPzteSdcMd8pCx0z9\n\tRjUiNrKReYU7l/6ECby4gTdc9qVcYLQfCLqxQJ9HtgVk6c/80FCcSFl52GeLBQsH2gGiOTAH42K\n\tpujUrksUShgtiM78HZvy5AoaO8WVJRX/M56udVFZEOVgYX11sWKdSAG0mB5r7LEfYdIJvh1QMDt\n\tlHPSEfgCaKngawFTf6UPnvt7ZSqGrfzjuQ5InDw6eoi+U8buGfYR0ScvZXZll94VWBiPWNwvEn/\n\tomCLyxvfC+o1KdERGJZv6NMqh","X-Received":"by 2002:a53:acd6:0:10b0:644:795a:391 with SMTP id\n\t956f58d0204a3-64bbaaea680mr281447d50.60.1770836769450;\n\tWed, 11 Feb 2026 11:06:09 -0800 (PST)","MIME-Version":"1.0","References":"<20260130160254.1770742-1-barnabas.pocze@ideasonboard.com>\n\t<20260130160254.1770742-2-barnabas.pocze@ideasonboard.com>\n\t<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>\n\t<20260205130902.GJ156228@killaraus>\n\t<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>\n\t<20260209220638.GD2405149@killaraus.ideasonboard.com>\n\t<CAPou2VqDpy8fxddaL_j53gOngd_K0xtv6at3U7dA3VE=9MB63Q@mail.gmail.com>\n\t<20260211081813.GC2553356@killaraus.ideasonboard.com>","In-Reply-To":"<20260211081813.GC2553356@killaraus.ideasonboard.com>","From":"=?utf-8?q?Nerijus_Bend=C5=BEi=C5=ABnas?= <nerijus.bendziunas@gmail.com>","Date":"Wed, 11 Feb 2026 21:05:33 +0200","X-Gm-Features":"AZwV_QgrH7ByR9_W1WbHSbQ0u-qm6yDu-LEZK2IgIk_WEVvLuJK9C4uaw6CTlV0","Message-ID":"<CAPou2VqvkBNwUYnNGt-0zCjErZY-t+ALGtzH8UxP0MqutQX3gw@mail.gmail.com>","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"multipart/alternative; boundary=\"00000000000099300b064a91102e\"","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":38187,"web_url":"https://patchwork.libcamera.org/comment/38187/","msgid":"<20260211193355.GA2619463@killaraus.ideasonboard.com>","date":"2026-02-11T19:33:55","subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Feb 11, 2026 at 09:05:33PM +0200, Nerijus Bendžiūnas wrote:\n> Currently nfpm is 19.84 MiB.\n\nBut it's not packaged by Debian, so we'll need to install all the\nrequired packages to compile it. I have a hard time feeling enthusiastic\nabout this, especially as we have a libcamera Debian package we can use\nas a starting point.\n\n> On Wed, Feb 11, 2026 at 10:18 AM Laurent Pinchart wrote:\n> > On Wed, Feb 11, 2026 at 05:30:58AM +0200, Nerijus Bendžiūnas wrote:\n> > > There is modern version of fpm: https://nfpm.goreleaser.com/\n> >\n> > Thanks for the pointer. I'm a bit concerned about how this would\n> > increase the container size though. Ruby may also significantly increase\n> > the container size though.\n> >\n> > > On Tue, Feb 10, 2026 at 12:06 AM Laurent Pinchart wrote:\n> > > > On Mon, Feb 09, 2026 at 12:03:09PM +0100, Barnabás Pőcze wrote:\n> > > > > 2026. 02. 05. 14:09 keltezéssel, Laurent Pinchart írta:\n> > > > > > On Thu, Feb 05, 2026 at 01:56:30PM +0100, Barnabás Pőcze wrote:\n> > > > > >> 2026. 02. 05. 13:49 keltezéssel, Laurent Pinchart írta:\n> > > > > >>> On Thu, Feb 05, 2026 at 01:24:43PM +0100, Barnabás Pőcze wrote:\n> > > > > >>>> 2026. 02. 04. 10:02 keltezéssel, Jacopo Mondi írta:\n> > > > > >>>>> On Fri, Jan 30, 2026 at 05:02:50PM +0100, Barnabás Pőcze wrote:\n> > > > > >>>>>> `fpm` will be used to easily build debian packages.\n> > > > > >>>>>\n> > > > > >>>>> Would be nice to explain what it is needed for\n> > > > > >>>>>\n> > > > > >>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > > > > >>>>>> ---\n> > > > > >>>>>>     .gitlab-ci/setup-container.sh | 6 ++++++\n> > > > > >>>>>>     gitlab-ci.yml                 | 2 +-\n> > > > > >>>>>>     2 files changed, 7 insertions(+), 1 deletion(-)\n> > > > > >>>>>>\n> > > > > >>>>>> diff --git a/.gitlab-ci/setup-container.sh b/.gitlab-ci/setup-container.sh\n> > > > > >>>>>> index 3506271..c9bae0e 100755\n> > > > > >>>>>> --- a/.gitlab-ci/setup-container.sh\n> > > > > >>>>>> +++ b/.gitlab-ci/setup-container.sh\n> > > > > >>>>>> @@ -138,6 +138,8 @@ case $FDO_DISTRIBUTION_VERSION in\n> > > > > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( g++-13 )\n> > > > > >>>>>>        # Sphinx theme for the documentation.\n> > > > > >>>>>>        PKGS_LIBCAMERA_RUNTIME+=( python3-sphinx-book-theme )\n> > > > > >>>>>> +      # For creating debian packages with `fpm` (https://github.com/jordansissel/fpm).\n> > > > > >>>>>> +      PKGS_LIBCAMERA_RUNTIME+=( ruby )\n> > > > > >>>>>\n> > > > > >>>>> I can't really comment if using fpm is the correct way to build debs\n> > > > > >>>>> and what the implications are.\n> > > > > >>>>>\n> > > > > >>>>> Sure, relying on something that seems a (probably very nice) piece of\n> > > > > >>>>> software that lives on github instead of the official debian\n> > > > > >>>>> tools make me wonders how robust is this\n> > > > > >>>>>\n> > > > > >>>>> This guide seems to suggest to use dpkg-buildpackage\n> > > > > >>>>> https://about.gitlab.com/blog/automated-debian-package-build-with-gitlab-ci/\n> > > > > >>>>>\n> > > > > >>>>> I don't know much about debian packaging, just checking if you have\n> > > > > >>>>> considered this solution\n> > > > > >>>>\n> > > > > >>>> I really wanted to avoid having to create all the necessary files and configurations\n> > > > > >>>> that is needed for a \"proper\" debian package.\n> > > > > >>>\n> > > > > >>> libcamera is packaged in Debian, so maybe we can just reuse the upstream\n> > > > > >>> files and configuration ?\n> > > > > >>\n> > > > > >> Possibly, but this was also something that I intentionally avoided. I can try to see if\n> > > > > >> it works, but at that point why not have the package definitions in the libcamera\n> > > > > >> repository itself?\n> > > > > >\n> > > > > > That's a good point, but I think it's still best to keep them separate.\n> > > > > > I don't want to open the door to maintaining the packaging\n> > > > > > infrastructure for every distribution out there in the libcamera tree.\n> > > > > > Distributions may also want to carry patches, which I don't think should\n> > > > > > live in libcamera.\n> > > > > >\n> > > > > >> I have also looked at https://vincent.bernat.ch/en/blog/2019-pragmatic-debian-packaging\n> > > > > >> to see if something minimal is easy to assemble, but in the end, I am not sure one can\n> > > > > >> go simpler than checkinstall/fpm.\n> > > > > >\n> > > > > > How difficult is it to do it \"the native Debian way\" ? Is it mostly a\n> > > > > > one time effort, or would it significantly increase the CI maintenance\n> > > > > > burden too ?\n> > > > >\n> > > > > I suppose it is more a one time thing with small changes later. Nonetheless\n> > > > > I personally am no expert of debian packaging, in fact I find it somewhat\n> > > > > unapproachable. It appears more considerably more involved than a simple\n> > > > > PKGBUILD (pacman), and I'm sure the complexity is justified. But here we're\n> > > > > only building a \"throwaway\" debian package that is deployed into a known\n> > > > > environment, installed once, and forgotten forever; so eliminating any and\n> > > > > all complexity seems to be the best choice in my opinion.\n> > > > >\n> > > > > So what should it be?\n> > > >\n> > > > I would have a preference for the native Debian packaging approach as\n> > > > it's one less dependency, and the one time effort would hopefully not be\n> > > > too high given that there's already a Debian package for libcamera that\n> > > > we can use as a starting point.\n> > > >\n> > > > This being said, it could also be done later, this patch should work.\n> > > > Maybe you could give it a try and see if it can be done quickly, and\n> > > > postpone it otherwise ?\n> > > >\n> > > > > >>>> I originally wanted to use `checkinstall`,\n> > > > > >>>> which is packaged, but it is too old to be usable with `meson install`. So in the end\n> > > > > >>>> `fpm` seemed like a good replacement for `checkinstall`. As far as I understand both\n> > > > > >>>> essentially use the official debian packaging tools, but they generate all the necessary\n> > > > > >>>> files, etc.\n> > > > > >>>>\n> > > > > >>>>>>        # libclang-rt-dev for the clang ASan runtime.\n> > > > > >>>>>>        PKGS_LIBCAMERA_RUNTIME_MULTIARCH+=( libclang-rt-19-dev )\n> > > > > >>>>>>        # For the Android camera HAL and the virtual pipeline handler.\n> > > > > >>>>>> @@ -277,6 +279,10 @@ Version: ${version}\n> > > > > >>>>>>     Cflags: -I\\${includedir}\n> > > > > >>>>>>     EOF\n> > > > > >>>>>>        fi\n> > > > > >>>>>> +\n> > > > > >>>>>> +      if [[ $FDO_DISTRIBUTION_VERSION == 'trixie' ]] ; then\n> > > > > >>>>>> +              gem install fpm\n> > > > > >>>>>> +      fi\n> > > > > >>>>>>     }\n> > > > > >>>>>>\n> > > > > >>>>>>     cbuild_cleanup_pkgs() {\n> > > > > >>>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml\n> > > > > >>>>>> index 3f80cb8..6cc2026 100644\n> > > > > >>>>>> --- a/gitlab-ci.yml\n> > > > > >>>>>> +++ b/gitlab-ci.yml\n> > > > > >>>>>> @@ -70,7 +70,7 @@ include:\n> > > > > >>>>>>     .libcamera-ci.debian:13:\n> > > > > >>>>>>       variables:\n> > > > > >>>>>>         FDO_DISTRIBUTION_VERSION: 'trixie'\n> > > > > >>>>>> -    FDO_DISTRIBUTION_TAG: '2026-01-23.0'\n> > > > > >>>>>> +    FDO_DISTRIBUTION_TAG: '2026-01-29.0'\n> > > > > >>>>>\n> > > > > >>>>> Maybe this is worth a separate commit ?\n> > > > > >>>>\n> > > > > >>>> The changes don't take effect without rebuilding the container, so I believe\n> > > > > >>>> it is preferable to keep the two together.\n> > > > > >>>>\n> > > > > >>>>>>\n> > > > > >>>>>>     .container-debian:\n> > > > > >>>>>>       extends:","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 51587BDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 11 Feb 2026 19:33:59 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6FF08621C6;\n\tWed, 11 Feb 2026 20:33:58 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AEF4A620C9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 11 Feb 2026 20:33:56 +0100 (CET)","from killaraus.ideasonboard.com\n\t(2001-14ba-703d-e500--2a1.rev.dnainternet.fi\n\t[IPv6:2001:14ba:703d:e500::2a1])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 173DEC6F;\n\tWed, 11 Feb 2026 20:33:09 +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=\"jdnqZCM9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1770838389;\n\tbh=gn+3h96rdEWUDxIZ7FAevj35XDYtkiV8XzmrmFQQ9+g=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=jdnqZCM9DoS1AP6ACFcC7IEAoZ2/AYXFimW/o/a81DBilpqcU/ygFLrev6/QbxYCe\n\tG2XNLYDGFUkj2izFBYOLf5RL08g9+GKXLrQ3eQd62D0HAQEB6hFwyyIDGeD5EQ1e+7\n\t4DRwLfPxA8mDRpNDZ+KbXV/0xu2e7Xwfv+mNTNTM=","Date":"Wed, 11 Feb 2026 21:33:55 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Nerijus =?utf-8?b?QmVuZMW+acWrbmFz?= <nerijus.bendziunas@gmail.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [libcamera-ci] [RFC PATCH v2 1/5] Install `fpm` in the debian 13\n\tcontainer","Message-ID":"<20260211193355.GA2619463@killaraus.ideasonboard.com>","References":"<aYMIxSLUWD1gWU8Z@zed>\n\t<bed228d5-409c-4bad-8f3a-e877e6684bd6@ideasonboard.com>\n\t<20260205124921.GH156228@killaraus>\n\t<8b9b6e51-f41e-4d4e-af65-2ebf9ec68388@ideasonboard.com>\n\t<20260205130902.GJ156228@killaraus>\n\t<6b6210bd-a8ee-4454-9f0b-b253c3c199c4@ideasonboard.com>\n\t<20260209220638.GD2405149@killaraus.ideasonboard.com>\n\t<CAPou2VqDpy8fxddaL_j53gOngd_K0xtv6at3U7dA3VE=9MB63Q@mail.gmail.com>\n\t<20260211081813.GC2553356@killaraus.ideasonboard.com>\n\t<CAPou2VqvkBNwUYnNGt-0zCjErZY-t+ALGtzH8UxP0MqutQX3gw@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<CAPou2VqvkBNwUYnNGt-0zCjErZY-t+ALGtzH8UxP0MqutQX3gw@mail.gmail.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>"}}]