home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / trees / updsupp < prev   
Text File  |  1997-09-30  |  2KB  |  97 lines

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