mirror of
https://github.com/tillitis/tillitis-key1.git
synced 2024-12-19 04:44:24 -05:00
9a6a790715
Signed-off-by: Daniel Lublin <daniel@lublin.se>
98 lines
2.0 KiB
Bash
Executable File
98 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -eu
|
|
|
|
tag="SPDX-License-Identifier:"
|
|
|
|
dirsok=(
|
|
.github/workflows/
|
|
LICENSES/
|
|
doc/
|
|
hw/application_fpga/core/picorv32/
|
|
hw/application_fpga/core/uart/
|
|
hw/application_fpga/fw/tk1/blake2s/
|
|
)
|
|
|
|
filesok=(
|
|
.editorconfig
|
|
.gitattributes
|
|
.gitignore
|
|
README.md
|
|
contrib/99-tillitis.rules
|
|
contrib/Dockerfile
|
|
contrib/Makefile
|
|
dco.md
|
|
hw/application_fpga/core/timer/README.md
|
|
hw/application_fpga/core/tk1/README.md
|
|
hw/application_fpga/core/touch_sense/README.md
|
|
hw/application_fpga/core/trng/README.md
|
|
hw/application_fpga/core/uds/README.txt
|
|
hw/application_fpga/data/udi.hex
|
|
hw/application_fpga/data/uds.hex
|
|
hw/application_fpga/fw/.clang-format
|
|
hw/application_fpga/fw/testfw/Makefile
|
|
hw/application_fpga/fw/tk1/Makefile
|
|
hw/application_fpga/tools/makehex/makehex.py
|
|
hw/application_fpga/tools/reset-tk1
|
|
hw/application_fpga/tools/tpt/README.md
|
|
)
|
|
|
|
is_missingok() {
|
|
item="$1"
|
|
# ok for empty files
|
|
[[ -f "$item" ]] && [[ ! -s "$item" ]] && return 0
|
|
for fileok in "${filesok[@]}"; do
|
|
[[ "$item" = "$fileok" ]] && return 0
|
|
done
|
|
for dirok in "${dirsok[@]}"; do
|
|
[[ "$item" =~ ^$dirok ]] && return 0
|
|
done
|
|
return 1
|
|
}
|
|
|
|
printf "* Checking for SPDX tags in %s\n" "$PWD"
|
|
|
|
mapfile -t repofiles < <(git ls-files || true)
|
|
if [[ -z "${repofiles[*]}" ]]; then
|
|
printf "* No files in the repo?!\n"
|
|
exit 1
|
|
fi
|
|
|
|
failed=0
|
|
|
|
printed=0
|
|
for fileok in "${filesok[@]}"; do
|
|
[[ -f "$fileok" ]] && continue
|
|
if (( !printed )); then
|
|
printf "* Some files in filesok are themselves missing:\n"
|
|
printed=1
|
|
failed=1
|
|
fi
|
|
printf "%s\n" "$fileok"
|
|
done
|
|
|
|
printed=0
|
|
for dirok in "${dirsok[@]}"; do
|
|
[[ -d "$dirok" ]] && continue
|
|
if (( !printed )); then
|
|
printf "* Some dirs in dirsok are themselves missing:\n"
|
|
printed=1
|
|
failed=1
|
|
fi
|
|
printf "%s\n" "$dirok"
|
|
done
|
|
|
|
printed=0
|
|
for file in "${repofiles[@]}"; do
|
|
is_missingok "$file" && continue
|
|
if ! grep -q "$tag" "$file"; then
|
|
if (( !printed )); then
|
|
printf "* Files missing the SPDX tag:\n"
|
|
printed=1
|
|
failed=1
|
|
fi
|
|
printf "%s\n" "$file"
|
|
fi
|
|
done
|
|
|
|
exit "$failed"
|