home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 August / Chip_2003-08_cd1.bin / zkuste / macos / Files / iChatAV.dmg / iChatAVBeta.pkg / Contents / Resources / preflight < prev    next >
Text File  |  2003-06-09  |  3KB  |  89 lines

  1. #!/usr/bin/perl
  2.  
  3. sub MoveAsideNonRevertable($);
  4. sub MoveAsideRevertable($);
  5. sub CopyAsideRevertable($);
  6.  
  7. my $TEMP_DIR         = $ARGV[2] . "/private/tmp/fpuzhpxf2/";
  8. my $REVERTER_DIR     = $TEMP_DIR . "/iChatBetaReverter.pkg/";
  9. my $REVERTER_ROOT     = $TEMP_DIR . "/Root/";
  10. my $RECYCLYING         = $TEMP_DIR . "/Recycling/";
  11.  
  12. mkdir $TEMP_DIR;
  13. mkdir $REVERTER_DIR;
  14. mkdir $REVERTER_ROOT;
  15. mkdir $RECYCLYING;
  16.  
  17. ########################################################################################
  18.  
  19. MoveAsideNonRevertable("$ARGV[2]/Library/Audio/Plug-Ins/HAL/iSightAudio.plugin/");
  20. MoveAsideNonRevertable("$ARGV[2]/System/Library/Extensions/Apple_iSight.kext/");
  21. MoveAsideNonRevertable("$ARGV[2]/System/Library/QuickTime/QuickTimeIIDCDigitizer.component/");
  22.  
  23. MoveAsideRevertable("$ARGV[2]/Applications/iChat.app");
  24. MoveAsideRevertable("$ARGV[2]/System/Library/CoreServices/Menu Extras/iChat.menu/");
  25. MoveAsideRevertable("$ARGV[2]/System/Library/PrivateFrameworks/InstantMessage.framework/");
  26. MoveAsideRevertable("$ARGV[2]/System/Library/PrivateFrameworks/VideoConference.framework/");
  27. MoveAsideRevertable("$ARGV[2]/System/Library/Components/VCH263Codec.component/");
  28. CopyAsideRevertable("$ARGV[2]/System/Library/CoreServices/SystemUIServer.app");
  29.  
  30. ########################################################################################
  31.  
  32. exit(0);
  33.  
  34.  
  35. ########################################################################################
  36. ########################################################################################
  37. ########################################################################################
  38. ########################################################################################
  39. ########################################################################################
  40. ########################################################################################
  41.  
  42. sub MoveAsideNonRevertable($)
  43. {
  44.     my $THING = shift;
  45.     
  46.     system("/bin/mv \"$THING\" \"$RECYCLYING\"");
  47. }
  48.  
  49. sub MoveAsideRevertable($)
  50. {
  51. use File::Path;
  52. use File::Spec;
  53.  
  54.     my $THING = shift;
  55.     $THING = File::Spec->canonpath($THING);
  56.     
  57.     my @PATHARRAY = File::Spec->splitdir($THING);
  58.     pop @PATHARRAY;
  59.     my $PATH = File::Spec->catdir(@PATHARRAY);
  60.     
  61.     $PATH = $REVERTER_ROOT . $PATH;
  62.     $PATH = File::Spec->canonpath($PATH);
  63.     
  64.     mkpath($PATH);
  65.     
  66.     system("/bin/mv \"$THING\" \"$PATH\"");
  67. }
  68.  
  69. sub CopyAsideRevertable($)
  70. {
  71. use File::Path;
  72. use File::Spec;
  73.  
  74.     my $THING = shift;
  75.     $THING = File::Spec->canonpath($THING);
  76.     
  77.     my @PATHARRAY = File::Spec->splitdir($THING);
  78.     pop @PATHARRAY;
  79.     my $PATH = File::Spec->catdir(@PATHARRAY);
  80.     
  81.     $PATH = $REVERTER_ROOT . $PATH;
  82.     $PATH = File::Spec->canonpath($PATH);
  83.     
  84.     mkpath($PATH);
  85.     
  86.     system("/bin/cp -r \"$THING\" \"$PATH\"");
  87. }
  88.  
  89.