#************************************************************** # # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # #************************************************************** ################# # use ################# use lib ("$ENV{SOLARENV}/bin/modules"); use Cwd; use File::Copy; use installer::download; use installer::downloadsigner; use installer::exiter; use installer::followme; use installer::globals; use installer::logger; use installer::windows::sign; ################################################# # Main program ################################################# installer::downloadsigner::getparameter(); installer::downloadsigner::checkparameter(); my $temppath = installer::downloadsigner::set_temp_path(); my $infofilelist = installer::downloadsigner::createproductlist(); installer::downloadsigner::publishproductlist($infofilelist); foreach my $infofilename ( @{$infofilelist} ) { installer::logger::starttime(); my $success = 1; my $do_copy = 1; my $followmeinfohash = installer::followme::read_followme_info($infofilename); installer::downloadsigner::setlogfilename(); # Successful after reading followme file, resetting log file if ( $installer::globals::writetotemp ) { installer::downloadsigner::set_output_pathes_to_temp($followmeinfohash, $temppath); } if ( $installer::globals::useminor ) { installer::downloadsigner::set_minor_into_pathes($followmeinfohash, $temppath); } if (( ! $installer::globals::iswindowsbuild ) && ( $installer::globals::dosign )) { installer::logger::print_message( "... WARNING: Signing only for Windows platforms active ...\n" ); } # installer::logger::include_header_into_logfile("Reading include paths"); # installer::worker::collect_all_files_from_includepathes($followmeinfohash->{'includepatharray'}); if (( $installer::globals::iswindowsbuild ) && ( $installer::globals::dosign )) { $followmeinfohash->{'finalinstalldir'} = installer::windows::sign::sign_install_set($followmeinfohash, $do_copy, $temppath); ($success, $followmeinfohash->{'finalinstalldir'}) = installer::worker::analyze_and_save_logfile($followmeinfohash->{'loggingdir'}, $followmeinfohash->{'finalinstalldir'}, $followmeinfohash->{'installlogdir'}, "", \$followmeinfohash->{'languagestring'}, $followmeinfohash->{'currentinstallnumber'}); if ( ! $success ) { installer::exiter::exit_program("ERROR: Signing installation set failed: $followmeinfohash->{'finalinstalldir'}", "Main"); } } if ( ! $installer::globals::nodownload ) { $followmeinfohash->{'finalinstalldir'} = installer::download::create_download_sets($followmeinfohash->{'finalinstalldir'}, $followmeinfohash->{'includepatharray'}, $followmeinfohash->{'allvariableshash'}, $followmeinfohash->{'downloadname'}, \$followmeinfohash->{'languagestring'}, $followmeinfohash->{'languagesarray'}); ($success, $followmeinfohash->{'finalinstalldir'}) = installer::worker::analyze_and_save_logfile($followmeinfohash->{'loggingdir'}, $followmeinfohash->{'finalinstalldir'}, $followmeinfohash->{'installlogdir'}, "", \$followmeinfohash->{'languagestring'}, $followmeinfohash->{'currentinstallnumber'}); if (( $success ) && ( $installer::globals::iswindowsbuild ) && ( $installer::globals::dosign )) { $do_copy = 0; $followmeinfohash->{'finalinstalldir'} = installer::windows::sign::sign_install_set($followmeinfohash, $do_copy, $temppath); ($success, $followmeinfohash->{'finalinstalldir'}) = installer::worker::analyze_and_save_logfile($followmeinfohash->{'loggingdir'}, $followmeinfohash->{'finalinstalldir'}, $followmeinfohash->{'installlogdir'}, "", \$followmeinfohash->{'languagestring'}, $followmeinfohash->{'currentinstallnumber'}); } } if ( $success ) { installer::worker::clean_output_tree(); if ( $installer::globals::followme_from_directory ) { installer::downloadsigner::rename_followme_infofile($infofilename); } } installer::logger::stoptime(); } #################################### # Main program end ####################################