forked from rpms/kernel
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1015 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #! /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
 |