home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 December / CHIPNET Aralık 1997.iso / linux / redhat / misc / src / trees / updsupp < prev   
Encoding:
Text File  |  1997-08-11  |  1.7 KB  |  81 lines

  1. #!/bin/sh
  2.  
  3. LIBS="ld-linux.so libc.so libcom_err.so libe2p.so libext2fs.so libuuid"
  4. GZLIBS="libext2fs.so"
  5. BINS="gzip ls mke2fs ash open fdisk badblocks rm"
  6. VIRTBINS="cat chmod lsmod mkdir mknod mount rm umount"
  7. ZBINS="insmod install2"
  8.  
  9. PCMCIA_SBINS="cardmgr probe"
  10. MODLINKS="block cdrom misc net scsi"
  11.  
  12. export PATH=$PATH:/sbin:/usr/sbin
  13.  
  14. usage () {
  15.     echo "updsupp: <imagetree> <kernel-version>" 2>&1
  16.     exit 1
  17. }
  18.  
  19. if [ -z "$1" -o -z "$2" ]; then
  20.     usage
  21. fi
  22.  
  23. if [ ! -d "$1/misc/src/install" ]; then
  24.     echo "$1 is not a valid directory" 2>&1
  25.     usage
  26. fi
  27.  
  28. if [ ! -d "/lib/modules/$2/pcmcia" ]; then
  29.     echo "$2 is not a valid modules directory" 2>&1
  30.     usage
  31. fi
  32.  
  33. PATH=$1/misc/src/install:/usr/sbin:/usr/bin:/bin:/sbin
  34.  
  35. rm supp/lib/*
  36. ln -s /tmp supp/lib/modules
  37. for n in $LIBS; do
  38.     # this preserves hard links
  39.     (cd /lib; tar cSpf - ${n}*) | (cd supp/lib; tar xSpf -)
  40. done
  41.  
  42. (cd supp/lib; file * | grep 'shared object' | cut -d: -f1 | xargs strip)
  43.  
  44. for n in $BINS; do
  45.     rm -f supp/usr/bin/$n
  46.     cp -af `which $n` supp/usr/bin
  47. done
  48.  
  49. for n in $VIRTBINS; do
  50.     ln -sf /sbin/install2 supp/usr/bin/$n
  51. done
  52.  
  53. for n in $ZBINS; do
  54.     rm -f supp/usr/bin/$n
  55.     strip `which $n`
  56.     gzip -9 < `which $n` > supp/usr/bin/$n
  57.     chmod 755 supp/usr/bin/$n
  58. done
  59.  
  60. rm -rf pcmcia/lib/modules
  61. mkdir pcmcia/lib/modules
  62. mkdir pcmcia/lib/modules/$2
  63. mkdir pcmcia/lib/modules/$2/pcmcia
  64.  
  65. cp /lib/modules/$2/pcmcia/* pcmcia/lib/modules/$2/pcmcia
  66.  
  67. # unfotunately, this breaks things
  68. # strip --strip-unneeded pcmcia/lib/modules/$2/pcmcia/*.o
  69.  
  70. for n in $MODLINKS; do 
  71.     ln -s /modules pcmcia/lib/modules/$2/$n
  72. done
  73.  
  74. for n in $PCMCIA_SBINS; do
  75.     rm -f pcmcia/sbin/$n
  76.     cp -af /sbin/$n pcmcia/sbin/$n
  77. done
  78.  
  79. rm supp/pcmcia.cgz
  80. (cd pcmcia; find . -type f -o -type l | cpio -H crc -o) | gzip -9 > supp/pcmcia.cgz
  81.