From cdb240f3d4d9c0d6d56e6660d8c45da4ab60ff59 Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda Date: Sun, 15 May 2022 02:06:02 +0200 Subject: chore: make yuzu REUSE compliant [REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254 --- .ci/scripts/clang/docker.sh | 3 +++ .ci/scripts/clang/exec.sh | 3 +++ .ci/scripts/clang/upload.sh | 3 +++ .ci/scripts/common/post-upload.sh | 7 +++++-- .ci/scripts/common/pre-upload.sh | 3 +++ .ci/scripts/format/docker.sh | 3 +++ .ci/scripts/format/exec.sh | 3 +++ .ci/scripts/format/script.sh | 3 +++ .ci/scripts/linux/docker.sh | 3 +++ .ci/scripts/linux/exec.sh | 3 +++ .ci/scripts/linux/upload.sh | 3 +++ .ci/scripts/merge/apply-patches-by-label-private.py | 3 +++ .ci/scripts/merge/apply-patches-by-label.py | 3 +++ .ci/scripts/merge/check-label-presence.py | 3 +++ .ci/scripts/merge/yuzubot-git-config.sh | 3 +++ .ci/scripts/transifex/docker.sh | 3 +++ .ci/scripts/windows/docker.sh | 3 +++ .ci/scripts/windows/exec.sh | 3 +++ .ci/scripts/windows/scan_dll.py | 3 +++ .ci/scripts/windows/upload.ps1 | 5 ++++- .ci/scripts/windows/upload.sh | 3 +++ 21 files changed, 66 insertions(+), 3 deletions(-) (limited to '.ci/scripts') diff --git a/.ci/scripts/clang/docker.sh b/.ci/scripts/clang/docker.sh index db736f72b..792ef4aa8 100755 --- a/.ci/scripts/clang/docker.sh +++ b/.ci/scripts/clang/docker.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Exit on error, rather than continuing with the rest of the script. set -e diff --git a/.ci/scripts/clang/exec.sh b/.ci/scripts/clang/exec.sh index a213aac27..664fce5f8 100644 --- a/.ci/scripts/clang/exec.sh +++ b/.ci/scripts/clang/exec.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + mkdir -p "ccache" || true chmod a+x ./.ci/scripts/clang/docker.sh # the UID for the container yuzu user is 1027 diff --git a/.ci/scripts/clang/upload.sh b/.ci/scripts/clang/upload.sh index fe4e6b2ac..0b4b3e330 100755 --- a/.ci/scripts/clang/upload.sh +++ b/.ci/scripts/clang/upload.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2021 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + . .ci/scripts/common/pre-upload.sh REV_NAME="yuzu-linux-${GITDATE}-${GITREV}" diff --git a/.ci/scripts/common/post-upload.sh b/.ci/scripts/common/post-upload.sh index a4e3070fd..7f910b2b3 100644 --- a/.ci/scripts/common/post-upload.sh +++ b/.ci/scripts/common/post-upload.sh @@ -1,11 +1,14 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Copy documentation -cp license.txt "$DIR_NAME" +cp LICENSE.txt "$DIR_NAME" cp README.md "$DIR_NAME" if [[ -z "${NO_SOURCE_PACK}" ]]; then - tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md license.txt + tar -cJvf "${REV_NAME}-source.tar.xz" src externals CMakeLists.txt README.md LICENSE.txt cp -v "${REV_NAME}-source.tar.xz" "$DIR_NAME" fi diff --git a/.ci/scripts/common/pre-upload.sh b/.ci/scripts/common/pre-upload.sh index a49e3fff3..705362a3c 100644 --- a/.ci/scripts/common/pre-upload.sh +++ b/.ci/scripts/common/pre-upload.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + GITDATE="`git show -s --date=short --format='%ad' | sed 's/-//g'`" GITREV="`git show -s --format='%h'`" ARTIFACTS_DIR="artifacts" diff --git a/.ci/scripts/format/docker.sh b/.ci/scripts/format/docker.sh index 778411e4a..a0f7a61cc 100644 --- a/.ci/scripts/format/docker.sh +++ b/.ci/scripts/format/docker.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Run clang-format cd /yuzu chmod a+x ./.ci/scripts/format/script.sh diff --git a/.ci/scripts/format/exec.sh b/.ci/scripts/format/exec.sh index c50e90d66..40ab41abd 100644 --- a/.ci/scripts/format/exec.sh +++ b/.ci/scripts/format/exec.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + chmod a+x ./.ci/scripts/format/docker.sh # the UID for the container yuzu user is 1027 sudo chown -R 1027 ./ diff --git a/.ci/scripts/format/script.sh b/.ci/scripts/format/script.sh index c2550c966..119abae6a 100644 --- a/.ci/scripts/format/script.sh +++ b/.ci/scripts/format/script.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .ci* dist/*.desktop \ dist/*.svg dist/*.xml; then echo Trailing whitespace found, aborting diff --git a/.ci/scripts/linux/docker.sh b/.ci/scripts/linux/docker.sh index 436155b3d..dc7446dd1 100755 --- a/.ci/scripts/linux/docker.sh +++ b/.ci/scripts/linux/docker.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Exit on error, rather than continuing with the rest of the script. set -e diff --git a/.ci/scripts/linux/exec.sh b/.ci/scripts/linux/exec.sh index 78e8aeabf..fa3d78cc2 100644 --- a/.ci/scripts/linux/exec.sh +++ b/.ci/scripts/linux/exec.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + mkdir -p "ccache" || true chmod a+x ./.ci/scripts/linux/docker.sh # the UID for the container yuzu user is 1027 diff --git a/.ci/scripts/linux/upload.sh b/.ci/scripts/linux/upload.sh index 3f2c2f208..8173c5728 100755 --- a/.ci/scripts/linux/upload.sh +++ b/.ci/scripts/linux/upload.sh @@ -1,5 +1,8 @@ #!/bin/bash -ex +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + . .ci/scripts/common/pre-upload.sh APPIMAGE_NAME="yuzu-${GITDATE}-${GITREV}.AppImage" diff --git a/.ci/scripts/merge/apply-patches-by-label-private.py b/.ci/scripts/merge/apply-patches-by-label-private.py index 16b45043e..c640c4c4d 100644 --- a/.ci/scripts/merge/apply-patches-by-label-private.py +++ b/.ci/scripts/merge/apply-patches-by-label-private.py @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2019 yuzu Emulator Project +# SPDX-License-Identifier: GPL-2.0-or-later + # Download all pull requests as patches that match a specific label # Usage: python download-patches-by-label.py