r=chase
Make packager understand OSes other than Windows


git-svn-id: svn://10.0.0.236/trunk@180827 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mkaply%us.ibm.com 2005-09-22 21:51:47 +00:00
parent c3d59f8a58
commit 7867d0df46
4 changed files with 75 additions and 39 deletions

View File

@ -59,7 +59,6 @@ $gDirCwd = cwd();
push(@INC, $gDirScripts);
require StageUtils;
$gOsPkg = undef;
$inProductName = undef;
$inStagingScript = undef;
$inOs = undef;
@ -89,15 +88,6 @@ if(!$inProductName || !$inOs)
PrintUsage();
}
if($inOs =~ /^win$/i)
{
$gOsPkg = "dos";
}
else
{
$gOsPkg = $inOs;
}
if(!$inStagingScript)
{
# Look for the stage script in cwd first, then look at the
@ -128,7 +118,7 @@ else
}
# This is where the stage area is actually created.
&StageProduct($inDirSrcDist, $inDirDestStage, $inProductName, $gOsPkg);
&StageProduct($inDirSrcDist, $inDirDestStage, $inProductName, $inOs);
chdir($gDirCwd);
exit(0);
@ -195,6 +185,7 @@ sub ParseArgV
++$counter;
if(($myArgv[$counter] =~ /^win$/i) ||
($myArgv[$counter] =~ /^mac$/i) ||
($myArgv[$counter] =~ /^os2$/i) ||
($myArgv[$counter] =~ /^unix$/i))
{
$inOs = $myArgv[$counter];
@ -251,7 +242,7 @@ sub PrintUsage
mozilla
* -os
win, mac, unix
win, mac, unix, os2
'*' indicates required parameters.
\n";

View File

@ -41,28 +41,42 @@ return(1);
sub StageProduct
{
my($aDirSrcDist, $aDirStage, $aProductName, $aOsPkg) = @_;
my($aDirSrcDist, $aDirStage, $aProductName, $aInOs) = @_;
my($dirDistPackagesProductName) = "$aDirSrcDist/packages/$aProductName";
my($dirStageProductName) = "$aDirStage/$aProductName";
my($dirMozRoot) = StageUtils::GetAbsPath("moz_root");
my($dirMozPackager) = StageUtils::GetAbsPath("moz_packager");
my($dirMozPackager) = StageUtils::GetAbsPath("moz_packager");
my($osPkg);
my($osPkgFile);
if($aInOs =~ /^win$/i)
{
$osPkg = "dos";
$osPkgFile = "win";
}
else
{
$osPkg = $aInOs;
$osPkgFile = $aInOs;
}
StageUtils::CleanupStage($aDirStage, $aProductName);
StageUtils::CleanupDistPackages("$aDirSrcDist/packages", $aProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/xpcom-win.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/basebrowser-installer-win.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/gre-installer-win.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/xpcom-$osPkgFile.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/basebrowser-installer-$osPkgFile.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/gre-installer-$osPkgFile.pkg", $dirDistPackagesProductName);
mkdir("$aDirStage", 0775) if (!(-e "$aDirStage"));
mkdir("$aDirStage/$aProductName", 0775) if (!(-e "$aDirStage/$aProductName"));
mkdir("$aDirStage/$aProductName/gre", 0775) if (!(-e "$aDirStage/$aProductName/gre"));
# Call pkgcp.pl on each of the package list
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist\" -d \"$dirStageProductName\" -f \"$dirDistPackagesProductName/xpcom-win.pkg\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/gre\" -f \"$dirDistPackagesProductName/basebrowser-installer-win.pkg\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/gre\" -f \"$dirDistPackagesProductName/gre-installer-win.pkg\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist\" -d \"$dirStageProductName\" -f \"$dirDistPackagesProductName/xpcom-$osPkgFile.pkg\" -o $osPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/gre\" -f \"$dirDistPackagesProductName/basebrowser-installer-$osPkgFile.pkg\" -o $osPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/gre\" -f \"$dirDistPackagesProductName/gre-installer-$osPkgFile.pkg\" -o $osPkg -v");
# consolidate the .xpt files for each xpi into one file
system("perl \"$dirMozPackager/xptlink.pl\" --source \"$aDirSrcDist\" --destination \"$dirStageProductName\" -o $aOsPkg --verbose");
system("perl \"$dirMozPackager/xptlink.pl\" --source \"$aDirSrcDist\" --destination \"$dirStageProductName\" -o $osPkg --verbose");
}

View File

@ -41,29 +41,42 @@ return(1);
sub StageProduct
{
my($aDirSrcDist, $aDirStage, $aProductName, $aOsPkg) = @_;
my($aDirSrcDist, $aDirStage, $aProductName, $aInOs) = @_;
my($dirDistPackagesProductName) = "$aDirSrcDist/packages/$aProductName";
my($dirStageProductName) = "$aDirStage/$aProductName";
my($dirMozRoot) = StageUtils::GetAbsPath("moz_root");
my($dirMozPackager) = StageUtils::GetAbsPath("moz_packager");
my($dirMozPackager) = StageUtils::GetAbsPath("moz_packager");
my($osPkg);
my($osPkgFile);
if($aInOs =~ /^win$/i)
{
$osPkg = "dos";
$osPkgFile = "win";
}
else
{
$osPkg = $aInOs;
$osPkgFile = $aInOs;
}
StageUtils::CleanupStage($aDirStage, $aProductName);
StageUtils::CleanupDistPackages("$aDirSrcDist/packages", $aProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/xpcom-win.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/pkgs-mfcembed-win", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/pkgs-mfcembed-win-supp", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/basebrowser-win-supp", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/gre-win-supp", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/xpcom-$osPkgFile.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/pkgs-mfcembed-$osPkgFile", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/pkgs-mfcembed-$osPkgFile-supp", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/basebrowser-$osPkgFile-supp", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozRoot/embedding/config/gre-$osPkgFile-supp", $dirDistPackagesProductName);
mkdir("$aDirStage", 0775) if (!(-e "$aDirStage"));
mkdir("$aDirStage/$aProductName", 0775) if (!(-e "$aDirStage/$aProductName"));
mkdir("$aDirStage/$aProductName/mfcembed", 0775) if (!(-e "$aDirStage/$aProductName/mfcembed"));
# Call pkgcp.pl on each of the package list
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist\" -d \"$dirStageProductName\" -f \"$dirDistPackagesProductName/xpcom-win.pkg\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/pkgs-mfcembed-win\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/gre_app_support\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/pkgs-mfcembed-win-supp\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/basebrowser-win-supp\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/gre-win-supp\" -o $aOsPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist\" -d \"$dirStageProductName\" -f \"$dirDistPackagesProductName/xpcom-$osPkgFile.pkg\" -o $osPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/pkgs-mfcembed-$osPkgFile\" -o $osPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/gre_app_support\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/pkgs-mfcembed-$osPkgFile-supp\" -o $osPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/basebrowser-$osPkgFile-supp\" -o $osPkg -v");
system("perl \"$dirMozPackager/pkgcp.pl\" -s \"$aDirSrcDist/bin\" -d \"$dirStageProductName/mfcembed\" -f \"$dirDistPackagesProductName/gre-$osPkgFile-supp\" -o $osPkg -v");
}

