[libcamera-devel] [PATCH v2] licenses: License all meson files under CC0-1.0

Kieran Bingham kieran.bingham at ideasonboard.com
Tue May 12 10:02:14 CEST 2020


Hi Laurent,

On 11/05/2020 23:27, Laurent Pinchart wrote:
> In an attempt to clarify the license terms of all files in the libcamera
> project, the build system files deserve particular attention. While they
> describe how the binaries are created, they are not themselves
> transformed into any part of binary distributions of the software, and
> thus don't influece the copyright on the binary packages. They are

s/influece/influence/

> however subject to copyright, and thus influence the distribution terms
> of the source packages.
> 
> Most of the meson.build files would not meet the threshold of
> originality criteria required for copyright protection. Some of the more
> complex meson.build files may be elligible for copyright protection. To

s/elligible/eligible/

> avoid any ambiguity and uncertainty, state our intent to not assert
> copyrights on the build system files by putting them in the public
> domain with the CC0-1.0 license.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

This seems like a good option to me.

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

and for any meson.build files I have authored:

Acked-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

> ---
> Changes since v1:
> 
> - Added meson.build files from the Raspberry Pi pipeline handler

Do we need to get an explicit ack from Raspberry Pi here?

--
Kieran


> ---
>  Documentation/meson.build                     |   2 +
>  LICENSES/CC0-1.0.txt                          | 119 ++++++++++++++++++
>  include/android/meson.build                   |   2 +
>  include/ipa/meson.build                       |   2 +
>  include/libcamera/meson.build                 |   2 +
>  include/meson.build                           |   2 +
>  meson.build                                   |   2 +
>  meson_options.txt                             |   2 +
>  src/android/meson.build                       |   2 +
>  src/cam/meson.build                           |   2 +
>  src/gstreamer/meson.build                     |   2 +
>  src/ipa/libipa/meson.build                    |   2 +
>  src/ipa/meson.build                           |   2 +
>  src/ipa/raspberrypi/meson.build               |   2 +
>  src/ipa/rkisp1/meson.build                    |   2 +
>  src/ipa/vimc/data/meson.build                 |   2 +
>  src/ipa/vimc/meson.build                      |   2 +
>  src/libcamera/include/meson.build             |   2 +
>  src/libcamera/meson.build                     |   2 +
>  src/libcamera/pipeline/ipu3/meson.build       |   2 +
>  src/libcamera/pipeline/meson.build            |   2 +
>  .../pipeline/raspberrypi/meson.build          |   2 +
>  src/libcamera/pipeline/rkisp1/meson.build     |   2 +
>  src/libcamera/pipeline/simple/meson.build     |   2 +
>  src/libcamera/pipeline/uvcvideo/meson.build   |   2 +
>  src/libcamera/pipeline/vimc/meson.build       |   2 +
>  src/libcamera/proxy/meson.build               |   2 +
>  src/libcamera/proxy/worker/meson.build        |   2 +
>  src/meson.build                               |   2 +
>  src/qcam/meson.build                          |   2 +
>  src/v4l2/meson.build                          |   2 +
>  test/camera/meson.build                       |   2 +
>  test/controls/meson.build                     |   2 +
>  test/ipa/meson.build                          |   2 +
>  test/ipc/meson.build                          |   2 +
>  test/libtest/meson.build                      |   2 +
>  test/log/meson.build                          |   2 +
>  test/media_device/meson.build                 |   2 +
>  test/meson.build                              |   2 +
>  test/pipeline/ipu3/meson.build                |   2 +
>  test/pipeline/meson.build                     |   2 +
>  test/pipeline/rkisp1/meson.build              |   2 +
>  test/process/meson.build                      |   2 +
>  test/serialization/meson.build                |   2 +
>  test/stream/meson.build                       |   2 +
>  test/v4l2_subdevice/meson.build               |   2 +
>  test/v4l2_videodevice/meson.build             |   2 +
>  utils/ipu3/meson.build                        |   2 +
>  utils/meson.build                             |   2 +
>  49 files changed, 215 insertions(+)
>  create mode 100644 LICENSES/CC0-1.0.txt
> 
> diff --git a/Documentation/meson.build b/Documentation/meson.build
> index c4e9892470de..b3b4f0b66f57 100644
> --- a/Documentation/meson.build
> +++ b/Documentation/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  doc_install_dir = join_paths(get_option('datadir'), 'doc',
>                               'libcamera- at 0@'.format(libcamera_version))
>  
> diff --git a/LICENSES/CC0-1.0.txt b/LICENSES/CC0-1.0.txt
> new file mode 100644
> index 000000000000..a343ccd4335f
> --- /dev/null
> +++ b/LICENSES/CC0-1.0.txt
> @@ -0,0 +1,119 @@
> +Creative Commons Legal Code
> +
> +CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES
> +NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE
> +AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION
> +ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE
> +OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS
> +LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION
> +OR WORKS PROVIDED HEREUNDER.
> +
> +Statement of Purpose
> +
> +The laws of most jurisdictions throughout the world automatically confer exclusive
> +Copyright and Related Rights (defined below) upon the creator and subsequent
> +owner(s) (each and all, an "owner") of an original work of authorship and/or
> +a database (each, a "Work").
> +
> +Certain owners wish to permanently relinquish those rights to a Work for the
> +purpose of contributing to a commons of creative, cultural and scientific
> +works ("Commons") that the public can reliably and without fear of later claims
> +of infringement build upon, modify, incorporate in other works, reuse and
> +redistribute as freely as possible in any form whatsoever and for any purposes,
> +including without limitation commercial purposes. These owners may contribute
> +to the Commons to promote the ideal of a free culture and the further production
> +of creative, cultural and scientific works, or to gain reputation or greater
> +distribution for their Work in part through the use and efforts of others.
> +
> +For these and/or other purposes and motivations, and without any expectation
> +of additional consideration or compensation, the person associating CC0 with
> +a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
> +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
> +and publicly distribute the Work under its terms, with knowledge of his or
> +her Copyright and Related Rights in the Work and the meaning and intended
> +legal effect of CC0 on those rights.
> +
> +1. Copyright and Related Rights. A Work made available under CC0 may be protected
> +by copyright and related or neighboring rights ("Copyright and Related Rights").
> +Copyright and Related Rights include, but are not limited to, the following:
> +
> +i. the right to reproduce, adapt, distribute, perform, display, communicate,
> +and translate a Work;
> +
> +      ii. moral rights retained by the original author(s) and/or performer(s);
> +
> +iii. publicity and privacy rights pertaining to a person's image or likeness
> +depicted in a Work;
> +
> +iv. rights protecting against unfair competition in regards to a Work, subject
> +to the limitations in paragraph 4(a), below;
> +
> +v. rights protecting the extraction, dissemination, use and reuse of data
> +in a Work;
> +
> +vi. database rights (such as those arising under Directive 96/9/EC of the
> +European Parliament and of the Council of 11 March 1996 on the legal protection
> +of databases, and under any national implementation thereof, including any
> +amended or successor version of such directive); and
> +
> +vii. other similar, equivalent or corresponding rights throughout the world
> +based on applicable law or treaty, and any national implementations thereof.
> +
> +2. Waiver. To the greatest extent permitted by, but not in contravention of,
> +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
> +unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
> +and Related Rights and associated claims and causes of action, whether now
> +known or unknown (including existing as well as future claims and causes of
> +action), in the Work (i) in all territories worldwide, (ii) for the maximum
> +duration provided by applicable law or treaty (including future time extensions),
> +(iii) in any current or future medium and for any number of copies, and (iv)
> +for any purpose whatsoever, including without limitation commercial, advertising
> +or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the
> +benefit of each member of the public at large and to the detriment of Affirmer's
> +heirs and successors, fully intending that such Waiver shall not be subject
> +to revocation, rescission, cancellation, termination, or any other legal or
> +equitable action to disrupt the quiet enjoyment of the Work by the public
> +as contemplated by Affirmer's express Statement of Purpose.
> +
> +3. Public License Fallback. Should any part of the Waiver for any reason be
> +judged legally invalid or ineffective under applicable law, then the Waiver
> +shall be preserved to the maximum extent permitted taking into account Affirmer's
> +express Statement of Purpose. In addition, to the extent the Waiver is so
> +judged Affirmer hereby grants to each affected person a royalty-free, non
> +transferable, non sublicensable, non exclusive, irrevocable and unconditional
> +license to exercise Affirmer's Copyright and Related Rights in the Work (i)
> +in all territories worldwide, (ii) for the maximum duration provided by applicable
> +law or treaty (including future time extensions), (iii) in any current or
> +future medium and for any number of copies, and (iv) for any purpose whatsoever,
> +including without limitation commercial, advertising or promotional purposes
> +(the "License"). The License shall be deemed effective as of the date CC0
> +was applied by Affirmer to the Work. Should any part of the License for any
> +reason be judged legally invalid or ineffective under applicable law, such
> +partial invalidity or ineffectiveness shall not invalidate the remainder of
> +the License, and in such case Affirmer hereby affirms that he or she will
> +not (i) exercise any of his or her remaining Copyright and Related Rights
> +in the Work or (ii) assert any associated claims and causes of action with
> +respect to the Work, in either case contrary to Affirmer's express Statement
> +of Purpose.
> +
> +   4. Limitations and Disclaimers.
> +
> +a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered,
> +licensed or otherwise affected by this document.
> +
> +b. Affirmer offers the Work as-is and makes no representations or warranties
> +of any kind concerning the Work, express, implied, statutory or otherwise,
> +including without limitation warranties of title, merchantability, fitness
> +for a particular purpose, non infringement, or the absence of latent or other
> +defects, accuracy, or the present or absence of errors, whether or not discoverable,
> +all to the greatest extent permissible under applicable law.
> +
> +c. Affirmer disclaims responsibility for clearing rights of other persons
> +that may apply to the Work or any use thereof, including without limitation
> +any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims
> +responsibility for obtaining any necessary consents, permissions or other
> +rights required for any use of the Work.
> +
> +d. Affirmer understands and acknowledges that Creative Commons is not a party
> +to this document and has no duty or obligation with respect to this CC0 or
> +use of the Work.
> diff --git a/include/android/meson.build b/include/android/meson.build
> index 69f1c38edada..da2504f2e493 100644
> --- a/include/android/meson.build
> +++ b/include/android/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  android_includes = ([
>      include_directories('hardware/libhardware/include/'),
>      include_directories('metadata/'),
> diff --git a/include/ipa/meson.build b/include/ipa/meson.build
> index 695a4183a0e8..3d5c0dd69bb4 100644
> --- a/include/ipa/meson.build
> +++ b/include/ipa/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_ipa_api = files([
>      'ipa_controls.h',
>      'ipa_interface.h',
> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build
> index 23c01d3837ba..cea47eb83030 100644
> --- a/include/libcamera/meson.build
> +++ b/include/libcamera/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_api = files([
>      'bound_method.h',
>      'buffer.h',
> diff --git a/include/meson.build b/include/meson.build
> index 42b2453445b5..4f41c9ceeb4c 100644
> --- a/include/meson.build
> +++ b/include/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_include_dir = 'libcamera'
>  
>  subdir('android')
> diff --git a/meson.build b/meson.build
> index 59829e1942ca..e898782a28b0 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  project('libcamera', 'c', 'cpp',
>      meson_version : '>= 0.47',
>      version : '0.0.0',
> diff --git a/meson_options.txt b/meson_options.txt
> index 68f4f48004e5..badace151bb6 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  option('android',
>          type : 'boolean',
>          value : false,
> diff --git a/src/android/meson.build b/src/android/meson.build
> index 5a5a332e6a6f..822cad621f01 100644
> --- a/src/android/meson.build
> +++ b/src/android/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  android_hal_sources = files([
>      'camera3_hal.cpp',
>      'camera_hal_manager.cpp',
> diff --git a/src/cam/meson.build b/src/cam/meson.build
> index 162d6333f94e..89e124fbae2a 100644
> --- a/src/cam/meson.build
> +++ b/src/cam/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  cam_sources = files([
>      'buffer_writer.cpp',
>      'capture.cpp',
> diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
> index e119e472cb58..c9f0c13d969d 100644
> --- a/src/gstreamer/meson.build
> +++ b/src/gstreamer/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_gst_sources = [
>      'gstlibcamera-utils.cpp',
>      'gstlibcamera.cpp',
> diff --git a/src/ipa/libipa/meson.build b/src/ipa/libipa/meson.build
> index 6f3cd4866ce3..2262640517a0 100644
> --- a/src/ipa/libipa/meson.build
> +++ b/src/ipa/libipa/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libipa_headers = files([
>      'ipa_interface_wrapper.h',
>  ])
> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> index b103479c1cd0..64deb601054c 100644
> --- a/src/ipa/meson.build
> +++ b/src/ipa/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipa_install_dir = join_paths(get_option('libdir'), 'libcamera')
>  ipa_data_dir = join_paths(get_option('datadir'), 'libcamera', 'ipa')
>  ipa_sysconf_dir = join_paths(get_option('sysconfdir'), 'libcamera', 'ipa')
> diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build
> index 2dece3a468e8..697902e95bc1 100644
> --- a/src/ipa/raspberrypi/meson.build
> +++ b/src/ipa/raspberrypi/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipa_name = 'ipa_rpi'
>  
>  rpi_ipa_deps = [
> diff --git a/src/ipa/rkisp1/meson.build b/src/ipa/rkisp1/meson.build
> index d7127ea8d1e9..ed9a6b6b8ec8 100644
> --- a/src/ipa/rkisp1/meson.build
> +++ b/src/ipa/rkisp1/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipa_name = 'ipa_rkisp1'
>  
>  mod = shared_module(ipa_name,
> diff --git a/src/ipa/vimc/data/meson.build b/src/ipa/vimc/data/meson.build
> index c844926da7f2..6532662cfa94 100644
> --- a/src/ipa/vimc/data/meson.build
> +++ b/src/ipa/vimc/data/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  conf_files = files([
>      'vimc.conf',
>  ])
> diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build
> index 22296a029642..8c9df854007a 100644
> --- a/src/ipa/vimc/meson.build
> +++ b/src/ipa/vimc/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipa_name = 'ipa_vimc'
>  
>  mod = shared_module(ipa_name,
> diff --git a/src/libcamera/include/meson.build b/src/libcamera/include/meson.build
> index 683d06133741..1f6af579cca2 100644
> --- a/src/libcamera/include/meson.build
> +++ b/src/libcamera/include/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_headers = files([
>      'byte_stream_buffer.h',
>      'camera_controls.h',
> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
> index d8b4d7206aba..d42e9720dbd6 100644
> --- a/src/libcamera/meson.build
> +++ b/src/libcamera/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources = files([
>      'bound_method.cpp',
>      'buffer.cpp',
> diff --git a/src/libcamera/pipeline/ipu3/meson.build b/src/libcamera/pipeline/ipu3/meson.build
> index 0ab766a257a0..0e8c5a14f2b3 100644
> --- a/src/libcamera/pipeline/ipu3/meson.build
> +++ b/src/libcamera/pipeline/ipu3/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources += files([
>      'ipu3.cpp',
>  ])
> diff --git a/src/libcamera/pipeline/meson.build b/src/libcamera/pipeline/meson.build
> index 190ca5a8db92..46424493aa37 100644
> --- a/src/libcamera/pipeline/meson.build
> +++ b/src/libcamera/pipeline/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  foreach pipeline : get_option('pipelines')
>      subdir(pipeline)
>  endforeach
> diff --git a/src/libcamera/pipeline/raspberrypi/meson.build b/src/libcamera/pipeline/raspberrypi/meson.build
> index 737857977831..fc117b77bdd1 100644
> --- a/src/libcamera/pipeline/raspberrypi/meson.build
> +++ b/src/libcamera/pipeline/raspberrypi/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources += files([
>      'raspberrypi.cpp'
>  ])
> diff --git a/src/libcamera/pipeline/rkisp1/meson.build b/src/libcamera/pipeline/rkisp1/meson.build
> index d04fb45223e7..1ab3964a6db1 100644
> --- a/src/libcamera/pipeline/rkisp1/meson.build
> +++ b/src/libcamera/pipeline/rkisp1/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources += files([
>      'rkisp1.cpp',
>      'timeline.cpp',
> diff --git a/src/libcamera/pipeline/simple/meson.build b/src/libcamera/pipeline/simple/meson.build
> index 8372f24e3788..9c99b32f69f3 100644
> --- a/src/libcamera/pipeline/simple/meson.build
> +++ b/src/libcamera/pipeline/simple/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources += files([
>      'converter.cpp',
>      'simple.cpp',
> diff --git a/src/libcamera/pipeline/uvcvideo/meson.build b/src/libcamera/pipeline/uvcvideo/meson.build
> index c19ae2389f48..a3c2efd424bf 100644
> --- a/src/libcamera/pipeline/uvcvideo/meson.build
> +++ b/src/libcamera/pipeline/uvcvideo/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources += files([
>      'uvcvideo.cpp',
>  ])
> diff --git a/src/libcamera/pipeline/vimc/meson.build b/src/libcamera/pipeline/vimc/meson.build
> index 615ecd20f1a2..290eefb5d076 100644
> --- a/src/libcamera/pipeline/vimc/meson.build
> +++ b/src/libcamera/pipeline/vimc/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources += files([
>      'vimc.cpp',
>  ])
> diff --git a/src/libcamera/proxy/meson.build b/src/libcamera/proxy/meson.build
> index 6c00d5f30ad2..bd804750748a 100644
> --- a/src/libcamera/proxy/meson.build
> +++ b/src/libcamera/proxy/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libcamera_sources += files([
>      'ipa_proxy_linux.cpp',
>      'ipa_proxy_thread.cpp',
> diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build
> index 839156f7591a..1b1bee5e0170 100644
> --- a/src/libcamera/proxy/worker/meson.build
> +++ b/src/libcamera/proxy/worker/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipa_proxy_sources = [
>      ['ipa_proxy_linux', 'ipa_proxy_linux_worker.cpp']
>  ]
> diff --git a/src/meson.build b/src/meson.build
> index c9c1008562b1..d69b4c1ea978 100644
> --- a/src/meson.build
> +++ b/src/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  if get_option('android')
>      subdir('android')
>  endif
> diff --git a/src/qcam/meson.build b/src/qcam/meson.build
> index 949ef6149c8a..045db52acf26 100644
> --- a/src/qcam/meson.build
> +++ b/src/qcam/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  qcam_sources = files([
>      '../cam/options.cpp',
>      '../cam/stream_options.cpp',
> diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
> index efab968f7729..fc1be82d1b02 100644
> --- a/src/v4l2/meson.build
> +++ b/src/v4l2/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  v4l2_compat_sources = files([
>      'v4l2_camera.cpp',
>      'v4l2_camera_proxy.cpp',
> diff --git a/test/camera/meson.build b/test/camera/meson.build
> index e2a6660a7a92..0395e7ddc7a4 100644
> --- a/test/camera/meson.build
> +++ b/test/camera/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  # Tests are listed in order of complexity.
>  # They are not alphabetically sorted.
>  camera_tests = [
> diff --git a/test/controls/meson.build b/test/controls/meson.build
> index 7fff2413007e..545fb03b16c6 100644
> --- a/test/controls/meson.build
> +++ b/test/controls/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  control_tests = [
>      [ 'control_info',               'control_info.cpp' ],
>      [ 'control_info_map',           'control_info_map.cpp' ],
> diff --git a/test/ipa/meson.build b/test/ipa/meson.build
> index f925c50a085e..ba672f3f9d8b 100644
> --- a/test/ipa/meson.build
> +++ b/test/ipa/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipa_test = [
>      ['ipa_module_test',     'ipa_module_test.cpp'],
>      ['ipa_interface_test',  'ipa_interface_test.cpp'],
> diff --git a/test/ipc/meson.build b/test/ipc/meson.build
> index cc46b41c7687..650df1d63444 100644
> --- a/test/ipc/meson.build
> +++ b/test/ipc/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipc_tests = [
>      [ 'unixsocket',  'unixsocket.cpp' ],
>  ]
> diff --git a/test/libtest/meson.build b/test/libtest/meson.build
> index 33565e0eb3b6..481f6d6baa61 100644
> --- a/test/libtest/meson.build
> +++ b/test/libtest/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  libtest_sources = files([
>      'buffer_source.cpp',
>      'camera_test.cpp',
> diff --git a/test/log/meson.build b/test/log/meson.build
> index 95f6c1a2ae4a..8cd664e04a00 100644
> --- a/test/log/meson.build
> +++ b/test/log/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  log_test = [
>      ['log_api',     'log_api.cpp'],
>      ['log_process', 'log_process.cpp'],
> diff --git a/test/media_device/meson.build b/test/media_device/meson.build
> index 6a0e468434b5..1dfcdd8bd744 100644
> --- a/test/media_device/meson.build
> +++ b/test/media_device/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  lib_mdev_test_sources = files([
>      'media_device_test.cpp',
>  ])
> diff --git a/test/meson.build b/test/meson.build
> index 5a45a85effd3..bd7da147c70e 100644
> --- a/test/meson.build
> +++ b/test/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  subdir('libtest')
>  
>  subdir('camera')
> diff --git a/test/pipeline/ipu3/meson.build b/test/pipeline/ipu3/meson.build
> index d02927c9af86..d062ecd269f2 100644
> --- a/test/pipeline/ipu3/meson.build
> +++ b/test/pipeline/ipu3/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipu3_test = [
>      ['ipu3_pipeline_test',            'ipu3_pipeline_test.cpp'],
>  ]
> diff --git a/test/pipeline/meson.build b/test/pipeline/meson.build
> index 157f789ceb25..6e7901fee38f 100644
> --- a/test/pipeline/meson.build
> +++ b/test/pipeline/meson.build
> @@ -1,2 +1,4 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  subdir('ipu3')
>  subdir('rkisp1')
> diff --git a/test/pipeline/rkisp1/meson.build b/test/pipeline/rkisp1/meson.build
> index d3f974964fc4..ece147b054e4 100644
> --- a/test/pipeline/rkisp1/meson.build
> +++ b/test/pipeline/rkisp1/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  rkisp1_test = [
>      ['rkisp1_pipeline_test',            'rkisp1_pipeline_test.cpp'],
>  ]
> diff --git a/test/process/meson.build b/test/process/meson.build
> index c4d83d6c8b39..c215fa7e6c12 100644
> --- a/test/process/meson.build
> +++ b/test/process/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  process_tests = [
>      [ 'process_test',  'process_test.cpp' ],
>  ]
> diff --git a/test/serialization/meson.build b/test/serialization/meson.build
> index d78d92e61887..a9d9cbcb7d80 100644
> --- a/test/serialization/meson.build
> +++ b/test/serialization/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  serialization_tests = [
>      [ 'control_serialization',    'control_serialization.cpp' ],
>  ]
> diff --git a/test/stream/meson.build b/test/stream/meson.build
> index 005f4aa4996a..2b9b29a9143b 100644
> --- a/test/stream/meson.build
> +++ b/test/stream/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  stream_tests = [
>      [ 'stream_formats', 'stream_formats.cpp' ],
>  ]
> diff --git a/test/v4l2_subdevice/meson.build b/test/v4l2_subdevice/meson.build
> index 0521984b2a78..5f0882ca9772 100644
> --- a/test/v4l2_subdevice/meson.build
> +++ b/test/v4l2_subdevice/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  v4l2_subdevice_tests = [
>    [ 'list_formats',             'list_formats.cpp'],
>    [ 'test_formats',             'test_formats.cpp'],
> diff --git a/test/v4l2_videodevice/meson.build b/test/v4l2_videodevice/meson.build
> index 685fcf6d16d7..b4bb30908027 100644
> --- a/test/v4l2_videodevice/meson.build
> +++ b/test/v4l2_videodevice/meson.build
> @@ -1,3 +1,5 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  # Tests are listed in order of complexity.
>  # They are not alphabetically sorted.
>  v4l2_videodevice_tests = [
> diff --git a/utils/ipu3/meson.build b/utils/ipu3/meson.build
> index 49c45856eea6..88049f589561 100644
> --- a/utils/ipu3/meson.build
> +++ b/utils/ipu3/meson.build
> @@ -1 +1,3 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  ipu3_unpack = executable('ipu3-unpack', 'ipu3-unpack.c')
> diff --git a/utils/meson.build b/utils/meson.build
> index f434c79c0ae3..c3cd9d69f887 100644
> --- a/utils/meson.build
> +++ b/utils/meson.build
> @@ -1 +1,3 @@
> +# SPDX-License-Identifier: CC0-1.0
> +
>  subdir('ipu3')
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list