[PATCH 01/10] scripts: add SPDX-License-Identifier to shell scripts

Daniel Gomez <[email protected]> Tue, 19 May 2026 15:34:22 +0200
Newsgroups dev.linux.lists.kdevops
Message-ID <[email protected]>
From: Daniel Gomez <[email protected]>

Insert "# SPDX-License-Identifier: copyleft-next-0.3.1" right after
the shebang line on every shell script in the tree that lacks one.

Generated-by: Claude AI
Signed-off-by: Daniel Gomez <[email protected]>
---
 docs/virt-install-demo.sh                                          | 1 +
 playbooks/roles/devconfig/scripts/add-suse-repo-if-not-found.sh    | 1 +
 playbooks/roles/devconfig/scripts/prepare_suse_repos.sh            | 1 +
 playbooks/roles/mmtests_compare/files/apply_patch.sh               | 1 +
 playbooks/roles/mmtests_compare/files/embed_graphs_in_html.sh      | 1 +
 playbooks/roles/mmtests_compare/files/generate_graphs.sh           | 1 +
 playbooks/roles/mmtests_compare/files/generate_html_with_graphs.sh | 1 +
 playbooks/roles/mmtests_compare/files/run_comparison.sh            | 1 +
 playbooks/scripts/workflows/fstests/sort-expunges.sh               | 1 +
 scripts/append-makefile-vars-int.sh                                | 1 +
 scripts/append-makefile-vars.sh                                    | 1 +
 scripts/check-cli-set-var.sh                                       | 1 +
 scripts/cwd-append.sh                                              | 1 +
 scripts/get-distro-default-bridge.sh                               | 1 +
 scripts/get-distro-has-hop-count-sources.sh                        | 1 +
 scripts/get-distro-prefix.sh                                       | 1 +
 scripts/get_gdb_base_port.sh                                       | 1 +
 scripts/get_libvirsh_can_sudo.sh                                   | 1 +
 scripts/get_libvirsh_pool_enabled.sh                               | 1 +
 scripts/get_libvirsh_pool_name.sh                                  | 1 +
 scripts/get_libvirsh_pool_path.sh                                  | 1 +
 scripts/github_output.sh                                           | 1 +
 scripts/kconfig/update-upstream-kconfig.sh                         | 1 +
 scripts/libvirt_pool.sh                                            | 1 +
 scripts/os-debian-version.sh                                       | 1 +
 scripts/os-release-check.sh                                        | 1 +
 scripts/test_git_firewall.sh                                       | 1 +
 scripts/vllm-quick-test.sh                                         | 1 +
 scripts/workflows/fstests/copy-results.sh                          | 1 +
 scripts/workflows/fstests/lazy-baseline.sh                         | 1 +
 scripts/workflows/lib/debug_print_filesystem_sections.sh           | 1 +
 terraform/scripts/cloud-init.sh                                    | 1 +
 workflows/blktests/scripts/oscheck-lib.sh                          | 1 +
 workflows/fstests/osfiles/debian/helpers.sh                        | 1 +
 workflows/fstests/osfiles/fedora/helpers.sh                        | 1 +
 workflows/fstests/osfiles/ol/helpers.sh                            | 1 +
 workflows/fstests/osfiles/opensuse-leap/helpers.sh                 | 1 +
 workflows/fstests/osfiles/opensuse-tumbleweed/helpers.sh           | 1 +
 workflows/fstests/osfiles/sles/helpers.sh                          | 1 +
 workflows/fstests/osfiles/ubuntu/helpers.sh                        | 1 +
 workflows/fstests/scripts/gendisks.sh                              | 1 +
 workflows/fstests/scripts/naggy-check.sh                           | 1 +
 workflows/fstests/scripts/oscheck-get-failures.sh                  | 1 +
 workflows/fstests/scripts/oscheck-lib.sh                           | 1 +
 workflows/fstests/scripts/oscheck.sh                               | 1 +
 workflows/minio/scripts/run_benchmark_suite.sh                     | 1 +
 workflows/nfstest/scripts/visualize_nfstest_results.sh             | 1 +
 workflows/pynfs/scripts/run_pynfs.sh                               | 1 +
 workflows/pynfs/scripts/run_pynfs_block.sh                         | 1 +
 49 files changed, 49 insertions(+)

diff --git a/docs/virt-install-demo.sh b/docs/virt-install-demo.sh
index 21729e58..5f8e198d 100644
--- a/docs/virt-install-demo.sh
+++ b/docs/virt-install-demo.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # custom virt-install script demo
 
 ISO_URL="http://example.com/linux-release.iso"
