#! /usr/bin/perl -w # # Copyright (c) 1997-2002 The Protein Laboratory, University of Copenhagen # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # $Id: ms_install.pl,v 1.9 2005/10/13 17:22:50 dk Exp $ # BEGIN { die <$dst" or abort "Cannot create $dst: $!"; print DSTPL <) { next if $filestart && /^\#\!/; $filestart = 0; print DSTPL; } close SRCPL; close DSTPL; } elsif ( $mswin32) { print "Installing $dst ...\n"; $dst =~ s/bat$/pl/; abort "Error:$!\n" unless copy $src, $dst; my $i = system("pl2bat $dst"); $src = $dst; $dst =~ s/pl$/bat/; abort "Error: pl2bat $dst failed\n" unless -f $dst; unlink $src; } else { open SRCPL, "<$src" or abort "Cannot open $src: $!"; open DSTPL, ">$dst" or abort "Cannot create $dst: $!"; print DSTPL <) { next if $filestart && /^\#\!/; $filestart = 0; print DSTPL; } close SRCPL; close DSTPL; } } if ( open F, "> install.log") { print F "f:$_\n" for @instfiles; print F "d:$_\n" for @instdir; close F; } else { print "(!) Unable to write 'install.log' ($!), uninstall will be unavailable\n"; } print <) { chomp; next unless m/^(.)\:(.*)$/; print "Deleting $2...\n"; if ( $1 eq 'f') { unlink $2; } elsif ( $1 eq 'd') { rmdir $2; push @dirs, $2; } } close F; rmdir $_ for @dirs; rmdir $_ for @dirs; print "Done.\n"; }