Browse Source

Use SPDX-FileCopyrightText instead of SPDX-Copyright

tags/v0.4.0
carmenbianca 3 months ago
parent
commit
867dbbc4e7
Signed by: Carmen Bianca Bakker <carmenbianca@fsfe.org> GPG Key ID: 76EBA6F6B6EA2EC9

+ 1
- 1
.editorconfig View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
.gitignore View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: CC0-1.0


+ 1
- 1
.gitlab-ci.yml View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
.pre-commit-config.yaml View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
.pylintrc View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 2
- 2
AUTHORS.rst View File

@@ -1,6 +1,6 @@
..
SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
SPDX-Copyright: 2017 Sebastian Schuberth <schuberth@fsfe.org>
SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.
SPDX-FileCopyrightText: 2017 Sebastian Schuberth <schuberth@fsfe.org>

SPDX-License-Identifier: CC-BY-SA-4.0


+ 2
- 2
CHANGELOG.md View File

@@ -1,5 +1,5 @@
<!--
SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.

SPDX-License-Identifier: CC-BY-SA-4.0
-->
@@ -35,7 +35,7 @@ preview.
spitting out non-compliant files.
- `reuse compile` is now `reuse spdx`.
- In addition to `Copyright` and `©`, copyright lines can be marked
with the tag `SPDX-Copyright:`. This is the new recommended default.
with the tag `SPDX-FileCopyrightText:`. This is the new recommended default.
- Project no longer depends on pygit2.
- The list of SPDX licenses has been updated.
- `Valid-License-Identifier` is no longer used, and licenses and

+ 1
- 1
Dockerfile View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
MANIFEST.in View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
Makefile View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 3
- 3
README.md View File

@@ -1,5 +1,5 @@
<!--
SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.

SPDX-License-Identifier: CC-BY-SA-4.0
-->
@@ -79,8 +79,8 @@ recommendations](https://reuse.software/practices/). In a nutshell:
`SPDX-License-Identifier:
GPL-3.0-or-later`.
- Add a comment header to each file that says
`SPDX-Copyright: $YEAR $NAME`. You can be flexible with the format,
just make sure that the line starts with `SPDX-Copyright:`.
`SPDX-FileCopyrightText: $YEAR $NAME`. You can be flexible with the format,
just make sure that the line starts with `SPDX-FileCopyrightText:`.

Once you have taken those steps (again, read the actual recommendations
for better instructions), you can use this tool to verify whether your

+ 1
- 1
docs/Makefile View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
docs/authors.rst View File

@@ -1,5 +1,5 @@
..
SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.

SPDX-License-Identifier: CC-BY-SA-4.0


+ 1
- 1
docs/conf.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
docs/index.rst View File

@@ -1,5 +1,5 @@
..
SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.

SPDX-License-Identifier: CC-BY-SA-4.0


+ 1
- 1
po/POTFILES.in View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later
src/reuse/__init__.py

+ 2
- 2
po/eo.po View File

@@ -1,5 +1,5 @@
# SPDX-Copyright: 2018 Carmen Bianca Bakker <carmenbianca@fsfe.org>
# SPDX-Copyright: 2018 Tirifto <tirifto@posteo.cz>
# SPDX-FileCopyrightText: 2018 Carmen Bianca Bakker <carmenbianca@fsfe.org>
# SPDX-FileCopyrightText: 2018 Tirifto <tirifto@posteo.cz>
#
# SPDX-License-Identifier: GPL-3.0-or-later
msgid ""

+ 2
- 2
po/es.po View File

@@ -1,5 +1,5 @@
# SPDX-Copyright: 2018 pd <euklade@gmail.com>
# SPDX-Copyright: 2018 flow <adolflow@sindominio.net>
# SPDX-FileCopyrightText: 2018 pd <euklade@gmail.com>
# SPDX-FileCopyrightText: 2018 flow <adolflow@sindominio.net>
#
# SPDX-License-Identifier: GPL-3.0-or-later
msgid ""

+ 2
- 2
po/nl.po View File

@@ -1,5 +1,5 @@
# SPDX-Copyright: 2018 Carmen Bianca Bakker
# SPDX-Copyright: 2017 André Ockers
# SPDX-FileCopyrightText: 2018 Carmen Bianca Bakker
# SPDX-FileCopyrightText: 2017 André Ockers
#
# SPDX-License-Identifier: GPL-3.0-or-later
msgid ""

+ 1
- 1
pyproject.toml View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
requirements.txt View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
setup.py View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
src/reuse/__init__.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
src/reuse/_comment.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
src/reuse/_format.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2018 Carmen Bianca Bakker
# SPDX-FileCopyrightText: 2018 Carmen Bianca Bakker
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 2
- 2
src/reuse/_licenses.py View File

@@ -1,5 +1,5 @@
# SPDX-Copyright: 2014 Ahmed H. Ismail
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2014 Ahmed H. Ismail
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: Apache-2.0
# SPDX-License-Identifier: GPL-3.0-or-later

+ 1
- 1
src/reuse/_main.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 2
- 2
src/reuse/_util.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later

@@ -33,7 +33,7 @@ _IDENTIFIER_PATTERN = re.compile(
r"SPDX" "-License-Identifier: (.*?)" + _END_PATTERN, re.MULTILINE
)
_COPYRIGHT_PATTERNS = [
re.compile(r"(SPDX" "-Copyright: .*?)" + _END_PATTERN),
re.compile(r"(SPDX" "-FileCopyrightText: .*?)" + _END_PATTERN),
re.compile(r"(Copyright .*?)" + _END_PATTERN),
re.compile(r"(© .*?)" + _END_PATTERN),
]

+ 1
- 1
src/reuse/download.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
src/reuse/lint.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
src/reuse/project.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
src/reuse/report.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
src/reuse/resources/exceptions.json.license View File

@@ -1,3 +1,3 @@
# SPDX-Copyright: Linux Foundation and its Contributors
# SPDX-FileCopyrightText: Linux Foundation and its Contributors
#
# SPDX-License-Identifier: CC0-1.0

+ 1
- 1
src/reuse/resources/licenses.json.license View File

@@ -1,3 +1,3 @@
# SPDX-Copyright: Linux Foundation and its Contributors
# SPDX-FileCopyrightText: Linux Foundation and its Contributors
#
# SPDX-License-Identifier: CC0-1.0

+ 1
- 1
src/reuse/spdx.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 3
- 3
tests/conftest.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later

@@ -83,7 +83,7 @@ def fake_repository(tmpdir_factory) -> Path:

# Adding this here to avoid conflict in main project.
(directory / "src/exception.py").write_text(
"SPDX-Copyright: 2017 Mary Sue\n"
"SPDX-FileCopyrightText: 2017 Mary Sue\n"
"SPDX"
"-License-Identifier: GPL-3.0-or-later WITH Autoconf-exception-3.0"
)
@@ -104,7 +104,7 @@ def git_repository(fake_repository: Path, git_exe: Optional[str]) -> Path:
"# SPDX"
"-License-Identifier: CC0-1.0\n"
"# SPDX"
"-Copyright: 2017 Mary Sue\n"
"-FileCopyrightText: 2017 Mary Sue\n"
"*.pyc\nbuild"
)
(fake_repository / ".gitignore").write_text(gitignore)

