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