mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-16 12:30:13 +01:00
233 lines
5.2 KiB
Perl
233 lines
5.2 KiB
Perl
|
#!c:\perl\bin\perl
|
||
|
|
||
|
# This script creates a setuptmp.bat file that needs to be run
|
||
|
# to setup the proper environment variables. This is because
|
||
|
# environment variables set inside perl scripts will be unset when
|
||
|
# the perl script quits.
|
||
|
#
|
||
|
# This does not happen with .bat files.
|
||
|
#
|
||
|
# This script also creates a unsetup.bat file to undo what
|
||
|
# setuptmp.bat sets.
|
||
|
|
||
|
use Cwd;
|
||
|
|
||
|
if ($#ARGV < 0) { die "$0 requires an argument!\n"; }
|
||
|
|
||
|
# set variables to be used to create the tmp .bat files
|
||
|
# to set environment variables.
|
||
|
$Path_Saved = $ENV{PATH};
|
||
|
$Path = $ENV{PATH};
|
||
|
|
||
|
$Product_User_Agent = "4.72 (en)";
|
||
|
$Product_Version = "4.72";
|
||
|
$Product_Version_Info = "4.72.0";
|
||
|
$Product_Version_Name = "472";
|
||
|
$RSH_Box = "grok";
|
||
|
$SMTP_Host = "grok";
|
||
|
$ISScriptsDir = cwd(); # scripts directory path
|
||
|
$Zigbert = "\\\\lingcod\\certs\\bin\\signtool.exe";
|
||
|
$SecurityDescription = "Netscape Communications's VeriSign, Inc. ID #2";
|
||
|
$ParentCertsPath = "\\\\lingcod\\certs\\keys\\javabase.021025";
|
||
|
$CertsPath = "\\\\lingcod\\certs\\asd.ns6";
|
||
|
|
||
|
# get environment vars
|
||
|
$userAgent = $ENV{WIZ_userAgent};
|
||
|
$userAgentShort = $ENV{WIZ_userAgentShort};
|
||
|
$xpinstallVersion = $ENV{WIZ_xpinstallVersion};
|
||
|
$nameCompany = $ENV{WIZ_nameCompany};
|
||
|
$nameProduct = $ENV{WIZ_nameProduct};
|
||
|
$nameProductInternal = $ENV{WIZ_nameProductInternal};
|
||
|
$fileMainExe = $ENV{WIZ_fileMainExe};
|
||
|
$fileUninstall = $ENV{WIZ_fileUninstall};
|
||
|
|
||
|
$BuildDir = "binary";
|
||
|
$SetupName = "NSSetup.exe";
|
||
|
$ScriptName = "install.js";
|
||
|
$save_cwd = cwd();
|
||
|
$DEPTH = "..\\..\\..";
|
||
|
|
||
|
# append_path($Path, "\\\\lingcod\\certs\\bin");
|
||
|
|
||
|
if($ENV{MOZCONFIG} eq "") # if we're defining mozconfig, we're using gmake
|
||
|
{
|
||
|
if($ENV{MOZ_DEBUG} eq "")
|
||
|
{
|
||
|
$Dist = "$DEPTH\\dist\\win32_o.obj";
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$Dist = "$DEPTH\\dist\\win32_d.obj";
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$Dist = "$DEPTH\\dist";
|
||
|
}
|
||
|
|
||
|
set_JarName();
|
||
|
map_all();
|
||
|
create_dir_structure();
|
||
|
sign_files();
|
||
|
|
||
|
if(-e $BuildDir)
|
||
|
{
|
||
|
if(system("perl $ISScriptsDir\\rdir.pl $BuildDir") != 0)
|
||
|
{
|
||
|
exit(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
print "done!\n";
|
||
|
chdir($save_cwd);
|
||
|
exit(0);
|
||
|
# end
|
||
|
|
||
|
sub append_path
|
||
|
{
|
||
|
if($_[0] eq "")
|
||
|
{
|
||
|
$_[0] = $_[1];
|
||
|
}
|
||
|
elsif($_[1] ne "")
|
||
|
{
|
||
|
$_[0] = $_[1] . ";" . $_[0];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
sub map_all
|
||
|
{
|
||
|
print "\n";
|
||
|
print "verifying connection to \\\\lingcod\\certs...\n";
|
||
|
if(!(-e "\\\\lingcod\\certs\\bin"))
|
||
|
{
|
||
|
print "\nError: \\\\lingcod\\certs\\bin does not exist!\n";
|
||
|
exit(1);
|
||
|
}
|
||
|
if(!(-e $ParentCertsPath))
|
||
|
{
|
||
|
print "\nError: $ParentCertsPath does not exist!\n";
|
||
|
exit(1);
|
||
|
}
|
||
|
|
||
|
if(-e $CertsPath)
|
||
|
{
|
||
|
system("echo y | del $CertsPath");
|
||
|
}
|
||
|
print "system(\"xcopy /F $ParentCertsPath\\*.* $CertsPath\\\")\;\n";
|
||
|
system("xcopy /F $ParentCertsPath\\*.* $CertsPath\\");
|
||
|
print "done!\n";
|
||
|
}
|
||
|
|
||
|
sub print_usage
|
||
|
{
|
||
|
print "\nusage: $0 <lang> <bit> <product>\n";
|
||
|
print "\n";
|
||
|
print " lang : en\n";
|
||
|
print " ja\n";
|
||
|
print "\n";
|
||
|
print " bit : 16\n";
|
||
|
print " 32\n";
|
||
|
print "\n";
|
||
|
print " product: nova\n";
|
||
|
print " gromit\n";
|
||
|
print " ratbert\n";
|
||
|
}
|
||
|
|
||
|
sub set_JarName
|
||
|
{
|
||
|
$JarName = "NSSetup.jar";
|
||
|
}
|
||
|
|
||
|
sub sign_files
|
||
|
{
|
||
|
print "\nsigning files...\n";
|
||
|
|
||
|
if(-e "deliver\\$JarName")
|
||
|
{
|
||
|
unlink "deliver\\$JarName";
|
||
|
}
|
||
|
if(-e "$BuildDir\\META-INF")
|
||
|
{
|
||
|
if(system("perl $ISScriptsDir\\rdir.pl $BuildDir\\META-INF") != 0)
|
||
|
{
|
||
|
exit(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if(system("$Zigbert -i$ScriptName -d$CertsPath -k\"$SecurityDescription\" -p$ARGV[0] $BuildDir") != 0)
|
||
|
{
|
||
|
print "error trying to sign $BuildDir\n";
|
||
|
exit(1);
|
||
|
}
|
||
|
|
||
|
chdir($BuildDir);
|
||
|
print "\ncreating $JarName\n";
|
||
|
if(system("zip -9 -r $JarName *") != 0)
|
||
|
{
|
||
|
chdir("..");
|
||
|
print "error trying to create $JarName\n";
|
||
|
exit(1);
|
||
|
}
|
||
|
chdir("..");
|
||
|
|
||
|
if(!(-e "$Dist\\install"))
|
||
|
{
|
||
|
mkdir ("$Dist\\install",0775);
|
||
|
}
|
||
|
$xcopy_cmd = "copy $BuildDir\\$JarName $Dist\\install";
|
||
|
if(system($xcopy_cmd) != 0)
|
||
|
{
|
||
|
print "$xcopy_cmd failed!\n";
|
||
|
{
|
||
|
exit(1);
|
||
|
}
|
||
|
}
|
||
|
unlink "$BuildDir\\$JarName";
|
||
|
}
|
||
|
|
||
|
sub create_dir_structure
|
||
|
{
|
||
|
print "creating build structure...\n";
|
||
|
|
||
|
if(-e $BuildDir)
|
||
|
{
|
||
|
if(system("perl $ISScriptsDir\\rdir.pl $BuildDir") != 0)
|
||
|
{
|
||
|
exit(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if(!(-e "$BuildDir"))
|
||
|
{
|
||
|
mkdir ("$BuildDir",0775);
|
||
|
}
|
||
|
$xcopy_cmd = "copy $Dist\\install\\stub\\$SetupName $BuildDir";
|
||
|
if(system($xcopy_cmd) != 0)
|
||
|
{
|
||
|
print "$xcopy_cmd failed!\n";
|
||
|
exit(1);
|
||
|
}
|
||
|
$xcopy_cmd = "copy setupjar.js $BuildDir\\install.js";
|
||
|
if(system($xcopy_cmd) != 0)
|
||
|
{
|
||
|
print "$xcopy_cmd failed!\n";
|
||
|
exit(1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
sub ParseUserAgentShort()
|
||
|
{
|
||
|
my($aUserAgent) = @_;
|
||
|
my($aUserAgentShort);
|
||
|
|
||
|
@spaceSplit = split(/ /, $aUserAgent);
|
||
|
if($#spaceSplit >= 0)
|
||
|
{
|
||
|
$aUserAgentShort = $spaceSplit[0];
|
||
|
}
|
||
|
|
||
|
return($aUserAgentShort);
|
||
|
}
|
||
|
|