diff --git a/playbooks/roles/devconfig/scripts/add-suse-repo-if-not-found.sh b/playbooks/roles/devconfig/scripts/add-suse-repo-if-not-found.sh
index 527845dd..f9b34cb2 100755
--- a/playbooks/roles/devconfig/scripts/add-suse-repo-if-not-found.sh
+++ b/playbooks/roles/devconfig/scripts/add-suse-repo-if-not-found.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 REPO_URL=$1
 REPO_NAME=$2
diff --git a/playbooks/roles/devconfig/scripts/prepare_suse_repos.sh b/playbooks/roles/devconfig/scripts/prepare_suse_repos.sh
index 0234f173..4ee963b3 100755
--- a/playbooks/roles/devconfig/scripts/prepare_suse_repos.sh
+++ b/playbooks/roles/devconfig/scripts/prepare_suse_repos.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 source /etc/os-release
 
diff --git a/playbooks/roles/mmtests_compare/files/apply_patch.sh b/playbooks/roles/mmtests_compare/files/apply_patch.sh
index 172a5bd1..c8e04437 100755
--- a/playbooks/roles/mmtests_compare/files/apply_patch.sh
+++ b/playbooks/roles/mmtests_compare/files/apply_patch.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Script to apply mmtests patches with proper error handling
 
 TOPDIR="$1"
diff --git a/playbooks/roles/mmtests_compare/files/embed_graphs_in_html.sh b/playbooks/roles/mmtests_compare/files/embed_graphs_in_html.sh
index ee591f0d..10e9c2d5 100755
--- a/playbooks/roles/mmtests_compare/files/embed_graphs_in_html.sh
+++ b/playbooks/roles/mmtests_compare/files/embed_graphs_in_html.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Script to embed graphs in the comparison HTML
 
 COMPARISON_HTML="$1"
diff --git a/playbooks/roles/mmtests_compare/files/generate_graphs.sh b/playbooks/roles/mmtests_compare/files/generate_graphs.sh
index 28b06911..4a7fcb36 100755
--- a/playbooks/roles/mmtests_compare/files/generate_graphs.sh
+++ b/playbooks/roles/mmtests_compare/files/generate_graphs.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Script to generate mmtests graphs with proper error handling
 
 set -e
diff --git a/playbooks/roles/mmtests_compare/files/generate_html_with_graphs.sh b/playbooks/roles/mmtests_compare/files/generate_html_with_graphs.sh
index a334d0fa..3ce0dc46 100755
--- a/playbooks/roles/mmtests_compare/files/generate_html_with_graphs.sh
+++ b/playbooks/roles/mmtests_compare/files/generate_html_with_graphs.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Script to generate HTML report with embedded graphs using compare-kernels.sh
 
 set -e
diff --git a/playbooks/roles/mmtests_compare/files/run_comparison.sh b/playbooks/roles/mmtests_compare/files/run_comparison.sh
index b95bea63..0b319a80 100755
--- a/playbooks/roles/mmtests_compare/files/run_comparison.sh
+++ b/playbooks/roles/mmtests_compare/files/run_comparison.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Script to run mmtests comparison with proper error handling
 
 set -e
