|
|
|
@@ -1,6 +1,3 @@
|
|
|
|
|
:
|
|
|
|
|
eval 'exec perl -wS $0 ${1+"$@"}'
|
|
|
|
|
if 0;
|
|
|
|
|
#*************************************************************************
|
|
|
|
|
#
|
|
|
|
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
|
|
@@ -33,139 +30,58 @@ eval 'exec perl -wS $0 ${1+"$@"}'
|
|
|
|
|
#*************************************************************************
|
|
|
|
|
|
|
|
|
|
use File::Path;
|
|
|
|
|
use File::Copy;
|
|
|
|
|
|
|
|
|
|
### globals ###
|
|
|
|
|
$branddir = $ARGV[0];
|
|
|
|
|
$userinstalldir = $ARGV[1];
|
|
|
|
|
$buildid = $ARGV[2];
|
|
|
|
|
|
|
|
|
|
$is_debug = 0;
|
|
|
|
|
|
|
|
|
|
$gui = $ENV{GUI};
|
|
|
|
|
$cygwin = "cygwin";
|
|
|
|
|
|
|
|
|
|
if ($^O =~ /cygwin/) {
|
|
|
|
|
$gui = $cygwin;
|
|
|
|
|
if ($ENV{GUI} ne "UNX") {
|
|
|
|
|
$quickstart = $branddir . "program/quickstart.exe";
|
|
|
|
|
print "kill $quickstart\n";
|
|
|
|
|
unlink $quickstart or die "cannot unlink $fullquickstart_path";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (($gui eq "UNX") or ($gui eq $cygwin)) {
|
|
|
|
|
$pathslash = "/";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
$pathslash = "\\";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#### Hardly coded path for
|
|
|
|
|
# \share\registry\data\org\openoffice\Office\Jobs.xcu
|
|
|
|
|
|
|
|
|
|
$jobs_XML_Path = "share" . $pathslash . "registry" . $pathslash . "data" . $pathslash . "org" . $pathslash . "openoffice" . $pathslash . "Office" . $pathslash . "Jobs.xcu";
|
|
|
|
|
|
|
|
|
|
# \user\registry\data\org\openoffice\
|
|
|
|
|
|
|
|
|
|
$User_Path = "user" . $pathslash . "registry" . $pathslash . "data" . $pathslash . "org" . $pathslash . "openoffice" . $pathslash;
|
|
|
|
|
|
|
|
|
|
# \user\registry\data\org\openoffice\Office\
|
|
|
|
|
|
|
|
|
|
$User_Office_Path = $User_Path . "Office" . $pathslash;
|
|
|
|
|
|
|
|
|
|
# \user\registry\data\org\openoffice\Office\OOoImprovement
|
|
|
|
|
|
|
|
|
|
$OOoImprovement_Path = $User_Office_Path . "OOoImprovement" . $pathslash;
|
|
|
|
|
|
|
|
|
|
$common_XML = "Common.xcu";
|
|
|
|
|
$setup_XML = "Setup.xcu";
|
|
|
|
|
$oooimprovement_XML = "Settings.xcu";
|
|
|
|
|
|
|
|
|
|
# $(INPATH)\misc\Common.xcu
|
|
|
|
|
$inpath_Common_XCU = $ENV{INPATH} . $pathslash . "misc" . $pathslash . $common_XML;
|
|
|
|
|
|
|
|
|
|
### main ###
|
|
|
|
|
|
|
|
|
|
$idStr = ' $Revision: 1.5 $ ';
|
|
|
|
|
$idStr =~ /Revision:\s+(\S+)\s+\$/
|
|
|
|
|
? ($cpflat2minor_rev = $1) : ($cpflat2minor_rev = "-");
|
|
|
|
|
|
|
|
|
|
if ( ($#ARGV >= 3) ) {
|
|
|
|
|
$ARGV[0] =~ s/\"//g;
|
|
|
|
|
$ARGV[1] =~ s/\"//g;
|
|
|
|
|
$ARGV[2] =~ s/\"//g;
|
|
|
|
|
$ARGV[3] =~ s/\"//g;
|
|
|
|
|
chop($ARGV[0]);
|
|
|
|
|
chop($ARGV[1]);
|
|
|
|
|
chop($ARGV[2]);
|
|
|
|
|
chop($ARGV[3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ( ! ( ($#ARGV >= 4) && $ARGV[0] && $ARGV[1] && $ARGV[2] && $ARGV[3] && (-d $ARGV[3]) && $ARGV[4] ) ) {
|
|
|
|
|
print "Usage: config <basispath> <brandpath> <userinstallpath> <datapath> <buildid>\n" ;
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$basisdir = $ARGV[0];
|
|
|
|
|
$branddir = $ARGV[1];
|
|
|
|
|
$userinstalldir = $ARGV[2];
|
|
|
|
|
$datapath = $ARGV[3];
|
|
|
|
|
$buildid = $ARGV[4];
|
|
|
|
|
|
|
|
|
|
$fullquickstart_path = $branddir . "program" . $pathslash . "quickstart.exe";
|
|
|
|
|
|
|
|
|
|
print "patching config ... \n";
|
|
|
|
|
if (!-d "$userinstalldir$User_Office_Path") {
|
|
|
|
|
mkpath("$userinstalldir$User_Office_Path", 0, 0777);
|
|
|
|
|
}
|
|
|
|
|
if (!-d "$userinstalldir$OOoImprovement_Path") {
|
|
|
|
|
mkpath("$userinstalldir$OOoImprovement_Path", 0, 0777);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# copy Common.xcu
|
|
|
|
|
print "Patching Common.xcu\n" if $is_debug;
|
|
|
|
|
PatchCommonXcu($buildid);
|
|
|
|
|
print "cp $inpath_Common_XCU $userinstalldir$User_Office_Path$common_XML\n" if $is_debug;
|
|
|
|
|
copy ("$inpath_Common_XCU", "$userinstalldir$User_Office_Path$common_XML");
|
|
|
|
|
|
|
|
|
|
# copy OOoImprovement/Settings.xcu
|
|
|
|
|
|
|
|
|
|
print "cp $datapath$oooimprovement_XML $userinstalldir$OOoImprovement_Path$oooimprovement_XML\n" if $is_debug;
|
|
|
|
|
copy ("$datapath$oooimprovement_XML", "$userinstalldir$OOoImprovement_Path$oooimprovement_XML");
|
|
|
|
|
|
|
|
|
|
# copy Setup.xcu
|
|
|
|
|
|
|
|
|
|
print "cp $datapath$setup_XML $userinstalldir$User_Path$setup_XML\n" if $is_debug;
|
|
|
|
|
copy ("$datapath$setup_XML", "$userinstalldir$User_Path$setup_XML");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# quickstarter loeschen
|
|
|
|
|
if ($gui ne "UNX") {
|
|
|
|
|
print "kill $fullquickstart_path \n";
|
|
|
|
|
unlink( $fullquickstart_path ) or die "cannot unlink $fullquickstart_path";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#delete joblist
|
|
|
|
|
$fullsource_path = $basisdir . $jobs_XML_Path;
|
|
|
|
|
unlink ($fullsource_path);
|
|
|
|
|
|
|
|
|
|
exit(0);
|
|
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
sub PatchCommonXcu #17.04.2009 10:37
|
|
|
|
|
############################################################################
|
|
|
|
|
{
|
|
|
|
|
my $buildid = shift;
|
|
|
|
|
open(INFILE, "< $datapath$common_XML") || die "Can't open $datapath$common_XML (read)\n";
|
|
|
|
|
open(OUTFILE, "> $inpath_Common_XCU") || die "Can't open $inpath_Common_XCU (write)\n";
|
|
|
|
|
my $patch_next_line = 0;
|
|
|
|
|
my $value = "<value>Patch" . $buildid . "</value>\n";
|
|
|
|
|
while ( $line = <INFILE> ) {
|
|
|
|
|
if ( $patch_next_line ) {
|
|
|
|
|
print OUTFILE " $value";
|
|
|
|
|
$patch_next_line = 0;
|
|
|
|
|
} else
|
|
|
|
|
{
|
|
|
|
|
print OUTFILE $line;
|
|
|
|
|
}
|
|
|
|
|
if ( $line =~ /ReminderDate/ ) {
|
|
|
|
|
$patch_next_line = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
close(INFILE);
|
|
|
|
|
close(OUTFILE);
|
|
|
|
|
} ##PatchCommonXcu
|
|
|
|
|
$regpath = $userinstalldir . "user";
|
|
|
|
|
$regfile = $regpath . "/registrymodifications.xcu";
|
|
|
|
|
print "create $regfile\n";
|
|
|
|
|
mkpath($regpath, 0, 0777);
|
|
|
|
|
open (OUT, "> $regfile") or die "cannot open $regfile for writing";
|
|
|
|
|
print OUT << "EOF";
|
|
|
|
|
<oor:items xmlns:oor='http://openoffice.org/2001/registry'>
|
|
|
|
|
<item oor:path='/org.openoffice.Office.Common/Help/Registration'>
|
|
|
|
|
<prop oor:name='ReminderDate'>
|
|
|
|
|
<value>Patch$buildid</value>
|
|
|
|
|
</prop>
|
|
|
|
|
</item>
|
|
|
|
|
<item oor:path='/org.openoffice.Office.Common/Misc'>
|
|
|
|
|
<prop oor:name='FirstRun'>
|
|
|
|
|
<value>false</value>
|
|
|
|
|
</prop>
|
|
|
|
|
</item>
|
|
|
|
|
<item oor:path='/org.openoffice.Office.Common/Security/Scripting'>
|
|
|
|
|
<prop oor:name='MacroSecurityLevel'>
|
|
|
|
|
<value>0</value>
|
|
|
|
|
</prop>
|
|
|
|
|
<prop oor:name='OfficeBasic'>
|
|
|
|
|
<value>2</value>
|
|
|
|
|
</prop>
|
|
|
|
|
</item>
|
|
|
|
|
<item oor:path='/org.openoffice.Office.OOoImprovement.Settings/Participation'>
|
|
|
|
|
<prop oor:name='InvitationAccepted'>
|
|
|
|
|
<value>false</value>
|
|
|
|
|
</prop>
|
|
|
|
|
<prop oor:name='ShowedInvitation'>
|
|
|
|
|
<value>true</value>
|
|
|
|
|
</prop>
|
|
|
|
|
</item>
|
|
|
|
|
<item oor:path='/org.openoffice.Setup/Office'>
|
|
|
|
|
<prop oor:name='FirstStartWizardCompleted'>
|
|
|
|
|
<value>true</value>
|
|
|
|
|
</prop>
|
|
|
|
|
<prop oor:name='LicenseAcceptDate'>
|
|
|
|
|
<value>2100-01-01T00:00:00</value>
|
|
|
|
|
</prop>
|
|
|
|
|
</item>
|
|
|
|
|
</oor:items>
|
|
|
|
|
EOF
|
|
|
|
|
close OUT;
|
|
|
|
|