#use warnings;
$emsVersion = readEmsVersion("emsversion.ini");
## decide if call silentlyInstallPanINM.pl
$autoUpdate = "no";
my $lMainDir = "C:\\Panorama";
my $lFileDir = "$lMainDir\\Panorama_V$emsVersion";
my $rFileDir = "\\\\dtsmbsvr\\replica\\EMS\\Panorama_V$emsVersion";
#my $rFileDir = "$lMainDir\\temp\\Panorama_V$emsVersion";
my $lFilename = "$lFileDir\\cdrom\\ems.$emsVersion.tar.Z";
my $rFilename = "$rFileDir\\cdrom\\ems.$emsVersion.tar.Z";
#my $lFilename = "$lFileDir\\cdrom\\ReleaseNotes.doc";
#my $rFilename = "$rFileDir\\cdrom\\ReleaseNotes.doc";
open CHKLOG, "> checkRelease.log"
or die "Can't create checkRelease.log: $!";
#exit unless &fileExist($rFilename);
&quit unless &fileExist($rFilename);
system "mkdir $lMainDir" unless &fileExist($lMainDir);
if (&fileExist($lFilename)){
($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $latime, $lmtime, $lctime, $blksize, $blocks) = stat($lFilename);
($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $ratime, $rmtime, $rctime, $blksize, $blocks) = stat($rFilename);
my $lmdate = localtime $lmtime;
my $rmdate = localtime $rmtime;
&printLog ("Local file name is $lFilename\n");
&printLog ("Remote file name is $rFilename\n");
&printLog ("Local modified time is $lmtime\n");
&printLog ("Remote modified time is $rmtime\n");
&printLog ("Local modified date is $lmdate\n");
&printLog ("Remote modified date is $rmdate\n");
# check if need to update
if ($lmtime == $rmtime){
&printLog ("Local modified time equals to remote modified time. Don't need update release $emsVersion\nExit...\n");
#exit;
&quit;
}else{
# The source file is newer than destination. Replace..
&printLog ("The source file is newer than destination. Replace ems.$emsVersion.tar.Z... \n");
#my $msg = `xcopy /Y $rFilename $lFilename`;
my $msg = `C:\\WINDOWS\\system32\\xcopy.exe $rFilename $lFilename /Y`;
&printLog ($msg);
system "ftp.pl";
}
}else{
#copy ...
&printLog ("Copy $rFileDir to $lFileDir ...\n");
my $msg = `C:\\WINDOWS\\system32\\xcopy.exe $rFileDir $lFileDir /I /E /Y`;
&printLog ($msg);
system "ftp.pl";
}
if ($autoUpdate =~/yes|y/i){
&printLog ("Call silentlyInstallPanINM.pl ...\n");
system "silentlyInstallPanINM.pl";
}
close CHKLOG;
system "email.pl";
sub printLog {
my ($msg) = @_;
print $msg;
print CHKLOG $msg;
} # end sub printLog
sub readEmsVersion {
my ($filename, $emsVersion) = @_;
open FILE, $filename
or die "Can't open the file: $filename! ($!)";
chomp($emsVersion = <FILE>);
close FILE;
$emsVersion;
} # end sub readEmsVersion
sub fileExist {
my ($filename) = @_;
if(-e $filename){
-1;
}else{
&printLog ("Can't find the file: $filename\n");
0;
}
} # end sub fileExist
sub quit {
system "email.pl";
exit;
} # end sub quit