diff --git a/playbooks/scripts/workflows/fstests/sort-expunges.sh b/playbooks/scripts/workflows/fstests/sort-expunges.sh
index a49c360b..1fc17c49 100755
--- a/playbooks/scripts/workflows/fstests/sort-expunges.sh
+++ b/playbooks/scripts/workflows/fstests/sort-expunges.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 usage()
 {
diff --git a/scripts/append-makefile-vars-int.sh b/scripts/append-makefile-vars-int.sh
index db4aa04d..7e66df81 100755
--- a/scripts/append-makefile-vars-int.sh
+++ b/scripts/append-makefile-vars-int.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 STR=""
 
diff --git a/scripts/append-makefile-vars.sh b/scripts/append-makefile-vars.sh
index 516c9353..51562105 100755
--- a/scripts/append-makefile-vars.sh
+++ b/scripts/append-makefile-vars.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 STR=""
 
diff --git a/scripts/check-cli-set-var.sh b/scripts/check-cli-set-var.sh
index 39fb3273..510b8bdf 100755
--- a/scripts/check-cli-set-var.sh
+++ b/scripts/check-cli-set-var.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 if [[ $# -ne 1 ]]; then
 	echo n
diff --git a/scripts/cwd-append.sh b/scripts/cwd-append.sh
index 3dc2ed6e..8d7b66a0 100755
--- a/scripts/cwd-append.sh
+++ b/scripts/cwd-append.sh
@@ -1,2 +1,3 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 echo $(pwd)/$1
diff --git a/scripts/get-distro-default-bridge.sh b/scripts/get-distro-default-bridge.sh
index 1e673c83..9c2d6be3 100755
--- a/scripts/get-distro-default-bridge.sh
+++ b/scripts/get-distro-default-bridge.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 DISTRO=$1
 VIRT_TYPE=$2
diff --git a/scripts/get-distro-has-hop-count-sources.sh b/scripts/get-distro-has-hop-count-sources.sh
index 7cb72ce2..8b4168a8 100755
--- a/scripts/get-distro-has-hop-count-sources.sh
+++ b/scripts/get-distro-has-hop-count-sources.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 DEBIAN_VERSION_FILE="/etc/debian_version"
 ACCEPTABLE_HOPS=1
 
diff --git a/scripts/get-distro-prefix.sh b/scripts/get-distro-prefix.sh
index 519be5a5..22189d8c 100755
--- a/scripts/get-distro-prefix.sh
+++ b/scripts/get-distro-prefix.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 DEFAULT_DISTRO="debian"
 DISTROS="debian"
diff --git a/scripts/get_gdb_base_port.sh b/scripts/get_gdb_base_port.sh
index 66f987cc..bdd80044 100755
--- a/scripts/get_gdb_base_port.sh
+++ b/scripts/get_gdb_base_port.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 # This script is used to get the base port for gdbserver
 
diff --git a/scripts/get_libvirsh_can_sudo.sh b/scripts/get_libvirsh_can_sudo.sh
index 4b713d6b..32cd7180 100755
--- a/scripts/get_libvirsh_can_sudo.sh
+++ b/scripts/get_libvirsh_can_sudo.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Let's us use advanced heuristics for lazy developers where sudo is already
 # set. These heuristics are typically for lage deployments of kdevops where
 # you may use different libvirt storage pools for different nvme drives and
diff --git a/scripts/get_libvirsh_pool_enabled.sh b/scripts/get_libvirsh_pool_enabled.sh
index bdd28bee..2ad52912 100755
--- a/scripts/get_libvirsh_pool_enabled.sh
+++ b/scripts/get_libvirsh_pool_enabled.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Tries to infer if you should be using your existing storage pool paths.
 # If you are using kdevops in a directory like say /data1/next/kdevops
 # this will look to see if /data1/ is the path of any storage pool and if
diff --git a/scripts/get_libvirsh_pool_name.sh b/scripts/get_libvirsh_pool_name.sh
index 1480f326..1c2c5897 100755
--- a/scripts/get_libvirsh_pool_name.sh
+++ b/scripts/get_libvirsh_pool_name.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Tries to infer your preferred libvirt storage pool name.
 # If you are using kdevops in a directory like say /data1/next/kdevops
 # this will look to see if /data1/ is the path of a storage pool name
diff --git a/scripts/get_libvirsh_pool_path.sh b/scripts/get_libvirsh_pool_path.sh
index c0367770..53476201 100755
--- a/scripts/get_libvirsh_pool_path.sh
+++ b/scripts/get_libvirsh_pool_path.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Tries to infer your preferred libvirt storage pool path.
 # If you are using kdevops in a directory like say /data1/next/kdevops
 # this will look to see if /data1/ is in the path of a storage pool
diff --git a/scripts/github_output.sh b/scripts/github_output.sh
index 711306c3..46483a4f 100755
--- a/scripts/github_output.sh
+++ b/scripts/github_output.sh
@@ -1,4 +1,5 @@
 #!/usr/bin/env bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 #
 # Usage: ./github_output.sh key value
 set -euxo pipefail
diff --git a/scripts/kconfig/update-upstream-kconfig.sh b/scripts/kconfig/update-upstream-kconfig.sh
index f1d764e3..6dab74c2 100755
--- a/scripts/kconfig/update-upstream-kconfig.sh
+++ b/scripts/kconfig/update-upstream-kconfig.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 # This is what we use on the kconfig tree to sync to the latest linux-next
 # kconfig from the Linux kernel.
diff --git a/scripts/libvirt_pool.sh b/scripts/libvirt_pool.sh
index cc65bd0c..01a9f6c6 100644
--- a/scripts/libvirt_pool.sh
+++ b/scripts/libvirt_pool.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Helpers to work with virsh pools
 
 get_can_sudo()
diff --git a/scripts/os-debian-version.sh b/scripts/os-debian-version.sh
index af8f1ca7..3e3cbaee 100755
--- a/scripts/os-debian-version.sh
+++ b/scripts/os-debian-version.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 DEBIAN_VERSION_FILE="/etc/debian_version"
 
 if [[ ! -f $DEBIAN_VERSION_FILE ]]; then
diff --git a/scripts/os-release-check.sh b/scripts/os-release-check.sh
index 4df107b7..b11a069e 100755
--- a/scripts/os-release-check.sh
+++ b/scripts/os-release-check.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 OS_FILE="/etc/os-release"
 
 if [[ ! -f $OS_FILE ]]; then
diff --git a/scripts/test_git_firewall.sh b/scripts/test_git_firewall.sh
index 019151d5..c331c7ba 100755
--- a/scripts/test_git_firewall.sh
+++ b/scripts/test_git_firewall.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 CUR_VAL=$1
 which nc &> /dev/null
diff --git a/scripts/vllm-quick-test.sh b/scripts/vllm-quick-test.sh
index 30ecf355..b415b498 100755
--- a/scripts/vllm-quick-test.sh
+++ b/scripts/vllm-quick-test.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Quick test script for vLLM deployment
 # Tests both baseline and dev nodes, measures response time, and validates output
 
diff --git a/scripts/workflows/fstests/copy-results.sh b/scripts/workflows/fstests/copy-results.sh
index 31adc034..ca43a4ba 100755
--- a/scripts/workflows/fstests/copy-results.sh
+++ b/scripts/workflows/fstests/copy-results.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 VARS="extra_vars.yaml"
 LAST_KERNEL_FILE="workflows/fstests/results/last-kernel.txt"
diff --git a/scripts/workflows/fstests/lazy-baseline.sh b/scripts/workflows/fstests/lazy-baseline.sh
index defba920..52af22cc 100755
--- a/scripts/workflows/fstests/lazy-baseline.sh
+++ b/scripts/workflows/fstests/lazy-baseline.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 VARS="extra_vars.yaml"
 LAST_KERNEL_FILE="workflows/fstests/results/last-kernel.txt"
diff --git a/scripts/workflows/lib/debug_print_filesystem_sections.sh b/scripts/workflows/lib/debug_print_filesystem_sections.sh
index b638f33a..79d2f47a 100755
--- a/scripts/workflows/lib/debug_print_filesystem_sections.sh
+++ b/scripts/workflows/lib/debug_print_filesystem_sections.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 export TOPDIR=$PWD
 
diff --git a/terraform/scripts/cloud-init.sh b/terraform/scripts/cloud-init.sh
index 86c8a67e..21b5d1d6 100755
--- a/terraform/scripts/cloud-init.sh
+++ b/terraform/scripts/cloud-init.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # oscheck kdevops cloud-init script.
 #
 # This script accepts the following variables set and passed:
diff --git a/workflows/blktests/scripts/oscheck-lib.sh b/workflows/blktests/scripts/oscheck-lib.sh
index ca5af6d2..1fe91300 100644
--- a/workflows/blktests/scripts/oscheck-lib.sh
+++ b/workflows/blktests/scripts/oscheck-lib.sh
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Generic oscheck library
 
 oscheck_lib_init_vars()
diff --git a/workflows/fstests/osfiles/debian/helpers.sh b/workflows/fstests/osfiles/debian/helpers.sh
index d005607e..5a992e40 100644
--- a/workflows/fstests/osfiles/debian/helpers.sh
+++ b/workflows/fstests/osfiles/debian/helpers.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 debian_read_osfile()
 {
diff --git a/workflows/fstests/osfiles/fedora/helpers.sh b/workflows/fstests/osfiles/fedora/helpers.sh
index cc324c30..2f4a5e5a 100644
--- a/workflows/fstests/osfiles/fedora/helpers.sh
+++ b/workflows/fstests/osfiles/fedora/helpers.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 fedora_read_osfile()
 {
diff --git a/workflows/fstests/osfiles/ol/helpers.sh b/workflows/fstests/osfiles/ol/helpers.sh
index 4852fffb..140ed0cd 100755
--- a/workflows/fstests/osfiles/ol/helpers.sh
+++ b/workflows/fstests/osfiles/ol/helpers.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 ol_read_osfile()
 {
diff --git a/workflows/fstests/osfiles/opensuse-leap/helpers.sh b/workflows/fstests/osfiles/opensuse-leap/helpers.sh
index 67d07bc0..511ad4dc 100644
--- a/workflows/fstests/osfiles/opensuse-leap/helpers.sh
+++ b/workflows/fstests/osfiles/opensuse-leap/helpers.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 opensuse-leap_read_osfile()
 {
diff --git a/workflows/fstests/osfiles/opensuse-tumbleweed/helpers.sh b/workflows/fstests/osfiles/opensuse-tumbleweed/helpers.sh
index 8034b517..97a365bf 100644
--- a/workflows/fstests/osfiles/opensuse-tumbleweed/helpers.sh
+++ b/workflows/fstests/osfiles/opensuse-tumbleweed/helpers.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 opensuse-tumbleweed_read_osfile()
 {
diff --git a/workflows/fstests/osfiles/sles/helpers.sh b/workflows/fstests/osfiles/sles/helpers.sh
index 1956ce4d..7c0ed8f6 100644
--- a/workflows/fstests/osfiles/sles/helpers.sh
+++ b/workflows/fstests/osfiles/sles/helpers.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 sles_read_osfile()
 {
diff --git a/workflows/fstests/osfiles/ubuntu/helpers.sh b/workflows/fstests/osfiles/ubuntu/helpers.sh
index 6a7a9bb5..175ee7b3 100644
--- a/workflows/fstests/osfiles/ubuntu/helpers.sh
+++ b/workflows/fstests/osfiles/ubuntu/helpers.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 install_basic_reqs()
 {
diff --git a/workflows/fstests/scripts/gendisks.sh b/workflows/fstests/scripts/gendisks.sh
index 17ef95fc..fa538dca 100755
--- a/workflows/fstests/scripts/gendisks.sh
+++ b/workflows/fstests/scripts/gendisks.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 # Creates a 11 sparse files files we'll use as our disks for testing.
 # A loopback device is used for each of them. This allows us to save space
diff --git a/workflows/fstests/scripts/naggy-check.sh b/workflows/fstests/scripts/naggy-check.sh
index f7fd9590..8bcb20e8 100755
--- a/workflows/fstests/scripts/naggy-check.sh
+++ b/workflows/fstests/scripts/naggy-check.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Runs xfstests check.sh in a loop until a failure occurs, tells you
 # how many runs are needed before a failure occurs.
 #
diff --git a/workflows/fstests/scripts/oscheck-get-failures.sh b/workflows/fstests/scripts/oscheck-get-failures.sh
index 6acb2236..555c015a 100755
--- a/workflows/fstests/scripts/oscheck-get-failures.sh
+++ b/workflows/fstests/scripts/oscheck-get-failures.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Gets the the list of known failed tests.
 
 TEST_ARG_SECTION=""
diff --git a/workflows/fstests/scripts/oscheck-lib.sh b/workflows/fstests/scripts/oscheck-lib.sh
index 13a7d304..66c93f56 100644
--- a/workflows/fstests/scripts/oscheck-lib.sh
+++ b/workflows/fstests/scripts/oscheck-lib.sh
@@ -1,3 +1,4 @@
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Generic oscheck library
 
 oscheck_lib_init_vars()
diff --git a/workflows/fstests/scripts/oscheck.sh b/workflows/fstests/scripts/oscheck.sh
index 34212442..97688444 100755
--- a/workflows/fstests/scripts/oscheck.sh
+++ b/workflows/fstests/scripts/oscheck.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # OS wrapper for check.sh
 
 DRY_RUN="false"
diff --git a/workflows/minio/scripts/run_benchmark_suite.sh b/workflows/minio/scripts/run_benchmark_suite.sh
index 6d71f48b..9e83438f 100755
--- a/workflows/minio/scripts/run_benchmark_suite.sh
+++ b/workflows/minio/scripts/run_benchmark_suite.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Run comprehensive MinIO Warp benchmark suite
 
 MINIO_HOST="${1:-localhost:9000}"
diff --git a/workflows/nfstest/scripts/visualize_nfstest_results.sh b/workflows/nfstest/scripts/visualize_nfstest_results.sh
index e7ddbfa4..d00c2f96 100755
--- a/workflows/nfstest/scripts/visualize_nfstest_results.sh
+++ b/workflows/nfstest/scripts/visualize_nfstest_results.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 # Visualize NFS test results
 
 SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
diff --git a/workflows/pynfs/scripts/run_pynfs.sh b/workflows/pynfs/scripts/run_pynfs.sh
index e2f0186f..20b69ddb 100755
--- a/workflows/pynfs/scripts/run_pynfs.sh
+++ b/workflows/pynfs/scripts/run_pynfs.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 # Enable job control
 set -m
diff --git a/workflows/pynfs/scripts/run_pynfs_block.sh b/workflows/pynfs/scripts/run_pynfs_block.sh
index 59a72cb6..1fbc496e 100755
--- a/workflows/pynfs/scripts/run_pynfs_block.sh
+++ b/workflows/pynfs/scripts/run_pynfs_block.sh
@@ -1,4 +1,5 @@
 #!/bin/bash
+# SPDX-License-Identifier: copyleft-next-0.3.1
 
 version="4.1"
 

-- 
2.53.0