From e343cbdfa52f5ff9b754e863830b08416e321ffd Mon Sep 17 00:00:00 2001 From: Sebastian Englbrecht Date: Thu, 21 May 2026 19:48:41 +0200 Subject: Add REUSE/SPDX compliance headers to all files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dolphin was missing copyright and license information on ~750 files, which would cause the KDE CI job `gitlab-templates/reuse-lint.yml` to fail. This commit makes the project fully compliant with REUSE Specification 3.3. REUSE.toml is used for file categories that cannot carry inline comments or are managed externally: - po/**: covered with precedence=aggregate so the bulk declaration combines with individual translators' existing inline headers - **/*.kcfg, **/*.kcfgc: KConfigXT schema files, no comment syntax - doc/*.png: documentation screenshots - src/icons/*.png: application icons (LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL) - src/**/*.{qrc,rc,desktop,xml,json,knsrc,upd,in}: resource and metadata files without usable comment syntax - .gitignore, .git-blame-ignore-revs: infrastructure, CC0-1.0 - logo.png: application artwork (LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL) Inline SPDX headers are added to all source files that support comments (C++, QML, CMake, shell scripts, Python). A small number of remaining binary or single-purpose files retain individual .license sidecars. License inference heuristic (applied per file, in order): 1. Existing inline SPDX-License-Identifier — reused as-is 2. Most common license among sibling files in the same directory that already carry SPDX info, excluding infrastructure filenames (.gitignore etc.) and requiring at least two qualifying neighbors to prevent a single CC0 CI config from pulling source files along 3. Default: GPL-2.0-or-later Copyright years and authors are sourced from `git log --follow` per file. Automation accounts (l10n daemon scripty@kde.org, Weblate) are excluded from author lists. If more than 5 authors are found only a generic KDE Contributors was used. --- src/CMakeLists.txt | 4 ++++ src/Messages.sh | 9 +++++++++ src/itemactions/CMakeLists.txt | 4 ++++ src/settings/contextmenu/servicemenuinstaller/CMakeLists.txt | 4 ++++ src/settings/contextmenu/servicemenuinstaller/Messages.sh | 6 ++++++ src/settings/dolphin_update_splitviewsettings.cpp | 4 ++++ src/tests/CMakeLists.txt | 4 ++++ 7 files changed, 35 insertions(+) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a8769454b..1a195747a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2006-2026 KDE Contributors +# +# SPDX-License-Identifier: GPL-2.0-or-later + include(ECMAddAppIcon) set(ADMIN_WORKER_PACKAGE_NAME "kio-admin") diff --git a/src/Messages.sh b/src/Messages.sh index ec4333e7c..90fc08d4d 100755 --- a/src/Messages.sh +++ b/src/Messages.sh @@ -1,4 +1,13 @@ #! /usr/bin/env bash + +# SPDX-FileCopyrightText: 2006, 2010 Laurent Montel +# SPDX-FileCopyrightText: 2007 Albert Astals Cid +# SPDX-FileCopyrightText: 2007 Stephan Kulow +# SPDX-FileCopyrightText: 2007, 2008 Chusslove Illich +# SPDX-FileCopyrightText: 2019 Pino Toscano +# +# SPDX-License-Identifier: GPL-2.0-or-later + $EXTRACTRC `find . -name \*.ui -o -name \*.rc -o -name \*.kcfg` >> rc.cpp $XGETTEXT `find . -name \*.cpp \! -path '*/servicemenuinstaller/*'` -o $podir/dolphin.pot rm -f rc.cpp diff --git a/src/itemactions/CMakeLists.txt b/src/itemactions/CMakeLists.txt index cd196eb36..8edcb28a8 100644 --- a/src/itemactions/CMakeLists.txt +++ b/src/itemactions/CMakeLists.txt @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2025 Kostiantin Korchuhanov +# SPDX-FileCopyrightText: 2025 Méven Car +# +# SPDX-License-Identifier: GPL-2.0-or-later # movetonewfolderitemaction plugin diff --git a/src/settings/contextmenu/servicemenuinstaller/CMakeLists.txt b/src/settings/contextmenu/servicemenuinstaller/CMakeLists.txt index 606f2c5d0..5cfb0088c 100644 --- a/src/settings/contextmenu/servicemenuinstaller/CMakeLists.txt +++ b/src/settings/contextmenu/servicemenuinstaller/CMakeLists.txt @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2019-2023 KDE Contributors +# +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + remove_definitions(-DTRANSLATION_DOMAIN=\"dolphin\") add_definitions(-DTRANSLATION_DOMAIN=\"dolphin_servicemenuinstaller\") diff --git a/src/settings/contextmenu/servicemenuinstaller/Messages.sh b/src/settings/contextmenu/servicemenuinstaller/Messages.sh index 5012eead6..326a8aa2d 100755 --- a/src/settings/contextmenu/servicemenuinstaller/Messages.sh +++ b/src/settings/contextmenu/servicemenuinstaller/Messages.sh @@ -1,2 +1,8 @@ #! /usr/bin/env bash + +# SPDX-FileCopyrightText: 2019 Alexander Potashev +# SPDX-FileCopyrightText: 2020 Duong Do Minh Chau +# +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL + $XGETTEXT `find . -name \*.cpp` -o $podir/dolphin_servicemenuinstaller.pot diff --git a/src/settings/dolphin_update_splitviewsettings.cpp b/src/settings/dolphin_update_splitviewsettings.cpp index 5ba905442..f208d3d2f 100644 --- a/src/settings/dolphin_update_splitviewsettings.cpp +++ b/src/settings/dolphin_update_splitviewsettings.cpp @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 Rafał Lichwała +// +// SPDX-License-Identifier: GPL-2.0-or-later + #include #include diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index a694ec8fb..930a6f433 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2007-2025 KDE Contributors +# +# SPDX-License-Identifier: GPL-2.0-or-later + set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) find_package(Qt6Test CONFIG REQUIRED) -- cgit v1.3.1