{"id":26416,"url":"https://patchwork.libcamera.org/api/covers/26416/?format=json","web_url":"https://patchwork.libcamera.org/cover/26416/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260405191443.1209948-1-laurent.pinchart@ideasonboard.com>","date":"2026-04-05T19:14:32","name":"[00/11] libcamera: Fix missing license information","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/?format=json","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/26416/mbox/","series":[{"id":5866,"url":"https://patchwork.libcamera.org/api/series/5866/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5866","date":"2026-04-05T19:14:32","name":"libcamera: Fix missing license information","version":1,"mbox":"https://patchwork.libcamera.org/series/5866/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/26416/comments/","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 126AEBEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun,  5 Apr 2026 19:14:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2886862D5E;\n\tSun,  5 Apr 2026 21:14:47 +0200 (CEST)","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 5B3EF62D0D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun,  5 Apr 2026 21:14:45 +0200 (CEST)","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 EB0EF6AF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun,  5 Apr 2026 21:13:18 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"mE6Ab1qS\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1775416399;\n\tbh=4HLSwuRGfD1kIil3EYplv1Wiqza8P+avJc/jjCxxHo0=;\n\th=From:To:Subject:Date:From;\n\tb=mE6Ab1qSQHaeOkkGNDRw5Gbb5YTp1sbpa2FbRZtDLRB1mKbVocgPhrTiKpGQ8BV/g\n\t8cfT7Ptk+AtfSLyJI2z8bgwVRXnDzgjXZAsDOfcRkA2+i/V2uYPWCMBhpsmJoL94lT\n\tJbxfvZevOiB9AlFFEXL19VrDHVJRkEuwkVm8Ow8M=","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH 00/11] libcamera: Fix missing license information","Date":"Sun,  5 Apr 2026 22:14:32 +0300","Message-ID":"<20260405191443.1209948-1-laurent.pinchart@ideasonboard.com>","X-Mailer":"git-send-email 2.52.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hello,\n\nlibcamera uses SPDX headers to convey license information, and the REUSE\nspecification and tool to ensure all files have a license. As the rule\nis not enforced by tools, files with missing license information\nregularly slip in.\n\nThis series adds license information where missing. It is part of a\nlarger effort to fix the issue once and for all by adding a check in CI,\nwhich will be posted as a separate patch series.\n\nPatches 01/11 and 02/11 prepare the ground by merging the two soft ISP\nTODO files together and converting them to markdown. We could have\nsimply added SPDX headers to the two text files, but it's a good\ndrive-by cleanup.\n\nPatch 03/11 adds missing entries to subprojects/.gitignore, to ensure\nthe reuse tool will ignore those files.\n\nThe following patches update the REUSE license information file. Patch\n04/11 then converts from the deprecated .reuse/dep5 file to REUSE.toml,\nand patches 05/11 to 07/11 update REUSE.toml by updating paths, droppind\nstale entries and adding missing ones. At that point all files that\ncan't easily contain SPDX headers (JSON, SVG and binary files) are\nhandled by REUSE.toml.\n\nThe next patch, 08/11, works around an issue with the extract-docs.py\nscript. The script contains a regular expression to find\nSPDX-License-Idenfier instances in files, which gets picked by the reuse\ntool as a badly formatted SPDX headers. Patches 09/11 to 11/11 then add\nmissing SPDX headers to all remaining text files.\n\nHere's the output of `reuse lint` with the series applied, with the list\nof files missing copyright information dropped as we don't aim at being\nREUSE compliant for copyright infomation for the time being.\n\n----------------------------------------\n# DEPRECATED LICENSES\n\nThe following licenses are deprecated by SPDX:\n* GPL-2.0\n* GPL-2.0+\n\n\n# MISSING COPYRIGHT AND LICENSING INFORMATION\n\nThe following files have no copyright information:\n\n[snip]\n\n# SUMMARY\n\n* Bad licenses: 0\n* Deprecated licenses: GPL-2.0, GPL-2.0+\n* Licenses without file extension: 0\n* Missing licenses: 0\n* Unused licenses: 0\n* Used licenses: GPL-2.0-or-later, CC-BY-SA-4.0, BSD-3-Clause, Apache-2.0, CC-BY-4.0, MIT, GPL-2.0, Linux-syscall-note, BSD-2-Clause, LGPL-2.1-or-later, GPL-2.0+, CC0-1.0, GPL-2.0-only\n* Read errors: 0\n* Files with copyright information: 1247 / 1455\n* Files with license information: 1455 / 1455\n\nUnfortunately, your project is not compliant with version 3.3 of the REUSE Specification :-(\n\n\n# RECOMMENDATIONS\n\n* Fix deprecated licenses: At least one of the licenses in the LICENSES\n  directory and/or provided by an 'SPDX-License-Identifier' tag or in\n  '.reuse/dep5' has been deprecated by SPDX. The current list and their\n  respective recommended  new identifiers can be found here:\n  <https://spdx.org/licenses/#deprecated>\n* Fix missing copyright/licensing information: For one or more files, the tool\n  cannot find copyright and/or licensing information. You typically do this by\n  adding 'SPDX-FileCopyrightText' and 'SPDX-License-Identifier' tags to each\n  file. The tutorial explains additional ways to do this:\n  <https://reuse.software/tutorial/>\n----------------------------------------\n\nThe deprecated licenses come from kernel header files. Those should be\nfixed upstream first.\n\n\nLaurent Pinchart (11):\n  libcamera: software_isp: Convert TODO list to markdown\n  libcamera: software_isp: Move GPU TODO items to TODO.md\n  subprojects: Add nlohmann_json to .gitignore\n  reuse: Convert to REUSE.toml\n  reuse: Update file paths in REUSE.toml\n  reuse: Drop unnecessary entry from REUSE.toml\n  reuse: Add missing files to REUSE.toml\n  utils: ipc: extract-docs: Work around reuse tool problem\n  libcamera: Add missing SPDX headers\n  libcamera: rpi: Add missing SPDX headers\n  include: linux: Convert drm_fourcc.h to use SPDX\n\n .b4-config                                    |  2 +\n .reuse/dep5                                   | 28 ------\n Documentation/mainpage.dox                    |  2 +\n Documentation/thread-safety.dox               |  2 +\n REUSE.toml                                    | 41 ++++++++\n include/linux/drm_fourcc.h                    | 20 +---\n src/ipa/rpi/controller/decompand_status.h     |  1 +\n src/ipa/rpi/controller/rpi/decompand.cpp      |  2 +\n src/ipa/rpi/controller/rpi/decompand.h        |  1 +\n .../pipeline/rpi/pisp/data/example.yaml       |  1 +\n .../pipeline/rpi/vc4/data/example.yaml        |  1 +\n src/libcamera/pipeline/virtual/README.md      |  3 +\n .../pipeline/virtual/data/meson.build         |  2 +\n src/libcamera/software_isp/{TODO => TODO.md}  | 99 +++++++++++++++----\n src/libcamera/software_isp/gpuisp-todo.txt    | 40 --------\n subprojects/.gitignore                        |  2 +\n utils/codegen/ipc/extract-docs.py             |  2 +-\n utils/raspberrypi/ctt/README.md               |  2 +\n utils/tuning/config-example.yaml              |  3 +-\n utils/tuning/libtuning/ctt_colors.py          |  5 +\n utils/tuning/requirements.txt                 |  1 +\n 21 files changed, 152 insertions(+), 108 deletions(-)\n delete mode 100644 .reuse/dep5\n create mode 100644 REUSE.toml\n rename src/libcamera/software_isp/{TODO => TODO.md} (76%)\n delete mode 100644 src/libcamera/software_isp/gpuisp-todo.txt\n\n\nbase-commit: 4b6c47bd6675c428c19ea76370f0301c24f23bf1"}