View File

@ -41,7 +41,7 @@ return(1);
sub StageProduct
{
my($aDirSrcDist, $aDirStage, $aProductName, $aOsPkg) = @_;
my($aDirSrcDist, $aDirStage, $aProductName, $aInOs) = @_;
my($dirDistPackagesProductName) = "$aDirSrcDist/packages/$aProductName";
my($dirStageProductName) = "$aDirStage/$aProductName";
my($dirMozRoot) = StageUtils::GetAbsPath("moz_root");
@ -53,24 +53,42 @@ sub StageProduct
print " aDirSrcDist : $aDirSrcDist\n";
print " aDirStage : $aDirStage\n";
print " aProductName : $aProductName\n";
print " aOsPkg : $aOsPkg\n";
print " aInOs : $aInOs\n";
print " dirDistPackagesProductName : $dirDistPackagesProductName\n";
print " dirStageProductName : $dirStageProductName\n";
print " dirMozRoot : $dirMozRoot\n";
print " dirMozPackager : $dirMozPackager\n";
}
my($osPkg);
my($osPkgFile);
if($aInOs =~ /^win$/i)
{
$osPkg = "dos";
$osPkgFile = "win";
}
elsif($aInOs =~ /^os2$/i)
{
$osPkg = "dos";
$osPkgFile = "os2";
}
else
{
$osPkg = $aInOs;
$osPkgFile = $aInOs;
}
StageUtils::CleanupStage($aDirStage, $aProductName);
StageUtils::CleanupDistPackages("$aDirSrcDist/packages", $aProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/xpcom-win.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/packages-win", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/xpcom-$osPkgFile.pkg", $dirDistPackagesProductName);
StageUtils::CopyAdditionalPackage("$dirMozPackager/packages-$osPkgFile", $dirDistPackagesProductName);
# StageUtils::GeneratePackagesFromSinglePackage($inOs, "$dirMozPackager/packages-win", $dirDistPackagesProductName);
# Call CreateStage() to create the aProductName stage dir using the packages
# in dist/packages.
StageUtils::CreateStage($aDirSrcDist, $dirStageProductName, $dirDistPackagesProductName, $aOsPkg);
StageUtils::CreateStage($aDirSrcDist, $dirStageProductName, $dirDistPackagesProductName, $osPkg);
# consolidate the .xpt files for each xpi into one file
system("perl \"$dirMozPackager/xptlink.pl\" --source \"$aDirSrcDist\" --destination \"$dirStageProductName\" -o $aOsPkg --verbose");
system("perl \"$dirMozPackager/xptlink.pl\" --source \"$aDirSrcDist\" --destination \"$dirStageProductName\" -o $osPkg --verbose");
}