+ 1
- 1
tests/resources/fake_repository/src/source_code.c View File

@@ -1,4 +1,4 @@
/* SPDX-Copyright: 2017 Mary Sue */
/* SPDX-FileCopyrightText: 2017 Mary Sue */

/* SPDX-License-Identifier: GPL-3.0-or-later */


+ 1
- 1
tests/resources/fake_repository/src/source_code.html View File

@@ -1,4 +1,4 @@
<!-- SPDX-Copyright: 2017 Mary Sue -->
<!-- SPDX-FileCopyrightText: 2017 Mary Sue -->
<!-- SPDX-License-Identifier: GPL-3.0-or-later -->

<p>Hello, world!</p>

+ 1
- 1
tests/resources/fake_repository/src/source_code.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017 Mary Sue
# SPDX-FileCopyrightText: 2017 Mary Sue
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
tests/test_comment.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
tests/test_download.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
tests/test_lint.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 1
- 1
tests/test_main.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


+ 20
- 11
tests/test_project.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later

@@ -137,24 +137,31 @@ def test_spdx_info_of_only_copyright(fake_repository):
"""A file contains only a copyright line. Test whether it correctly picks
up on that.
"""
(fake_repository / "foo.py").write_text("SPDX-Copyright: 2017 Mary Sue")
(fake_repository / "foo.py").write_text(
"SPDX-FileCopyrightText: 2017 Mary Sue"
)
project = Project(fake_repository)
spdx_info = project.spdx_info_of("foo.py")
assert not any(spdx_info.spdx_expressions)
assert len(spdx_info.copyright_lines) == 1
assert spdx_info.copyright_lines.pop() == "SPDX-Copyright: 2017 Mary Sue"
assert (
spdx_info.copyright_lines.pop()
== "SPDX-FileCopyrightText: 2017 Mary Sue"
)


def test_spdx_info_of_only_copyright_also_covered_by_debian(fake_repository):
"""A file contains only a copyright line, but debian/copyright also has
information on this file. Use both.
"""
(fake_repository / "doc/foo.py").write_text("SPDX-Copyright: in file")
(fake_repository / "doc/foo.py").write_text(
"SPDX-FileCopyrightText: in file"
)
project = Project(fake_repository)
spdx_info = project.spdx_info_of("doc/foo.py")
assert any(spdx_info.spdx_expressions)
assert len(spdx_info.copyright_lines) == 2
assert "SPDX-Copyright: in file" in spdx_info.copyright_lines
assert "SPDX-FileCopyrightText: in file" in spdx_info.copyright_lines
assert "2017 Mary Sue" in spdx_info.copyright_lines


