1*b1cdbd2cSJim Jagielski: # -*- perl -*-
2*b1cdbd2cSJim Jagielskieval 'exec perl -wS $0 ${1+"$@"}'
3*b1cdbd2cSJim Jagielski    if 0;
4*b1cdbd2cSJim Jagielski# *************************************************************
5*b1cdbd2cSJim Jagielski#
6*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
7*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
8*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
9*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
10*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
11*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
12*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
13*b1cdbd2cSJim Jagielski#
14*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
15*b1cdbd2cSJim Jagielski#
16*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
17*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
18*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
20*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
21*b1cdbd2cSJim Jagielski#  under the License.
22*b1cdbd2cSJim Jagielski#
23*b1cdbd2cSJim Jagielski# *************************************************************
24*b1cdbd2cSJim Jagielski# create setup self extracting script
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielskiif( $#ARGV < 2 )
27*b1cdbd2cSJim Jagielski  {
28*b1cdbd2cSJim Jagielski    print <<ENDHELP;
29*b1cdbd2cSJim JagielskiUSAGE: $0 <inputshellscript> <libraryfile> <outputshellscript>
30*b1cdbd2cSJim Jagielski    <inputshellscript>: the start shell script, located next to this perl script
31*b1cdbd2cSJim Jagielski    <libraryfile>: the library file, that is included into the shell script
32*b1cdbd2cSJim Jagielski    <outfile>: the target shellscript
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim JagielskiENDHELP
35*b1cdbd2cSJim Jagielski  exit;
36*b1cdbd2cSJim Jagielski  }
37*b1cdbd2cSJim Jagielski
38*b1cdbd2cSJim Jagielski$infile		= $ARGV[0];
39*b1cdbd2cSJim Jagielski$library	= $ARGV[1];
40*b1cdbd2cSJim Jagielski$outfile	= $ARGV[2];
41*b1cdbd2cSJim Jagielski$infile     =~ tr/[A-Z]/[a-z]/;
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielski# read script header
44*b1cdbd2cSJim Jagielskiopen( SCRIPT, "<$infile" ) || die "cannot open $infile";
45*b1cdbd2cSJim Jagielskiopen( OUTFILE, ">$outfile$$.tmp" ) || die "cannot open $outfile";
46*b1cdbd2cSJim Jagielski@scriptlines = <SCRIPT>;
47*b1cdbd2cSJim Jagielski$linenum = $#scriptlines+2;
48*b1cdbd2cSJim Jagielskiforeach (@scriptlines)
49*b1cdbd2cSJim Jagielski{
50*b1cdbd2cSJim Jagielski  # lineend conversion (be on the safe side)
51*b1cdbd2cSJim Jagielski  chomp;
52*b1cdbd2cSJim Jagielski  $_ =~ tr/\r//;
53*b1cdbd2cSJim Jagielski  s/^\s*linenum=.*$/linenum=$linenum/;
54*b1cdbd2cSJim Jagielski  print OUTFILE "$_\n";
55*b1cdbd2cSJim Jagielski}
56*b1cdbd2cSJim Jagielskiclose( SCRIPT );
57*b1cdbd2cSJim Jagielskiclose( OUTFILE );
58*b1cdbd2cSJim Jagielski
59*b1cdbd2cSJim Jagielskisystem( "cat $library >>$outfile$$.tmp" );
60*b1cdbd2cSJim Jagielskirename "$outfile$$.tmp", "$outfile";
61*b1cdbd2cSJim Jagielski
62*b1cdbd2cSJim Jagielskichmod 0775, $outfile;
63*b1cdbd2cSJim Jagielski
64*b1cdbd2cSJim Jagielskiexit;
65