home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / usr / lib / rpm / symset-table < prev    next >
Text File  |  2006-11-29  |  807b  |  36 lines

  1. #! /bin/sh
  2.  
  3. # Create a table of all symbol sets defined in all /boot/symsets*.tar.gz
  4. # files.
  5. #
  6. # Format:
  7. #   kernelrelease/modver/symbol <tab> symset <tab> symset_hash
  8. #
  9. # This table is needed for computing the appropriate Requires: tags for
  10. # kernel module packages.
  11.  
  12. tmpdir=$(mktemp -t -d ${0##*/}.XXXXXX)
  13. trap "cd / ; rm -rf $tmpdir" EXIT
  14. cd $tmpdir
  15.  
  16. shopt -s nullglob
  17. for symsets in /boot/symsets-*.tar.gz; do
  18.     zcat $symsets \
  19.     | tar xf -
  20. done
  21.  
  22. for symsets in *; do
  23.     krel=${symsets#symsets-}
  24.     for symset in $symsets/*; do
  25.     class=${symset##*/} ; class=${class%.*}
  26.     hash=${symset##*.}
  27.     awk '
  28.     BEGIN { FS = "\t" ; OFS = "\t" }
  29.     { sub(/0x0*/, "", $1)
  30.       print krel "/" $1 "/" $2, class, hash }
  31.     ' krel="$krel" class="$class" hash="$hash" $symset
  32.     done
  33. done
  34.  
  35. # vim:shiftwidth=4 softtabstop=4
  36.