@@ -166,14 +173,14 @@ def test_spdx_info_of_also_covered_by_dep5(fake_repository):
dedent(
"""
SPDX-License-Identifier: MIT
SPDX-Copyright: in file"""
SPDX-FileCopyrightText: in file"""
)
)
project = Project(fake_repository)
spdx_info = project.spdx_info_of("doc/foo.py")
assert LicenseSymbol("MIT") in spdx_info.spdx_expressions
assert LicenseSymbol("CC0-1.0") in spdx_info.spdx_expressions
assert "SPDX-Copyright: in file" in spdx_info.copyright_lines
assert "SPDX-FileCopyrightText: in file" in spdx_info.copyright_lines
assert "2017 Mary Sue" in spdx_info.copyright_lines


@@ -182,7 +189,9 @@ def test_spdx_info_of_no_duplicates(empty_directory):
lines once.
"""
spdx_line = "SPDX-License-Identifier: GPL-3.0-or-later\n"
copyright_line = "SPDX-Copyright: 2017 Free Software Foundation Europe\n"
copyright_line = (
"SPDX-FileCopyrightText: 2017 Free Software Foundation Europe\n"
)
text = spdx_line + copyright_line

(empty_directory / "foo.py").write_text(text * 2)
@@ -192,7 +201,7 @@ def test_spdx_info_of_no_duplicates(empty_directory):
assert LicenseSymbol("GPL-3.0-or-later") in spdx_info.spdx_expressions
assert len(spdx_info.copyright_lines) == 1
assert (
"SPDX-Copyright: 2017 Free Software Foundation Europe"
"SPDX-FileCopyrightText: 2017 Free Software Foundation Europe"
in spdx_info.copyright_lines
)

@@ -214,13 +223,13 @@ def test_license_file_detected(empty_directory):
"""
(empty_directory / "foo.py").touch()
(empty_directory / "foo.py.license").write_text(
"SPDX-Copyright: 2017 Mary Sue\nSPDX-License-Identifier: MIT\n"
"SPDX-FileCopyrightText: 2017 Mary Sue\nSPDX-License-Identifier: MIT\n"
)

project = Project(empty_directory)
spdx_info = project.spdx_info_of("foo.py")

assert "SPDX-Copyright: 2017 Mary Sue" in spdx_info.copyright_lines
assert "SPDX-FileCopyrightText: 2017 Mary Sue" in spdx_info.copyright_lines
assert LicenseSymbol("MIT") in spdx_info.spdx_expressions



+ 4
- 4
tests/test_report.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later

@@ -19,7 +19,7 @@ def test_generate_file_report_file_simple(fake_repository):
assert result.file_report.spdxfile.licenses_in_file == ["GPL-3.0-or-later"]
assert (
result.file_report.spdxfile.copyright
== "SPDX-Copyright: 2017 Mary Sue"
== "SPDX-FileCopyrightText: 2017 Mary Sue"
)
assert not result.bad_licenses
assert not result.missing_licenses
@@ -35,7 +35,7 @@ def test_generate_file_report_file_from_different_cwd(fake_repository):
assert result.file_report.spdxfile.licenses_in_file == ["GPL-3.0-or-later"]
assert (
result.file_report.spdxfile.copyright
== "SPDX-Copyright: 2017 Mary Sue"
== "SPDX-FileCopyrightText: 2017 Mary Sue"
)
assert not result.bad_licenses
assert not result.missing_licenses
@@ -77,7 +77,7 @@ def test_generate_file_report_exception(fake_repository):
}
assert (
result.file_report.spdxfile.copyright
== "SPDX-Copyright: 2017 Mary Sue"
== "SPDX-FileCopyrightText: 2017 Mary Sue"
)
assert not result.bad_licenses
assert not result.missing_licenses

+ 5
- 5
tests/test_util.py View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2019 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2019 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later

@@ -57,14 +57,14 @@ def test_extract_copyright():
"""Given a file with copyright information, have it return that copyright
information.
"""
copyright = "SPDX-Copyright: 2019 Jane Doe"
copyright = "SPDX-FileCopyrightText: 2019 Jane Doe"
result = _util.extract_spdx_info(copyright)
assert result.copyright_lines == {copyright}


def test_extract_copyright_duplicate():
"""When a copyright line is duplicated, only yield one."""
copyright = "SPDX-Copyright: 2019 Jane Doe"
copyright = "SPDX-FileCopyrightText: 2019 Jane Doe"
result = _util.extract_spdx_info("\n".join((copyright, copyright)))
assert result.copyright_lines == {copyright}

@@ -73,8 +73,8 @@ def test_extract_copyright_variations():
"""There are multiple ways to declare copyright. All should be detected."""
text = cleandoc(
"""
SPDX-Copyright: 2019 Jane Doe
SPDX-Copyright: © 2019 Jane Doe
SPDX-FileCopyrightText: 2019 Jane Doe
SPDX-FileCopyrightText: © 2019 Jane Doe
© 2019 Jane Doe
Copyright © 2019 Jane Doe
Copyright 2019 Jane Doe

+ 1
- 1
tox.ini View File

@@ -1,4 +1,4 @@
# SPDX-Copyright: 2017-2018 Free Software Foundation Europe e.V.
# SPDX-FileCopyrightText: 2017-2018 Free Software Foundation Europe e.V.
#
# SPDX-License-Identifier: GPL-3.0-or-later


Loading…
Cancel
Save