summaryrefslogtreecommitdiff
path: root/setup_native/scripts/install_create.pl
diff options
context:
space:
mode:
Diffstat (limited to 'setup_native/scripts/install_create.pl')
-rwxr-xr-xsetup_native/scripts/install_create.pl44
1 files changed, 44 insertions, 0 deletions
diff --git a/setup_native/scripts/install_create.pl b/setup_native/scripts/install_create.pl
new file mode 100755
index 000000000000..c49f22ddbc70
--- /dev/null
+++ b/setup_native/scripts/install_create.pl
@@ -0,0 +1,44 @@
+: # -*- perl -*-
+eval 'exec perl -wS $0 ${1+"$@"}'
+ if 0;
+# 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;