| : # -*- perl -*- | |
| eval 'exec perl -wS $0 ${1+"$@"}' | |
| if 0; | |
| # ************************************************************* | |
| # | |
| # 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. | |
| # | |
| # ************************************************************* | |
| # create setup self extracting script | |
| if( $#ARGV < 2 ) | |
| { | |
| print <<ENDHELP; | |
| USAGE: $0 <inputshellscript> <libraryfile> <outputshellscript> | |
| <inputshellscript>: the start shell script, located next to this perl script | |
| <libraryfile>: the library file, that is included into the shell script | |
| <outfile>: the target shellscript | |
| ENDHELP | |
| exit; | |
| } | |
| $infile = $ARGV[0]; | |
| $library = $ARGV[1]; | |
| $outfile = $ARGV[2]; | |
| $infile =~ tr/[A-Z]/[a-z]/; | |
| # read script header | |
| open( SCRIPT, "<$infile" ) || die "cannot open $infile"; | |
| open( OUTFILE, ">$outfile$$.tmp" ) || die "cannot open $outfile"; | |
| @scriptlines = <SCRIPT>; | |
| $linenum = $#scriptlines+2; | |
| foreach (@scriptlines) | |
| { | |
| # lineend conversion (be on the safe side) | |
| chomp; | |
| $_ =~ tr/\r//; | |
| s/^\s*linenum=.*$/linenum=$linenum/; | |
| print OUTFILE "$_\n"; | |
| } | |
| close( SCRIPT ); | |
| close( OUTFILE ); | |
| system( "cat $library >>$outfile$$.tmp" ); | |
| rename "$outfile$$.tmp", "$outfile"; | |
| chmod 0775, $outfile; | |
| exit; |