home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / rebaseall < prev    next >
Text File  |  2004-02-17  |  2KB  |  90 lines

  1. #!/bin/bash
  2.  
  3. #
  4. # Copyright (c) 2003 Jason Tishler
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # (at your option) any later version.
  10. #
  11. # A copy of the GNU General Public License can be found at
  12. # http://www.gnu.org/
  13. #
  14. # Written by Jason Tishler <jason@tishler.net>
  15. #
  16. # $Id: rebaseall,v 1.3 2003/02/07 19:39:33 jt Exp $
  17. #
  18.  
  19. # Define constants
  20. ProgramName=$(basename $0)
  21. ProgramOptions='b:o:v'
  22. DefaultBaseAddress=0x70000000
  23. DefaultOffset=0x10000
  24. DefaultVerbose=
  25.  
  26. # Define functions
  27. usage()
  28. {
  29.     echo "usage: $ProgramName [-b BaseAddress] [-o Offset] [-v]"
  30.     exit 1
  31. }
  32.  
  33. cleanup()
  34. {
  35.     rm -f $TmpFile
  36.     exit 0
  37. }
  38.  
  39. # Set traps
  40. trap cleanup HUP INT TERM
  41.  
  42. # Set defaults
  43. BaseAddress=$DefaultBaseAddress
  44. Offset=$DefaultOffset
  45. Verbose=$DefaultVerbose
  46.  
  47. # Parse command line arguments
  48. while getopts $ProgramOptions Option $*
  49. do
  50.     case $Option in
  51.     b)
  52.     BaseAddress=$OPTARG;;
  53.     o)
  54.     Offset=$OPTARG;;
  55.     v)
  56.     Verbose=-v;;
  57.     \?)
  58.     usage;;
  59.     esac
  60. done
  61.  
  62. # Set temp directory
  63. TmpDir=${TMP:-${TEMP:-/tmp}}
  64.  
  65. # Validate temp directory
  66. if [ ! -d $TmpDir ]
  67. then
  68.     echo "$ProgramName: $TmpDir is not a directory"
  69.     exit 2
  70. fi
  71. if [ ! -w $TmpDir ]
  72. then
  73.     echo "$ProgramName: $TmpDir is not writable"
  74.     exit 2
  75. fi
  76.  
  77. # Set temp file
  78. TmpFile=$TmpDir/rebase.lst
  79.  
  80. # Create rebase list
  81. # FIXME: Remove ugly Apache hack ASAP
  82. zcat /etc/setup/*.lst.gz | grep 'dll$' |
  83.     sed -e '/cygwin1.dll$/d' -e 's/^/\//' -e 's/apache\/new/apache/' >$TmpFile
  84.  
  85. # Rebase files
  86. rebase $Verbose -d -b $BaseAddress -o $Offset -T $TmpFile
  87.  
  88. # Clean up
  89. cleanup
  90.