File indexing completed on 2023-10-25 09:32:17
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 use POSIX;
0020
0021 $inScript = "undefined";
0022 $outScript = "undefined";
0023 $runDir = "undefined";
0024 $cfgName = "undefined";
0025 $fileSplit = "undefined";
0026 $isn = "undefined";
0027 $mssDirLocal = "undefined";
0028 $castorPool = "undefined";
0029 $cmsCafPool = 0;
0030
0031
0032 while (@ARGV) {
0033 $arg = shift(@ARGV);
0034 if ($arg =~ /\A-/) {
0035 if ($arg =~ "h") {
0036 $helpwanted = 1;
0037 }
0038 elsif ($arg =~ "d") {
0039 $localdir = 1;
0040 }
0041 elsif ($arg =~ "u") {
0042 $updateDb = 1;
0043 }
0044 $optionstring = "$optionstring$arg";
0045 }
0046 else {
0047 $i = $i + 1;
0048 if ($i eq 1) {
0049 $inScript = $arg;
0050 }
0051 elsif ($i eq 2) {
0052 $outScript = $arg;
0053 }
0054 elsif ($i eq 3) {
0055 $runDir = $arg;
0056 }
0057 elsif ($i eq 4) {
0058 $cfgName = $arg;
0059 }
0060 elsif ($i eq 5) {
0061 $fileSplit = $arg;
0062 }
0063 elsif ($i eq 6) {
0064 $isn = $arg;
0065 }
0066 elsif ($i eq 7) {
0067 $mssDirLocal = $arg;
0068 }
0069 elsif ($i eq 8) {
0070 $castorPool = $arg;
0071 }
0072 }
0073 }
0074
0075 if ($isn eq "undefined") {
0076 print "Insufficient information given\n";
0077 exit 1;
0078 }
0079
0080
0081 open INFILE,"$inScript";
0082 undef $/;
0083 $body = <INFILE>;
0084 close INFILE;
0085 $/ = "\n";
0086
0087
0088 $nn = ($body =~ );
0089 if ($nn != 1) {
0090 print "mps_script.pl: no (unambiguous) RUNDIR directive found in runscript\n";
0091 exit 1;
0092 }
0093 $nn = ($body =~ s/RUNDIR=(.+)$/RUNDIR=$runDir/
0094
0095
0096
0097
0098
0099 $/
0100 {
0101 print "mps_script.pl: no (unambiguous) MSSDIR directive found in runscript\n";
0102 }
0103 $nn = ($body =~ s/MSSDIR=(.+)$/MSSDIR=$mssDirLocal/
0104
0105 {
0106
0107 $nn = ($body =~ s/MSSDIRPOOL=(.*)$/MSSDIRPOOL=$castorPool/
0108
0109
0110 $/MSSDIRPOOL=/
0111
0112
0113
0114 /g);
0115
0116 if ($nn <1) {
0117 print "Warning: mps_script matches cfg: $nn\n";
0118 }
0119
0120
0121 $nn = ($body =~ s/cmsRun +[a-zA-Z_0-9\-]+\.cfg/cmsRun \$RUNDIR\/$cfgName/g);
0122
0123
0124 $nrep = ($body =~ s/ISN/$isn/gm);
0125
0126
0127 open OUTFILE,">$outScript";
0128 print OUTFILE $body;
0129 close OUTFILE;
0130 system "chmod a+x $outScript";
0131
0132