home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 February
/
PCWorld_2000-02_cd.bin
/
live
/
usr
/
X11R6
/
lib
/
X11
/
cbb
/
contrib
/
fetch-latest.pl
next >
Wrap
Perl Script
|
1998-10-07
|
4KB
|
149 lines
#!/usr/bin/perl
# fetch-latest.pl - Fetch and (possibly) install the latest version of CBB
# Requires use of the "ftp" command
#
# Written by Curtis Olson. Started October 4, 1996.
#
# Copyright (C) 1996 Curtis L. Olson - curt@sledge.mn.org
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Id: fetch-latest.pl,v 1.3 1997/06/13 14:42:58 curt Exp $
# (Log is kept at end of this file)
#----------------------------------------------------------------------------
# Global variables
#----------------------------------------------------------------------------
if ( -f "/etc/debian_version" ) {
$file = "cbb-latest.deb";
} else {
$file = "cbb-latest.tar.gz";
}
$cbbhost = "ftp.me.umn.edu";
$account = "anonymous";
# get user name
$user = (getpwuid($<))[0] || $ENV{LOGNAME} || "Luser";
$host = `hostname`; chop($host);
$passwd = "$user\@$host";
$dir = "/pub/finance";
$temp = "/var/tmp";
$dest = "$temp/$file";
#----------------------------------------------------------------------------
# Fetch the latest version
#----------------------------------------------------------------------------
print "Fetching CBB from ftp://$cbbhost$dir\n\n";
chdir($temp);
$command =
"echo \"open $cbbhost\n" .
"user $account $passwd\n" .
"bin\n".
"hash\n".
"cd $dir\n" .
"get $file\n" .
"quit\n\"";
# print "$command\n";
#open(FTP, "|ftp -n -i -v -d");
open(FTP, "|ftp -n -i -d");
print FTP "open $cbbhost\n";
print FTP "user $account $passwd\n";
print FTP "bin\n";
print FTP "hash\n";
print FTP "cd $dir\n";
print FTP "get $file\n";
print FTP "quit\n";
close(FTP);
#----------------------------------------------------------------------------
# Extract ...
#----------------------------------------------------------------------------
if ( ! -f "/etc/debian_version" ) {
print "\nExtracting in $temp\n\n";
open( TAR, "tar xvzf $temp/$file|" );
while ( <TAR> ) {
# print " $_";
@files = split(/\//, $_);
$cbbver = @files[0];
}
close( TAR );
print "CBB version is $cbbver\n";
}
#----------------------------------------------------------------------------
# Install ...
#----------------------------------------------------------------------------
print "\nInstalling ...\n\n";
if ( -f "/etc/debian_version" ) {
system("dpkg -i $dest");
} else {
chdir("$temp/$cbbver");
system("make install");
}
#----------------------------------------------------------------------------
# Cleanup
#----------------------------------------------------------------------------
chdir("/");
unlink("$temp/$file");
if ( ! -f "/etc/debian_version" ) {
if ( $cbbver =~ m/^cbb/ ) {
# if the untar succeeded
system("rm -rf $temp/$cbbver");
}
}
print "\nRetreival and Installation finished.\n";
print "If the installation succeeded, you should immediately exit and and rerun CBB.\n";
print "This script is called \"fetch-latest.pl\" and can be run\n";
print "independently. It is located in the contrib directory.\n\n";
print "Press return to exit: ";
$junk = <>;
#----------------------------------------------------------------------------
# $Log: fetch-latest.pl,v $
# Revision 1.3 1997/06/13 14:42:58 curt
# Fetch the latest debian package instead if you are running on a debian system.
#
# Revision 1.2 1996/10/04 19:48:28 curt
# Added a script to automatically fetch and install the latest version of CBB.
#
# Revision 1.1 1996/10/04 19:22:09 curt
# Initial revision.
#