Files
scst/scripts/kernel/sign-modules
T
Gleb Chesnokov 43e717c7f1 scripts: Group kernel maintenance helpers under kernel/
Move patch generation, specialization, regression, kernel selection and
module signing helpers together, with their shared shell libraries. Update
component Makefiles, CI, nightly jobs, packaging metadata, documentation
and KUnit tooling references alongside the move.

Adjust repository-root and source-inventory lookups for the deeper path.
Resolve rhel-rpm-functions relative to kernel-functions through
BASH_SOURCE, since it is also sourced by the QLogic extraction helpers.

Keep the regression runner behavior and the nightly kernel matrix intact,
including the existing checkpatch, sparse and smatch switches and policy.
2026-10-19 10:31:32 +03:00

29 lines
906 B
Bash
Executable File

#!/bin/bash
set -o pipefail
# Parse modules.order and sign the modules found in that file.
if [ -z "$KDIR" ]; then
echo "Error: \$KDIR has not been set"
exit 1
fi
scst_dir=$(cd "$(dirname "$0")/../.." && pwd)
if [ ! -e "${KDIR}/scripts/sign-file" ]; then
echo "Not signing modules because no sign-file executable"
exit
fi
[ -e "${scst_dir}/scst/src/certs/scst_module_key.priv" ] || exit 0
[ -e "${scst_dir}/scst/src/certs/scst_module_key.der" ] || exit 0
CONFIG_MODULE_SIG_HASH=$(sed -n 's/^CONFIG_MODULE_SIG_HASH="\([^"]*\)"$/\1/p' "${KDIR}/.config" | { read -r line; [ -n "$line" ] && echo "$line" || echo sha256; })
sed 's,^kernel/,,' < modules.order | \
while read -r f; do
echo "Signing $f"
"${KDIR}/scripts/sign-file" "${CONFIG_MODULE_SIG_HASH}" "${scst_dir}/scst/src/certs/scst_module_key.priv" "${scst_dir}/scst/src/certs/scst_module_key.der" "$f" || exit $?
done