| #************************************************************** |
| # |
| # 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 |
| #################################### |