diff options
Diffstat (limited to 'kabi.sh')
| -rw-r--r-- | kabi.sh | 22 | 
1 files changed, 22 insertions, 0 deletions
| @@ -0,0 +1,22 @@ +#!/bin/bash +x +# +# kabi.sh - Automatically extract any kernel symbol checksum from the +#           symvers file and add to RPM deps.  This is used to move the +#           checksum checking from modprobe to rpm install for 3rd party +#           modules (so they can fail during install and not at load). + +IFS=$'\n' + +for symvers in $(grep -E '(/boot/symvers-.*|/lib/modules/[1-9].*/symvers)\.(gz|xz)') "$@"; +do +	cat_prog="cat" +	case "$symvers" in +	*.gz) cat_prog="zcat" ;; +	*.xz) cat_prog="xzcat" ;; +	esac + +	# We generate dependencies only for symbols exported by vmlinux itself +	# and not for kmods here as they are spread across subpackages, +	# so Provides: generation for kmods is handled by find-provides.ksyms. +	"$cat_prog" "$symvers" | awk '/[^	]*	[^	]*	vmlinux	.*/ { print "kernel(" $2 ") = " $1 }' +done | 
