kernel/redhat/kabi/diff-kabi

43 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
usage_desc() {
sed 's/^\t//' <<EOF
Diffs the kernel ABI stablelist symtypes information and current symtypes
for architecture ARCH.
EOF
}
# Called whenever a new symbol checksum is obtained
# cb_checksum ARCH SYMBOL CHECKSUM FILE SYMVERSIONS_FILE SYMTYPES_FILE
cb_checksum() {
local arch="$1"
local symbol="$2"
local file="$4"
local symtypes="$6"
if [ ! -e $REDHAT/kabi/kabi-module/kabi_$arch/.$symbol ]; then
echo "Reference file for $symbol on $arch not found."
return
fi
$REDHAT/kabi/symtypes diff -s $symbol \
$REDHAT/kabi/kabi-module/kabi_$arch/.$symbol $symtypes
symref=${file:0:-1}symref
rm -f $symref || :
ln -s $(realpath $REDHAT/kabi/kabi-module/kabi_$arch/.$symbol) $symref
make -s ${MAKE_ARGS[@]} $symtypes 2>&1 | grep "warning: $symbol:" || :
rm -f $symref || :
}
# Called whenever the generate command finished successfully
cb_ready() {
:
}
cd "$(git rev-parse --show-toplevel)"
REDHAT=${REDHAT:-$(pwd)/redhat/}
# Generate new symbol checksums and symvers files
. $REDHAT/kabi/symtype-generate