jl158 merging with jl154
This commit is contained in:
commit
fac5928edd
6 changed files with 135 additions and 125 deletions
|
@ -43,6 +43,8 @@ Module gid_Module_Root_Brand
|
|||
gid_Brand_Dir_Share_C05_Faq,
|
||||
gid_Brand_Dir_Share_Config,
|
||||
gid_Brand_Dir_Share_Extension,
|
||||
gid_Brand_Dir_Share_Extensions,
|
||||
gid_Brand_Dir_Share_Prereg,
|
||||
gid_Brand_Dir_Share_Uno_Packages,
|
||||
gid_Brand_Dir_Share_Uno_Packages_Cache,
|
||||
gid_Brand_Dir_Share_Registry,
|
||||
|
@ -97,7 +99,8 @@ Module gid_Module_Root_Brand
|
|||
gid_Brand_File_Share_Xdg_Printeradmin,
|
||||
gid_Brand_File_Share_Xdg_QStart,
|
||||
gid_Brand_File_Share_Xdg_StartCenter,
|
||||
gid_Brand_File_Share_Xdg_Writer);
|
||||
gid_Brand_File_Share_Xdg_Writer,
|
||||
gid_Brand_File_Txt_Package);
|
||||
Unixlinks = (gid_Brand_Unixlink_BasisLink,
|
||||
gid_Brand_Unixlink_Program,
|
||||
gid_Brand_Unixlink_Unopkg,
|
||||
|
@ -221,6 +224,12 @@ Directory gid_Brand_Dir_Share_Extensions
|
|||
DosName = "extensions";
|
||||
End
|
||||
|
||||
Directory gid_Brand_Dir_Share_Prereg
|
||||
ParentID = gid_Brand_Dir_Share;
|
||||
DosName = "prereg";
|
||||
Styles = (CREATE);
|
||||
End
|
||||
|
||||
Directory gid_Brand_Dir_Share_Extensions_Install
|
||||
ParentID = gid_Brand_Dir_Share_Extension;
|
||||
DosName = "install";
|
||||
|
@ -644,6 +653,13 @@ File gid_Brand_File_Images_Brand_Zip
|
|||
Styles = (PACKED);
|
||||
End
|
||||
|
||||
File gid_Brand_File_Txt_Package
|
||||
TXT_FILE_BODY;
|
||||
Dir = gid_Brand_Dir_Share_Extensions;
|
||||
Name = "package.txt";
|
||||
Styles = (PACKED);
|
||||
End
|
||||
|
||||
File gid_Brand_File_Share_Registry_Brand_Xcd
|
||||
TXT_FILE_BODY;
|
||||
Styles = (PACKED, SCPZIP_REPLACE);
|
||||
|
|
|
@ -461,4 +461,3 @@ ProfileItem gid_Basis_Profileitem_Version_Ooopackageversion
|
|||
Key = "OOOPackageVersion";
|
||||
Value = "${OOOPACKAGEVERSION}";
|
||||
End
|
||||
|
||||
|
|
|
@ -199,6 +199,25 @@ WindowsCustomAction gid_Customaction_Shellextensionsdll7
|
|||
Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "InstallValidate");
|
||||
End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Register_Extensions
|
||||
Name = "RegisterExtensions";
|
||||
Typ = "65";
|
||||
Source = "shlxtmsi.dll";
|
||||
Target = "RegisterExtensions";
|
||||
Inbinarytable = 1;
|
||||
Assignment1 = ("InstallExecuteSequence", "Not REMOVE=\"ALL\"", "end");
|
||||
Assignment2 = ("AdminExecuteSequence", "Not REMOVE=\"ALL\"", "end");
|
||||
End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Remove_Extensions
|
||||
Name = "RemoveExtensions";
|
||||
Typ = "65";
|
||||
Source = "shlxtmsi.dll";
|
||||
Target = "RemoveExtensions";
|
||||
Inbinarytable = 1;
|
||||
Assignment1 = ("InstallExecuteSequence", "REMOVE=\"ALL\" And Not PATCH", "FileCost");
|
||||
End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Set_Admininstall
|
||||
Name = "SetAdminInstallProperty";
|
||||
Typ = "65";
|
||||
|
@ -287,6 +306,16 @@ WindowsCustomAction gid_Customaction_Patch_InstallExchangeFiles
|
|||
Assignment2 = ("AdminExecuteSequence", "", "behind_InstallFinalize");
|
||||
End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Langpack_Register_Extensions
|
||||
Name = "RegisterExtensions";
|
||||
Typ = "65";
|
||||
Source = "lngpckinsthlp.dll";
|
||||
Target = "RegisterExtensions";
|
||||
Inbinarytable = 1;
|
||||
Assignment1 = ("InstallExecuteSequence", "", "end");
|
||||
Assignment2 = ("AdminExecuteSequence", "", "end");
|
||||
End
|
||||
|
||||
WindowsCustomAction gid_Customaction_Patch_SetFeatureState
|
||||
Name = "SetFeatureState";
|
||||
Typ = "65";
|
||||
|
|
|
@ -762,32 +762,12 @@ sub replace_many_variables_in_shellscripts
|
|||
foreach $key (keys %{$variableshashref})
|
||||
{
|
||||
my $value = $variableshashref->{$key};
|
||||
if ( ! $value =~ /.oxt/ ) { $value = lc($value); } # lowercase !
|
||||
if ( $installer::globals::issolarisbuild) { $value =~ s/\.org/org/g; } # openofficeorg instead of openoffice.org
|
||||
# $value = lc($value); # lowercase !
|
||||
# if ( $installer::globals::issolarisbuild) { $value =~ s/\.org/org/g; } # openofficeorg instead of openoffice.org
|
||||
replace_variable_in_shellscripts($scriptref, $value, $key);
|
||||
}
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Setting oxt file name variable
|
||||
#######################################
|
||||
|
||||
sub set_oxt_filename
|
||||
{
|
||||
my ($filesinpackage, $allvariables) = @_;
|
||||
|
||||
for ( my $i = 0; $i <= $#{$filesinpackage}; $i++ )
|
||||
{
|
||||
my $onefile = ${$filesinpackage}[$i];
|
||||
if ( $onefile->{'Name'} =~ /.oxt\s*$/ )
|
||||
{
|
||||
$allvariables->{'OXTFILENAME'} = $onefile->{'Name'};
|
||||
# $allvariables->{'FULLOXTFILENAME'} = $onefile->{'destination'};
|
||||
last; # only one oxt file for each rpm!
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#######################################
|
||||
# Adding shell scripts to epm file
|
||||
#######################################
|
||||
|
@ -796,9 +776,6 @@ sub adding_shellscripts_to_epm_file
|
|||
{
|
||||
my ($epmfileref, $shellscriptsfilename, $localrootpath, $allvariableshashref, $filesinpackage) = @_;
|
||||
|
||||
# Setting variable for ${OXTFILENAME} into $allvariableshashref, if this is a RPM with an extension
|
||||
set_oxt_filename($filesinpackage, $allvariableshashref);
|
||||
|
||||
# $installer::globals::shellscriptsfilename
|
||||
|
||||
push( @{$epmfileref}, "\n\n" );
|
||||
|
@ -1803,26 +1780,27 @@ sub is_extension_package
|
|||
# share/extension/install
|
||||
######################################################################
|
||||
|
||||
sub get_extension_name
|
||||
sub contains_extension_dir
|
||||
{
|
||||
my ($prototypefile) = @_;
|
||||
|
||||
my $extensionName = "";
|
||||
my $contains_extension_dir = 0;
|
||||
|
||||
# d none opt/openoffice.org3/share/extensions/
|
||||
|
||||
for ( my $i = 0; $i <= $#{$prototypefile}; $i++ )
|
||||
{
|
||||
my $line = ${$prototypefile}[$i];
|
||||
if ( $line =~ /^\s*f\s+none\s+share\/extension\/install\/(\w+?\.oxt)\s*\=/ )
|
||||
if ( $line =~ /^\s*d\s+none\s.*\/share\/extensions\// )
|
||||
{
|
||||
$extensionName = $1;
|
||||
$contains_extension_dir = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
return $extensionName;
|
||||
return $contains_extension_dir;
|
||||
}
|
||||
|
||||
|
||||
############################################################
|
||||
# A Solaris patch contains 7 specific scripts
|
||||
############################################################
|
||||
|
@ -1839,9 +1817,9 @@ sub add_scripts_into_prototypefile
|
|||
$path = $path . $installer::globals::separator;
|
||||
|
||||
my @newlines = ();
|
||||
my $extensionname = get_extension_name($prototypefile);
|
||||
my $is_extension_package = contains_extension_dir($prototypefile);
|
||||
|
||||
if ( $extensionname ne "" )
|
||||
if ( $is_extension_package )
|
||||
{
|
||||
for ( my $i = 0; $i <= $#installer::globals::solarispatchscriptsforextensions; $i++ )
|
||||
{
|
||||
|
@ -1865,9 +1843,7 @@ sub add_scripts_into_prototypefile
|
|||
my $scriptfile = installer::files::read_file($sourcefilename);
|
||||
|
||||
# Replacing variables
|
||||
my $oldstring = "\$\{OXTFILENAME\}";
|
||||
replace_variables_in_shellscripts_for_patch($scriptfile, $destpath, $oldstring, $extensionname);
|
||||
$oldstring = "PRODUCTDIRECTORYNAME";
|
||||
my $oldstring = "PRODUCTDIRECTORYNAME";
|
||||
replace_variables_in_shellscripts_for_patch($scriptfile, $destpath, $oldstring, $staticpath);
|
||||
|
||||
# Saving file
|
||||
|
|
|
@ -71,9 +71,10 @@ sub get_extensions_dir
|
|||
|
||||
my $extensiondir = $subfolderdir . $installer::globals::separator;
|
||||
if ( $installer::globals::officedirhostname ne "" ) { $extensiondir = $extensiondir . $installer::globals::officedirhostname . $installer::globals::separator; }
|
||||
$extensiondir = $extensiondir . "share" . $installer::globals::separator . "extensions";
|
||||
my $extensionsdir = $extensiondir . "share" . $installer::globals::separator . "extensions";
|
||||
my $preregdir = $extensiondir . "share" . $installer::globals::separator . "prereg" . $installer::globals::separator . "bundled";
|
||||
|
||||
return $extensiondir;
|
||||
return ( $extensionsdir, $preregdir );
|
||||
}
|
||||
|
||||
####################################################
|
||||
|
@ -82,21 +83,24 @@ sub get_extensions_dir
|
|||
|
||||
sub register_extensions
|
||||
{
|
||||
my ($officedir, $languagestringref) = @_;
|
||||
my ($officedir, $languagestringref, $preregdir) = @_;
|
||||
|
||||
my $infoline = "";
|
||||
|
||||
if ( $preregdir eq "" )
|
||||
{
|
||||
$infoline = "ERROR: Failed to determine directory \"prereg\" for extension registration! Please check your installation set.\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
installer::exiter::exit_program($infoline, "register_extensions");
|
||||
}
|
||||
|
||||
my $programdir = $officedir . $installer::globals::separator;
|
||||
# if ( $installer::globals::sundirhostname ne "" ) { $programdir = $programdir . $installer::globals::sundirhostname . $installer::globals::separator; }
|
||||
if ( $installer::globals::officedirhostname ne "" ) { $programdir = $programdir . $installer::globals::officedirhostname . $installer::globals::separator; }
|
||||
$programdir = $programdir . "program";
|
||||
|
||||
my $from = cwd();
|
||||
chdir($programdir);
|
||||
|
||||
my $infoline = "";
|
||||
|
||||
# my $unopkgfile = $officedir . $installer::globals::separator . "program" .
|
||||
# $installer::globals::separator . $installer::globals::unopkgfile;
|
||||
|
||||
my $unopkgfile = $installer::globals::unopkgfile;
|
||||
|
||||
my $unopkgexists = 1;
|
||||
|
@ -107,87 +111,73 @@ sub register_extensions
|
|||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
|
||||
# my $extensiondir = $officedir . $installer::globals::separator . "share" .
|
||||
# $installer::globals::separator . "extension" .
|
||||
# $installer::globals::separator . "install";
|
||||
if ( ! -f $unopkgfile )
|
||||
{
|
||||
$unopkgexists = 0;
|
||||
$infoline = "Info: File $unopkgfile does not exist! Extensions cannot be registered.\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
|
||||
my $extensiondir = ".." . $installer::globals::separator . "share" . $installer::globals::separator . "extension" . $installer::globals::separator . "install";
|
||||
|
||||
my $allextensions = installer::systemactions::find_file_with_file_extension("oxt", $extensiondir);
|
||||
|
||||
if (( $#{$allextensions} > -1 ) && ( $unopkgexists ))
|
||||
if ( $unopkgexists )
|
||||
{
|
||||
my $currentdir = cwd();
|
||||
print "... current dir: $currentdir ...\n";
|
||||
$infoline = "Current dir: $currentdir\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
|
||||
for ( my $i = 0; $i <= $#{$allextensions}; $i++ )
|
||||
if ( ! -f $unopkgfile ) { installer::exiter::exit_program("ERROR: $unopkgfile not found!", "register_extensions"); }
|
||||
|
||||
my $localtemppath = installer::systemactions::create_directories("uno", $languagestringref);
|
||||
|
||||
my $slash = "";
|
||||
|
||||
if ( $installer::globals::iswindowsbuild )
|
||||
{
|
||||
my $oneextension = $extensiondir . $installer::globals::separator . ${$allextensions}[$i];
|
||||
|
||||
# my $systemcall = $unopkgfile . " add --shared --suppress-license " . "\"" . $oneextension . "\"";
|
||||
|
||||
if ( ! -f $unopkgfile ) { installer::exiter::exit_program("ERROR: $unopkgfile not found!", "register_extensions"); }
|
||||
if ( ! -f $oneextension ) { installer::exiter::exit_program("ERROR: $oneextension not found!", "register_extensions"); }
|
||||
|
||||
my $localtemppath = installer::systemactions::create_directories("uno", $languagestringref);
|
||||
|
||||
if ( $installer::globals::iswindowsbuild )
|
||||
if ( $^O =~ /cygwin/i )
|
||||
{
|
||||
if ( $^O =~ /cygwin/i )
|
||||
{
|
||||
$localtemppath = $installer::globals::cyg_temppath;
|
||||
}
|
||||
else
|
||||
{
|
||||
$windowsslash = "\/";
|
||||
}
|
||||
$localtemppath =~ s/\\/\//g;
|
||||
$localtemppath = "/".$localtemppath;
|
||||
}
|
||||
my $systemcall = $unopkgfile . " add --shared --suppress-license --verbose " . $oneextension . " -env:UserInstallation=file://" . $localtemppath . " 2\>\&1 |";
|
||||
|
||||
print "... $systemcall ...\n";
|
||||
|
||||
$infoline = "Systemcall: $systemcall\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
|
||||
my @unopkgoutput = ();
|
||||
|
||||
open (UNOPKG, $systemcall);
|
||||
while (<UNOPKG>)
|
||||
{
|
||||
my $lastline = $_;
|
||||
push(@unopkgoutput, $lastline);
|
||||
}
|
||||
close (UNOPKG);
|
||||
|
||||
my $returnvalue = $?; # $? contains the return value of the systemcall
|
||||
|
||||
if ($returnvalue)
|
||||
{
|
||||
# Writing content of @unopkgoutput only in the error case into the log file. Sometimes it
|
||||
# contains strings like "Error" even in the case of success. This causes a packaging error
|
||||
# when the log file is analyzed at the end, even if there is no real error.
|
||||
for ( my $j = 0; $j <= $#unopkgoutput; $j++ ) { push( @installer::globals::logfileinfo, "$unopkgoutput[$j]"); }
|
||||
|
||||
$infoline = "ERROR: Could not execute \"$systemcall\"!\nExitcode: '$returnvalue'\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
installer::exiter::exit_program("ERROR: $systemcall failed!", "register_extensions");
|
||||
}
|
||||
else
|
||||
{
|
||||
$infoline = "Success: Executed \"$systemcall\" successfully!\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
$localtemppath = $installer::globals::cyg_temppath;
|
||||
$preregdir = qx{cygpath -m "$preregdir"};
|
||||
chomp($preregdir);
|
||||
}
|
||||
$localtemppath =~ s/\\/\//g;
|
||||
$slash = "/"; # Third slash for Windows. Other OS pathes already start with "/"
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( ! ( $#{$allextensions} > -1 ))
|
||||
|
||||
$preregdir =~ s/\/\s*$//g;
|
||||
|
||||
my $systemcall = $unopkgfile . " sync --verbose -env:BUNDLED_EXTENSIONS_USER=\"file://" . $slash . $preregdir . "\"" . " -env:UserInstallation=file://" . $slash . $localtemppath . " 2\>\&1 |";
|
||||
|
||||
print "... $systemcall ...\n";
|
||||
|
||||
$infoline = "Systemcall: $systemcall\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
|
||||
my @unopkgoutput = ();
|
||||
|
||||
open (UNOPKG, $systemcall);
|
||||
while (<UNOPKG>)
|
||||
{
|
||||
$infoline = "No extensions located in directory $extensiondir.\n";
|
||||
my $lastline = $_;
|
||||
push(@unopkgoutput, $lastline);
|
||||
}
|
||||
close (UNOPKG);
|
||||
|
||||
my $returnvalue = $?; # $? contains the return value of the systemcall
|
||||
|
||||
if ($returnvalue)
|
||||
{
|
||||
# Writing content of @unopkgoutput only in the error case into the log file. Sometimes it
|
||||
# contains strings like "Error" even in the case of success. This causes a packaging error
|
||||
# when the log file is analyzed at the end, even if there is no real error.
|
||||
for ( my $j = 0; $j <= $#unopkgoutput; $j++ ) { push( @installer::globals::logfileinfo, "$unopkgoutput[$j]"); }
|
||||
|
||||
$infoline = "ERROR: Could not execute \"$systemcall\"!\nExitcode: '$returnvalue'\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
installer::exiter::exit_program("ERROR: $systemcall failed!", "register_extensions");
|
||||
}
|
||||
else
|
||||
{
|
||||
$infoline = "Success: Executed \"$systemcall\" successfully!\n";
|
||||
push( @installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
}
|
||||
|
@ -662,6 +652,7 @@ sub create_simple_package
|
|||
if ( $onedir->{'HostName'} )
|
||||
{
|
||||
my $destdir = $subfolderdir . $installer::globals::separator . $onedir->{'HostName'};
|
||||
|
||||
if ( ! -d $destdir )
|
||||
{
|
||||
if ( $^O =~ /cygwin/i ) # Cygwin performance check
|
||||
|
@ -787,19 +778,18 @@ sub create_simple_package
|
|||
system($localcall);
|
||||
}
|
||||
|
||||
# Registering the extensions
|
||||
|
||||
# installer::logger::print_message( "... registering extensions ...\n" );
|
||||
# installer::logger::include_header_into_logfile("Registering extensions:");
|
||||
# register_extensions($subfolderdir, $languagestringref);
|
||||
|
||||
installer::logger::print_message( "... removing superfluous directories ...\n" );
|
||||
installer::logger::include_header_into_logfile("Removing superfluous directories:");
|
||||
|
||||
my $extensionfolder = get_extensions_dir($subfolderdir);
|
||||
|
||||
my ( $extensionfolder, $preregdir ) = get_extensions_dir($subfolderdir);
|
||||
installer::systemactions::remove_empty_dirs_in_folder($extensionfolder);
|
||||
|
||||
# Registering the extensions
|
||||
|
||||
installer::logger::print_message( "... registering extensions ...\n" );
|
||||
installer::logger::include_header_into_logfile("Registering extensions:");
|
||||
register_extensions($subfolderdir, $languagestringref, $preregdir);
|
||||
|
||||
if ( $installer::globals::compiler =~ /^unxmacx/ )
|
||||
{
|
||||
installer::worker::put_scpactions_into_installset("$installdir/$packagename");
|
||||
|
|
2
solenv/bin/subsequenttests
Executable file → Normal file
2
solenv/bin/subsequenttests
Executable file → Normal file
|
@ -47,7 +47,7 @@ while (@ARGV) {
|
|||
}
|
||||
|
||||
my @testpaths = ();
|
||||
my $sc = SourceConfig->new();
|
||||
my $sc = SourceConfig->new($ENV{'SOLARSRC'});
|
||||
my $module;
|
||||
foreach $module ($sc->get_active_modules()) {
|
||||
my $buildlst = $sc->get_module_build_list($module);
|
||||
|
|
Loading…
Reference in a new issue