[{"id":36534,"web_url":"https://patchwork.libcamera.org/comment/36534/","msgid":"<20251029101454.GC797@pendragon.ideasonboard.com>","date":"2025-10-29T10:14:54","subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Oct 29, 2025 at 11:08:47AM +0100, Barnabás Pőcze wrote:\n> `Closes: <url>` is recognized by gitlab and closes the referenced issue\n> automatically when a commit is made[0] to the project's default branch.\n> Now that issues are hosted on gitlab, it will be the preferred way to\n> reference the fixed issue from a commit, so add it to the checkstlye.py script.\n> \n> [0]: https://docs.gitlab.com/user/project/issues/managing_issues/#default-closing-pattern\n> \n> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> ---\n> Two questions remain:\n\nI read the commit message first, then glanced at the code, and had the\nexact same two questions :-)\n\n> (1) should the regex be stricter? e.g.\n>     r\"https:\\/\\/gitlab\\.freedesktop\\.org\\/camera\\/libcamera\\/-\\/issues\\/[0-9]+\"\n\nI don't see a reason not to make it strict.\n\n> (2) what should happen to `Bug` ?\n\nI think we can deprecate it, and drop it from checkstyle.py.\n\n> ---\n>  utils/checkstyle.py | 1 +\n>  1 file changed, 1 insertion(+)\n> \n> diff --git a/utils/checkstyle.py b/utils/checkstyle.py\n> index f6229bbd86..219921bc9d 100755\n> --- a/utils/checkstyle.py\n> +++ b/utils/checkstyle.py\n> @@ -542,6 +542,7 @@ class TrailersChecker(CommitChecker):\n>      known_trailers = {\n>          'Acked-by': email_regex,\n>          'Bug': link_regex,\n> +        'Closes': link_regex,\n>          'Co-developed-by': email_regex,\n>          'Fixes': commit_regex,\n>          'Link': link_regex,","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 55185BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 29 Oct 2025 10:15:10 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4A5536082E;\n\tWed, 29 Oct 2025 11:15:09 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 085E5600CC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 29 Oct 2025 11:15:08 +0100 (CET)","from pendragon.ideasonboard.com (unknown [193.209.96.36])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 8F9F411DD; \n\tWed, 29 Oct 2025 11:13:18 +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=\"C1b4faMi\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761732798;\n\tbh=XjZRdkXxlmuYFQ49f3BSTQtLnB+SwQuKCCTVAzFrRhc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=C1b4faMiuq0JWTbLZTG0bKyrlX2mIweeyOTJGF2ZVD2hVK4cjetLHoymgUgP1hRNp\n\t9DKaQY0QMED1ESFp5/5K2As22EUMOIrKanM93YRdVWBlJSQeT2TyEHXlVH0CyzA6Nq\n\t9iVzTsrsXEVV2E3wnxBgcwLf9JfxMjo3iGX6l28Y=","Date":"Wed, 29 Oct 2025 12:14:54 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","Message-ID":"<20251029101454.GC797@pendragon.ideasonboard.com>","References":"<20251029100847.730477-1-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":"<20251029100847.730477-1-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":36535,"web_url":"https://patchwork.libcamera.org/comment/36535/","msgid":"<176173689369.567526.1096572327011436838@ping.linuxembedded.co.uk>","date":"2025-10-29T11:21:33","subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart (2025-10-29 10:14:54)\n> On Wed, Oct 29, 2025 at 11:08:47AM +0100, Barnabás Pőcze wrote:\n> > `Closes: <url>` is recognized by gitlab and closes the referenced issue\n> > automatically when a commit is made[0] to the project's default branch.\n> > Now that issues are hosted on gitlab, it will be the preferred way to\n> > reference the fixed issue from a commit, so add it to the checkstlye.py script.\n> > \n> > [0]: https://docs.gitlab.com/user/project/issues/managing_issues/#default-closing-pattern\n> > \n> > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > ---\n> > Two questions remain:\n> \n> I read the commit message first, then glanced at the code, and had the\n> exact same two questions :-)\n> \n> > (1) should the regex be stricter? e.g.\n> >     r\"https:\\/\\/gitlab\\.freedesktop\\.org\\/camera\\/libcamera\\/-\\/issues\\/[0-9]+\"\n> \n> I don't see a reason not to make it strict.\n> \n\nWould we ever want to reference that we're closing bugs reported in\nother projects ?\n\nLike:\n\nCloses: https://github.com/raspberrypi/libcamera/issues/141\n\nI could imagine having a commit that 'closes' multiple issue reports in\nmultiple locations.\n\n\n\n\n> > (2) what should happen to `Bug` ?\n> \n> I think we can deprecate it, and drop it from checkstyle.py.\n\nI think it can be removed too.\n\n\n\n> \n> > ---\n> >  utils/checkstyle.py | 1 +\n> >  1 file changed, 1 insertion(+)\n> > \n> > diff --git a/utils/checkstyle.py b/utils/checkstyle.py\n> > index f6229bbd86..219921bc9d 100755\n> > --- a/utils/checkstyle.py\n> > +++ b/utils/checkstyle.py\n> > @@ -542,6 +542,7 @@ class TrailersChecker(CommitChecker):\n> >      known_trailers = {\n> >          'Acked-by': email_regex,\n> >          'Bug': link_regex,\n> > +        'Closes': link_regex,\n> >          'Co-developed-by': email_regex,\n> >          'Fixes': commit_regex,\n> >          'Link': link_regex,\n> \n> -- \n> Regards,\n> \n> Laurent Pinchart","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 59859C3259\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 29 Oct 2025 11:21:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 46C396082E;\n\tWed, 29 Oct 2025 12:21:37 +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 5BD3460453\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 29 Oct 2025 12:21:36 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0537918E5;\n\tWed, 29 Oct 2025 12:19:46 +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=\"pO4CbCae\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761736787;\n\tbh=cANv87HFidu+TOz5xl0qySxYWTo/ejS30J5b4HbHnI0=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=pO4CbCaegif9IG1LWDETReNFgSgbahcqxzv3ilrEb/5yhKQ/FHhgi2fNFlM37+T7h\n\ttkRUasrvFdIMIiyAWy7wVqqQHsIQWXt3KrxPe2h6+TuCQasRcmdzcSVntnisD9N3sG\n\t+sRnGdy3D00opUno5UlIQWQQKFsVllN5lLmQ6TdQ=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20251029101454.GC797@pendragon.ideasonboard.com>","References":"<20251029100847.730477-1-barnabas.pocze@ideasonboard.com>\n\t<20251029101454.GC797@pendragon.ideasonboard.com>","Subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Wed, 29 Oct 2025 11:21:33 +0000","Message-ID":"<176173689369.567526.1096572327011436838@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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":36554,"web_url":"https://patchwork.libcamera.org/comment/36554/","msgid":"<176183109143.284565.7016049835396455874@ping.linuxembedded.co.uk>","date":"2025-10-30T13:31:31","subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Kieran Bingham (2025-10-29 11:21:33)\n> Quoting Laurent Pinchart (2025-10-29 10:14:54)\n> > On Wed, Oct 29, 2025 at 11:08:47AM +0100, Barnabás Pőcze wrote:\n> > > `Closes: <url>` is recognized by gitlab and closes the referenced issue\n> > > automatically when a commit is made[0] to the project's default branch.\n> > > Now that issues are hosted on gitlab, it will be the preferred way to\n> > > reference the fixed issue from a commit, so add it to the checkstlye.py script.\n> > > \n> > > [0]: https://docs.gitlab.com/user/project/issues/managing_issues/#default-closing-pattern\n> > > \n> > > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > > ---\n> > > Two questions remain:\n> > \n> > I read the commit message first, then glanced at the code, and had the\n> > exact same two questions :-)\n> > \n> > > (1) should the regex be stricter? e.g.\n> > >     r\"https:\\/\\/gitlab\\.freedesktop\\.org\\/camera\\/libcamera\\/-\\/issues\\/[0-9]+\"\n> > \n> > I don't see a reason not to make it strict.\n> > \n> \n> Would we ever want to reference that we're closing bugs reported in\n> other projects ?\n> \n> Like:\n> \n> Closes: https://github.com/raspberrypi/libcamera/issues/141\n> \n> I could imagine having a commit that 'closes' multiple issue reports in\n> multiple locations.\n> \n> \n\nWhich actually means I think this patch is correct as it is so:\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> \n> \n> > > (2) what should happen to `Bug` ?\n> > \n> > I think we can deprecate it, and drop it from checkstyle.py.\n> \n> I think it can be removed too.\n> \n> \n> \n> > \n> > > ---\n> > >  utils/checkstyle.py | 1 +\n> > >  1 file changed, 1 insertion(+)\n> > > \n> > > diff --git a/utils/checkstyle.py b/utils/checkstyle.py\n> > > index f6229bbd86..219921bc9d 100755\n> > > --- a/utils/checkstyle.py\n> > > +++ b/utils/checkstyle.py\n> > > @@ -542,6 +542,7 @@ class TrailersChecker(CommitChecker):\n> > >      known_trailers = {\n> > >          'Acked-by': email_regex,\n> > >          'Bug': link_regex,\n> > > +        'Closes': link_regex,\n> > >          'Co-developed-by': email_regex,\n> > >          'Fixes': commit_regex,\n> > >          'Link': link_regex,\n> > \n> > -- \n> > Regards,\n> > \n> > Laurent Pinchart","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 80367BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Oct 2025 13:31:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 75731608D3;\n\tThu, 30 Oct 2025 14:31:36 +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 B57BD603ED\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 Oct 2025 14:31:34 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6AE1A19D0;\n\tThu, 30 Oct 2025 14:29:44 +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=\"JC9uLkRZ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761830984;\n\tbh=nI9llyV+qhLqfh+rRB1mqBoXY/DKc/kHQ+37+MaI39k=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=JC9uLkRZYlaTG4fwq+btVGKKN1U2FbZb5F8GadbGLwaohDyh9FlF+BEwsNnb/IJb9\n\t1sdyqe4BQZ70nB+ch/bzSMtZGxcKfBEGPCIN0vRPnZOcGfsM0XRbKTFK2/n/ONp42+\n\t8fNjDiKUc7K/wyZw7TRN2u2372sByMa6v1CAOhRc=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<176173689369.567526.1096572327011436838@ping.linuxembedded.co.uk>","References":"<20251029100847.730477-1-barnabas.pocze@ideasonboard.com>\n\t<20251029101454.GC797@pendragon.ideasonboard.com>\n\t<176173689369.567526.1096572327011436838@ping.linuxembedded.co.uk>","Subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Thu, 30 Oct 2025 13:31:31 +0000","Message-ID":"<176183109143.284565.7016049835396455874@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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":36556,"web_url":"https://patchwork.libcamera.org/comment/36556/","msgid":"<20251030135536.GF797@pendragon.ideasonboard.com>","date":"2025-10-30T13:55:36","subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Thu, Oct 30, 2025 at 01:31:31PM +0000, Kieran Bingham wrote:\n> Quoting Kieran Bingham (2025-10-29 11:21:33)\n> > Quoting Laurent Pinchart (2025-10-29 10:14:54)\n> > > On Wed, Oct 29, 2025 at 11:08:47AM +0100, Barnabás Pőcze wrote:\n> > > > `Closes: <url>` is recognized by gitlab and closes the referenced issue\n> > > > automatically when a commit is made[0] to the project's default branch.\n> > > > Now that issues are hosted on gitlab, it will be the preferred way to\n> > > > reference the fixed issue from a commit, so add it to the checkstlye.py script.\n> > > > \n> > > > [0]: https://docs.gitlab.com/user/project/issues/managing_issues/#default-closing-pattern\n> > > > \n> > > > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> > > > ---\n> > > > Two questions remain:\n> > > \n> > > I read the commit message first, then glanced at the code, and had the\n> > > exact same two questions :-)\n> > > \n> > > > (1) should the regex be stricter? e.g.\n> > > >     r\"https:\\/\\/gitlab\\.freedesktop\\.org\\/camera\\/libcamera\\/-\\/issues\\/[0-9]+\"\n> > > \n> > > I don't see a reason not to make it strict.\n> > > \n> > \n> > Would we ever want to reference that we're closing bugs reported in\n> > other projects ?\n> > \n> > Like:\n> > \n> > Closes: https://github.com/raspberrypi/libcamera/issues/141\n> > \n> > I could imagine having a commit that 'closes' multiple issue reports in\n> > multiple locations.\n\nI think I would still prefer restricting the usage to gitlab.fdo, and\nexpand it if we find that it's useful. Having a regex that checks the\nURL is useful to avoid typos. It's a slight preference though.\n\n> Which actually means I think this patch is correct as it is so:\n\nThe Bug trailer should be removed.\n\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> > > > (2) what should happen to `Bug` ?\n> > > \n> > > I think we can deprecate it, and drop it from checkstyle.py.\n> > \n> > I think it can be removed too.\n> > \n> > > > ---\n> > > >  utils/checkstyle.py | 1 +\n> > > >  1 file changed, 1 insertion(+)\n> > > > \n> > > > diff --git a/utils/checkstyle.py b/utils/checkstyle.py\n> > > > index f6229bbd86..219921bc9d 100755\n> > > > --- a/utils/checkstyle.py\n> > > > +++ b/utils/checkstyle.py\n> > > > @@ -542,6 +542,7 @@ class TrailersChecker(CommitChecker):\n> > > >      known_trailers = {\n> > > >          'Acked-by': email_regex,\n> > > >          'Bug': link_regex,\n> > > > +        'Closes': link_regex,\n> > > >          'Co-developed-by': email_regex,\n> > > >          'Fixes': commit_regex,\n> > > >          'Link': link_regex,","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 BD721BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Oct 2025 13:55:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E2D4E608D9;\n\tThu, 30 Oct 2025 14:55:50 +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 9ADF4603ED\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 Oct 2025 14:55:49 +0100 (CET)","from pendragon.ideasonboard.com (unknown [193.209.96.36])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 548D811DD; \n\tThu, 30 Oct 2025 14:53:59 +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=\"GC0sWzqU\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761832439;\n\tbh=KSJik23vg69JdUrgCOwzSWrRJmptvmNp7gh4msIXTRw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=GC0sWzqUpwTnKJyCkXvcxYuuOpRKv56rF56BDfgUnpf59YG306lz++jYTan6vM+60\n\tdPdfWviqjEnJRSZKWWUMGqaMlH+bd6ittkrXQLHIPXiC4cCalHdaVG9blVg1oaW+FL\n\t84aJltNVsIfZWuqgNb12eAu98qCqVJSRHHduwLOQ=","Date":"Thu, 30 Oct 2025 15:55:36 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","Message-ID":"<20251030135536.GF797@pendragon.ideasonboard.com>","References":"<20251029100847.730477-1-barnabas.pocze@ideasonboard.com>\n\t<20251029101454.GC797@pendragon.ideasonboard.com>\n\t<176173689369.567526.1096572327011436838@ping.linuxembedded.co.uk>\n\t<176183109143.284565.7016049835396455874@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<176183109143.284565.7016049835396455874@ping.linuxembedded.co.uk>","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":36558,"web_url":"https://patchwork.libcamera.org/comment/36558/","msgid":"<97a45e3c-c08e-4c37-894f-338c0c23efff@ideasonboard.com>","date":"2025-10-30T16:03:21","subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","submitter":{"id":216,"url":"https://patchwork.libcamera.org/api/people/216/","name":"Barnabás Pőcze","email":"barnabas.pocze@ideasonboard.com"},"content":"2025. 10. 30. 14:55 keltezéssel, Laurent Pinchart írta:\n> On Thu, Oct 30, 2025 at 01:31:31PM +0000, Kieran Bingham wrote:\n>> Quoting Kieran Bingham (2025-10-29 11:21:33)\n>>> Quoting Laurent Pinchart (2025-10-29 10:14:54)\n>>>> On Wed, Oct 29, 2025 at 11:08:47AM +0100, Barnabás Pőcze wrote:\n>>>>> `Closes: <url>` is recognized by gitlab and closes the referenced issue\n>>>>> automatically when a commit is made[0] to the project's default branch.\n>>>>> Now that issues are hosted on gitlab, it will be the preferred way to\n>>>>> reference the fixed issue from a commit, so add it to the checkstlye.py script.\n>>>>>\n>>>>> [0]: https://docs.gitlab.com/user/project/issues/managing_issues/#default-closing-pattern\n>>>>>\n>>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n>>>>> ---\n>>>>> Two questions remain:\n>>>>\n>>>> I read the commit message first, then glanced at the code, and had the\n>>>> exact same two questions :-)\n>>>>\n>>>>> (1) should the regex be stricter? e.g.\n>>>>>      r\"https:\\/\\/gitlab\\.freedesktop\\.org\\/camera\\/libcamera\\/-\\/issues\\/[0-9]+\"\n>>>>\n>>>> I don't see a reason not to make it strict.\n>>>>\n>>>\n>>> Would we ever want to reference that we're closing bugs reported in\n>>> other projects ?\n>>>\n>>> Like:\n>>>\n>>> Closes: https://github.com/raspberrypi/libcamera/issues/141\n>>>\n>>> I could imagine having a commit that 'closes' multiple issue reports in\n>>> multiple locations.\n> \n> I think I would still prefer restricting the usage to gitlab.fdo, and\n> expand it if we find that it's useful. Having a regex that checks the\n> URL is useful to avoid typos. It's a slight preference though.\n> \n>> Which actually means I think this patch is correct as it is so:\n> \n> The Bug trailer should be removed.\n\nOkay, so I will remove \"Bug\". But it's not clear to me whether \"Closes\"\nshould accept any link or not. I haven't really considered the option\nof putting e.g. rpi libcamera issue urls there, but I think it makes\nsense to do that. There is still \"Link\" for those, but I think having\na single way to refer to issue trackers is better.\n\n\nRegards,\nBarnabás Pőcze\n\n> \n>> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>>\n>>>>> (2) what should happen to `Bug` ?\n>>>>\n>>>> I think we can deprecate it, and drop it from checkstyle.py.\n>>>\n>>> I think it can be removed too.\n>>>\n>>>>> ---\n>>>>>   utils/checkstyle.py | 1 +\n>>>>>   1 file changed, 1 insertion(+)\n>>>>>\n>>>>> diff --git a/utils/checkstyle.py b/utils/checkstyle.py\n>>>>> index f6229bbd86..219921bc9d 100755\n>>>>> --- a/utils/checkstyle.py\n>>>>> +++ b/utils/checkstyle.py\n>>>>> @@ -542,6 +542,7 @@ class TrailersChecker(CommitChecker):\n>>>>>       known_trailers = {\n>>>>>           'Acked-by': email_regex,\n>>>>>           'Bug': link_regex,\n>>>>> +        'Closes': link_regex,\n>>>>>           'Co-developed-by': email_regex,\n>>>>>           'Fixes': commit_regex,\n>>>>>           'Link': link_regex,\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 58A02C3259\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Oct 2025 16:03:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 63137608DC;\n\tThu, 30 Oct 2025 17:03:27 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5E5E6603ED\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 Oct 2025 17:03:25 +0100 (CET)","from [192.168.33.29] (185.221.140.239.nat.pool.zt.hu\n\t[185.221.140.239])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0DEE9AB4;\n\tThu, 30 Oct 2025 17:01:34 +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=\"M0TiXYkJ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761840095;\n\tbh=q7A/qkjvPuiQLFDRb+az8oGpe5OvVkhYM7hSG5V3hZA=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=M0TiXYkJbsAzFjCsHIHeST3M0xVZvSTR4Lrh9WEfHbrshpIV4fsZVg8XpSgdpN5pN\n\tEwaCAOggcLljFhiaEeAWYWxylheEN7sr5A172qIPyp9QNtURRDQbUYXO3bVZ/y8FaR\n\tS5FU0ldo7WrViJkxlmH++gg4SngvjDMp04goaXBY=","Message-ID":"<97a45e3c-c08e-4c37-894f-338c0c23efff@ideasonboard.com>","Date":"Thu, 30 Oct 2025 17:03:21 +0100","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20251029100847.730477-1-barnabas.pocze@ideasonboard.com>\n\t<20251029101454.GC797@pendragon.ideasonboard.com>\n\t<176173689369.567526.1096572327011436838@ping.linuxembedded.co.uk>\n\t<176183109143.284565.7016049835396455874@ping.linuxembedded.co.uk>\n\t<20251030135536.GF797@pendragon.ideasonboard.com>","From":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>","Content-Language":"en-US, hu-HU","In-Reply-To":"<20251030135536.GF797@pendragon.ideasonboard.com>","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":36559,"web_url":"https://patchwork.libcamera.org/comment/36559/","msgid":"<176184175046.3742839.4626069938630829994@ping.linuxembedded.co.uk>","date":"2025-10-30T16:29:10","subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Barnabás Pőcze (2025-10-30 16:03:21)\n> 2025. 10. 30. 14:55 keltezéssel, Laurent Pinchart írta:\n> > On Thu, Oct 30, 2025 at 01:31:31PM +0000, Kieran Bingham wrote:\n> >> Quoting Kieran Bingham (2025-10-29 11:21:33)\n> >>> Quoting Laurent Pinchart (2025-10-29 10:14:54)\n> >>>> On Wed, Oct 29, 2025 at 11:08:47AM +0100, Barnabás Pőcze wrote:\n> >>>>> `Closes: <url>` is recognized by gitlab and closes the referenced issue\n> >>>>> automatically when a commit is made[0] to the project's default branch.\n> >>>>> Now that issues are hosted on gitlab, it will be the preferred way to\n> >>>>> reference the fixed issue from a commit, so add it to the checkstlye.py script.\n> >>>>>\n> >>>>> [0]: https://docs.gitlab.com/user/project/issues/managing_issues/#default-closing-pattern\n> >>>>>\n> >>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\n> >>>>> ---\n> >>>>> Two questions remain:\n> >>>>\n> >>>> I read the commit message first, then glanced at the code, and had the\n> >>>> exact same two questions :-)\n> >>>>\n> >>>>> (1) should the regex be stricter? e.g.\n> >>>>>      r\"https:\\/\\/gitlab\\.freedesktop\\.org\\/camera\\/libcamera\\/-\\/issues\\/[0-9]+\"\n> >>>>\n> >>>> I don't see a reason not to make it strict.\n> >>>>\n> >>>\n> >>> Would we ever want to reference that we're closing bugs reported in\n> >>> other projects ?\n> >>>\n> >>> Like:\n> >>>\n> >>> Closes: https://github.com/raspberrypi/libcamera/issues/141\n> >>>\n> >>> I could imagine having a commit that 'closes' multiple issue reports in\n> >>> multiple locations.\n> > \n> > I think I would still prefer restricting the usage to gitlab.fdo, and\n> > expand it if we find that it's useful. Having a regex that checks the\n> > URL is useful to avoid typos. It's a slight preference though.\n> > \n> >> Which actually means I think this patch is correct as it is so:\n> > \n> > The Bug trailer should be removed.\n> \n> Okay, so I will remove \"Bug\". But it's not clear to me whether \"Closes\"\n> should accept any link or not. I haven't really considered the option\n> of putting e.g. rpi libcamera issue urls there, but I think it makes\n> sense to do that. There is still \"Link\" for those, but I think having\n> a single way to refer to issue trackers is better.\n> \n\nLink: <url> means - this commit is related to something at url.\n\nCloses: is a clear way to say \"This resolves <url>\" and I agree it would\nbe good to be consistent on this.\n\nBugs in libcamera aren't only stored at bugs.libcamera.org or\ngitlab.freedesktop.org/camera/libcamera/issues/\n\nThey might also be logged in Yocto or Debian or ...\n\nI think if we are submitted a patch that closes an issue logged in\nmultiple places we should say that the patch closes those issues. (I'm\nnot going to assume we can expect them all to automatically close...)\n\nWe might want to be able to reference any of:\n https://bugs.launchpad.net/ubuntu/+source/libcamera\n\nor \n https://bugzilla.redhat.com/show_bug.cgi?id=2368538\n https://bugzilla.redhat.com/show_bug.cgi?id=2329365\n\nWould be valid issues to represent.\n\n> \n> Regards,\n> Barnabás Pőcze\n> \n> > \n> >> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> >>\n> >>>>> (2) what should happen to `Bug` ?\n> >>>>\n> >>>> I think we can deprecate it, and drop it from checkstyle.py.\n> >>>\n> >>> I think it can be removed too.\n> >>>\n> >>>>> ---\n> >>>>>   utils/checkstyle.py | 1 +\n> >>>>>   1 file changed, 1 insertion(+)\n> >>>>>\n> >>>>> diff --git a/utils/checkstyle.py b/utils/checkstyle.py\n> >>>>> index f6229bbd86..219921bc9d 100755\n> >>>>> --- a/utils/checkstyle.py\n> >>>>> +++ b/utils/checkstyle.py\n> >>>>> @@ -542,6 +542,7 @@ class TrailersChecker(CommitChecker):\n> >>>>>       known_trailers = {\n> >>>>>           'Acked-by': email_regex,\n> >>>>>           'Bug': link_regex,\n> >>>>> +        'Closes': link_regex,\n> >>>>>           'Co-developed-by': email_regex,\n> >>>>>           'Fixes': commit_regex,\n> >>>>>           'Link': link_regex,\n> > \n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 277F5BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Oct 2025 16:29:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 56106608CF;\n\tThu, 30 Oct 2025 17:29: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 2F8FB603ED\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 Oct 2025 17:29:13 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id DC07B11DD;\n\tThu, 30 Oct 2025 17:27:22 +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=\"QHdM4p0S\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1761841643;\n\tbh=Q0nmnIHgj39u9gX8wLNO81HbkUJqCmVFZk7HT9xSeLc=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=QHdM4p0SOOe6+A495rbif4xICvsc0qilCzkYDKUhOcf0PaeKcXEfxsK4rY1xvyYxP\n\tN8saRjElVUYuWFNN6r7QzoXvxAtPy7L49d5jMY2wjo1MDu0VTa7UQJNfl4jR8G4QIR\n\t4X/Vw1lbg1/GCD7EpMtpl1UTupf6Hjnd6HFaGbPs=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<97a45e3c-c08e-4c37-894f-338c0c23efff@ideasonboard.com>","References":"<20251029100847.730477-1-barnabas.pocze@ideasonboard.com>\n\t<20251029101454.GC797@pendragon.ideasonboard.com>\n\t<176173689369.567526.1096572327011436838@ping.linuxembedded.co.uk>\n\t<176183109143.284565.7016049835396455874@ping.linuxembedded.co.uk>\n\t<20251030135536.GF797@pendragon.ideasonboard.com>\n\t<97a45e3c-c08e-4c37-894f-338c0c23efff@ideasonboard.com>","Subject":"Re: [RFC PATCH v1] utils: checkstyle.py: Accept `Closes` commit\n\ttrailer","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","To":"=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <barnabas.pocze@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Thu, 30 Oct 2025 16:29:10 +0000","Message-ID":"<176184175046.3742839.4626069938630829994@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}}]