diff options
Diffstat (limited to 'freed-ora/tags/f27/4.15.9-300.fc27.gnu/mod-sign.sh')
-rwxr-xr-x | freed-ora/tags/f27/4.15.9-300.fc27.gnu/mod-sign.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/freed-ora/tags/f27/4.15.9-300.fc27.gnu/mod-sign.sh b/freed-ora/tags/f27/4.15.9-300.fc27.gnu/mod-sign.sh new file mode 100755 index 000000000..5081e77dc --- /dev/null +++ b/freed-ora/tags/f27/4.15.9-300.fc27.gnu/mod-sign.sh @@ -0,0 +1,36 @@ +#! /bin/bash + +# The modules_sign target checks for corresponding .o files for every .ko that +# is signed. This doesn't work for package builds which re-use the same build +# directory for every flavour, and the .config may change between flavours. +# So instead of using this script to just sign lib/modules/$KernelVer/extra, +# sign all .ko in the buildroot. + +# This essentially duplicates the 'modules_sign' Kbuild target and runs the +# same commands for those modules. + +MODSECKEY=$1 +MODPUBKEY=$2 + +moddir=$3 + +modules=`find $moddir -name *.ko` + +for mod in $modules +do + dir=`dirname $mod` + file=`basename $mod` + + ./scripts/sign-file sha256 ${MODSECKEY} ${MODPUBKEY} ${dir}/${file} + rm -f ${dir}/${file}.{sig,dig} +done + +RANDOMMOD=$(find $moddir -type f -name '*.ko' | sort -R | head -n 1) +if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then + echo "*****************************" + echo "*** Modules are unsigned! ***" + echo "*****************************" + exit 1 +fi + +exit 0 |