Blame SOURCES/symset-table

a008c1
#! /bin/sh
a008c1
a008c1
# Create a table of all symbol sets defined in all /boot/symsets*.tar.gz
a008c1
# files.
a008c1
#
a008c1
# Format:
a008c1
#   kernelrelease/modver/symbol <tab> symset <tab> symset_hash
a008c1
#
a008c1
# This table is needed for computing the appropriate Requires: tags for
a008c1
# kernel module packages.
a008c1
a008c1
tmpdir=$(mktemp -t -d ${0##*/}.XXXXXX)
a008c1
trap "cd / ; rm -rf $tmpdir" EXIT
a008c1
cd $tmpdir
a008c1
a008c1
shopt -s nullglob
a008c1
for symsets in /boot/symsets-*.tar.gz; do
a008c1
    zcat $symsets \
a008c1
    | tar xf -
a008c1
done
a008c1
a008c1
for symsets in /usr/src/kernels/*/symsets-*.tar.gz; do
a008c1
    zcat $symsets \
a008c1
    | tar xf -
a008c1
done
a008c1
a008c1
for symsets in *; do
a008c1
    krel=${symsets#symsets-}
a008c1
    for symset in $symsets/*; do
a008c1
	class=${symset##*/} ; class=${class%.*}
a008c1
	hash=${symset##*.}
a008c1
	awk '
a008c1
	BEGIN { FS = "\t" ; OFS = "\t" }
a008c1
	{ sub(/0x0*/, "", $1)
a008c1
	  print krel "/" $1 "/" $2, class, hash }
a008c1
	' krel="$krel" class="$class" hash="$hash" $symset
a008c1
    done
a008c1
done
a008c1
a008c1
# vim:shiftwidth=4 softtabstop=4