mirror of
https://github.com/speed47/spectre-meltdown-checker.git
synced 2026-04-01 12:47:07 +02:00
split script in multiple files, reassembled through build.sh
This commit is contained in:
49
build.sh
Executable file
49
build.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
# vim: set ts=4 sw=4 sts=4 et:
|
||||
# Assemble spectre-meltdown-checker.sh from src/ fragments.
|
||||
# Usage: ./build.sh [output_file]
|
||||
# default output: spectre-meltdown-checker.sh
|
||||
set -e
|
||||
|
||||
SRCDIR="$(dirname "$0")/src"
|
||||
OUTPUT="${1:-$(dirname "$0")/spectre-meltdown-checker.sh}"
|
||||
|
||||
SECTIONS="
|
||||
libs/*.sh
|
||||
vulns-helpers/*.sh
|
||||
vulns/*.sh
|
||||
main.sh
|
||||
db/*.sh
|
||||
"
|
||||
|
||||
first=1
|
||||
for pattern in $SECTIONS; do
|
||||
# shellcheck disable=SC2086
|
||||
for file in "$SRCDIR"/$pattern; do
|
||||
[ -f "$file" ] || continue
|
||||
# source file marker
|
||||
relpath="${file#"$SRCDIR"/}"
|
||||
if [ "$first" = 1 ]; then
|
||||
# first file (001_core_header.sh): emit verbatim, keeps shebang
|
||||
cat "$file"
|
||||
first=0
|
||||
else
|
||||
# separator blank line + source marker between fragments
|
||||
echo ""
|
||||
echo "# >>>>>> $relpath <<<<<<"
|
||||
echo ""
|
||||
# strip accidental shebang on line 1
|
||||
{
|
||||
IFS= read -r line
|
||||
case "$line" in
|
||||
'#!'*) ;; # skip shebang
|
||||
*) printf '%s\n' "$line" ;;
|
||||
esac
|
||||
cat
|
||||
} <"$file"
|
||||
fi
|
||||
done
|
||||
done >"$OUTPUT"
|
||||
|
||||
chmod +x "$OUTPUT"
|
||||
echo "Assembled $OUTPUT ($(wc -l <"$OUTPUT") lines)"
|
||||
Reference in New Issue
Block a user