[Bio] / FigCommon / bootstrap.pl Repository:
ViewVC logotype

Diff of /FigCommon/bootstrap.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5, Tue Jan 6 22:32:38 2004 UTC revision 1.11, Thu Jun 3 18:25:21 2004 UTC
# Line 102  Line 102 
102    
103  our $fig_disk = $ENV{FIG_HOME};  our $fig_disk = $ENV{FIG_HOME};
104  our $env_name = $ENV{FIGCONFIG_ENV};  our $env_name = $ENV{FIGCONFIG_ENV};
105    our $env_dir = "$ENV{FIGCONFIG_ENV_DIR}";
106  our $env_bin = "$ENV{FIGCONFIG_ENV_DIR}/bin";  our $env_bin = "$ENV{FIGCONFIG_ENV_DIR}/bin";
107  our $env_lib = "$ENV{FIGCONFIG_ENV_DIR}/lib";  our $env_lib = "$ENV{FIGCONFIG_ENV_DIR}/lib";
108  #  #
# Line 111  Line 112 
112  #our $release_bin = "$ENV{FIGCONFIG_RELEASE_DIR}/bin/$ENV{FIGCONFIG_ENV}";  #our $release_bin = "$ENV{FIGCONFIG_RELEASE_DIR}/bin/$ENV{FIGCONFIG_ENV}";
113  #our $release_lib = "$ENV{FIGCONFIG_RELEASE_DIR}/lib/$ENV{FIGCONFIG_ENV}";  #our $release_lib = "$ENV{FIGCONFIG_RELEASE_DIR}/lib/$ENV{FIGCONFIG_ENV}";
114    
115  our $release_bin = "$fig_disk/dist/releases/current/bin/$ENV{FIGCONFIG_ENV}";  our $release_bin = "$fig_disk/dist/releases/current/$ENV{FIGCONFIG_ENV}/bin";
116  our $release_lib = "$fig_disk/dist/releases/current/lib/$ENV{FIGCONFIG_ENV}";  our $release_lib = "$fig_disk/dist/releases/current/$ENV{FIGCONFIG_ENV}/lib";
117    
118  our $fig_bin = "$fig_disk/FIG/bin";  our $fig_bin = "$fig_disk/FIG/bin";
119    
# Line 135  Line 136 
136      chomp $hostname;      chomp $hostname;
137    
138      push(@$Config, ["fig_disk", $fig_disk, 1]);      push(@$Config, ["fig_disk", $fig_disk, 1]);
139      push(@$Config, ["blastmast", "$fig_disk/BLASTMAT", 1]);      push(@$Config, ["blastmat", "$fig_disk/BLASTMAT", 1]);
140      push(@$Config, ["fig", $fig, 1]);      push(@$Config, ["fig", $fig, 1]);
141      push(@$Config, ["bin", $fig_bin, 1]);      push(@$Config, ["bin", $fig_bin, 1]);
142      push(@$Config, ["ext_bin", $env_bin, 1]);      push(@$Config, ["ext_bin", $env_bin, 1]);
# Line 145  Line 146 
146      push(@$Config, ["RC", "$fig_disk/FIG/ResolutionCenter", 1]);      push(@$Config, ["RC", "$fig_disk/FIG/ResolutionCenter", 1]);
147      push(@$Config, ["NR", "$fig_disk/FIG/NR", 1]);      push(@$Config, ["NR", "$fig_disk/FIG/NR", 1]);
148      push(@$Config, ["temp", "$fig_disk/FIG/Tmp", 1]);      push(@$Config, ["temp", "$fig_disk/FIG/Tmp", 1]);
149      push(@$Config, ["temp_url", "http://$hostname/FIG-Tmp", 1]);  
150      push(@$Config, ["cgi_url", "http://$hostname/FIG", 1]);      my $sandbox;
151        if ($ENV{FIGCONFIG_SANDBOX})
152        {
153            $sandbox = "/$ENV{FIGCONFIG_SANDBOX}";
154        }
155    
156        push(@$Config, ["temp_url", "http://$hostname$sandbox/FIG-Tmp", 1]);
157        push(@$Config, ["cgi_url", "http://$hostname$sandbox/FIG", 1]);
158    
159        #
160        # Add values for a relative base href of temp and CGI pages.  The latter
161        # is used by HHTP.pm to write common page start.  It would make the most
162        # sense to derive the above 2 values from these.  -- GJO
163        #
164    
165        push(@$Config, ["temp_base", "$sandbox/FIG-Tmp/", 1]);
166        push(@$Config, ["cgi_base", "$sandbox/FIG/", 1]);
167  }  }
168    
169  sub compute_environment  sub compute_environment
# Line 178  Line 195 
195      push(@$Env, ["PATH", join(":", @path), 1]);      push(@$Env, ["PATH", join(":", @path), 1]);
196    
197      push(@$Env, ["LD_LIBRARY_PATH", "${env_lib}", 1]);      push(@$Env, ["LD_LIBRARY_PATH", "${env_lib}", 1]);
198    
199        push(@$Env, ["PERL5LIB", join(":", grep({ $_ ne "." } @INC)), 1]);
200  }  }
201    
202  sub configure_python  sub configure_python
# Line 237  Line 256 
256      #      #
257      # Special case for the mac.      # Special case for the mac.
258      #      #
259        # RDO 20040603 - don't do this any more; we want to pick up
260        # the python we ship.
261        #
262    
263      if ($ENV{FIGCONFIG_ENV} eq "mac")      if (0 && $ENV{FIGCONFIG_ENV} eq "mac")
264      {      {
265          if ($python = find_in_path("pythonw"))          #
266            # We'd like to use the MacPython that is installed
267            # as pythonw.
268            #
269            if ($python = find_in_path("pythonw", "/usr/local/bin"))
270          {          {
271                $OtherConfig->{python_require_poundbang_env} = 1;
272              return $python;              return $python;
273          }          }
274    
275          #          #
276          # Didn't find it in the path; we require the          # Otherwise, we can live with the regular python.
277          # MacPython build, and that installs into          # Fall thru to the generic case.
         # /usr/local/bin/pythonw by default.  
         #  
   
         #  
         # Sigh. This requires #!/usr/bin/env to work properly  
278          #          #
         $OtherConfig->{python_require_poundbang_env} = 1;  
         return "/usr/local/bin/pythonw";  
279      }      }
     else  
     {  
280          #          #
281          # Non-mac, just look in the env dir or the path.          # Non-mac, just look in the env dir or the path.
282          #          #
# Line 271  Line 289 
289    
290          return find_in_path("python");          return find_in_path("python");
291      }      }
 }  
292    
293  #  #
294  # Find the name of the perl executable we are to use.  # Find the name of the perl executable we are to use.
# Line 309  Line 326 
326  if [ -n "\$$name" ] ; then  if [ -n "\$$name" ] ; then
327      DELIM=:      DELIM=:
328  fi  fi
329  $name=\${$name}\${DELIM}$value  $name=$value\${DELIM}\${$name}
330  export $name  export $name
331  END  END
332          }          }
# Line 337  Line 354 
354    
355              print $fh <<END;              print $fh <<END;
356  if (\$?$name) then  if (\$?$name) then
357      setenv $name \${$name}:$value      setenv $name $value:\${$name}
358  else  else
359      setenv $name $value      setenv $name $value
360  endif  endif
# Line 427  Line 444 
444    
445  }  }
446    
447    sub finalize_server_scripts
448    {
449        #
450        # After any environment-specific stuff, call start_services and stop_services.
451        #
452    
453        open(F, ">>$start_servers") or die "Cannot write $start_servers: $!";
454        print F "\n$fig_bin/start_services\n";
455        close(F);
456        chmod(0775, $start_servers);
457    
458        open(F, ">>$stop_servers") or die "Cannot write $stop_servers: $!";
459        print F "\n$fig_bin/stop_services\n";
460        close(F);
461        chmod(0775, $stop_servers);
462    
463    }
464    
465  sub write_config_pm  sub write_config_pm
466  {  {
467      my($fh, $config) = @_;      my($fh, $config) = @_;
# Line 511  Line 546 
546    
547      print $fh "use FIG_Config;\n";      print $fh "use FIG_Config;\n";
548      print $fh "\n";      print $fh "\n";
549        print $fh "#### END tool_hdr ####\n\n"
550  }  }
551    
552  sub write_tool_hdr_python  sub write_tool_hdr_python
# Line 529  Line 565 
565      }      }
566      print $fh "\n";      print $fh "\n";
567    
568      print $fh "import sys\n";      print $fh "import sys, os\n";
569    
570    
571      print $fh "sys.path.append('$OtherConfig->{python_site_path}')\n";      print $fh "sys.path.append('$OtherConfig->{python_site_path}')\n";
572    
573        #
574        # Append the perl path to the environment, for use later with CallPerl.
575        #
576    
577        my $perlpath = join(":", @INC, "$fig_disk/config");
578        print $fh <<END;
579    if os.getenv("PERL5LIB", "") != "":
580        _delim = ":"
581    else:
582        _delim = ""
583    os.environ["PERL5LIB"] = "$perlpath" + _delim + os.getenv("PERL5LIB", "")
584    
585    END
586    
587      print $fh "# Following block is expanded by switch_to_release to add use lib directives\n";      print $fh "# Following block is expanded by switch_to_release to add use lib directives\n";
588      print $fh "# to point at the correct locations in the release directory.\n";      print $fh "# to point at the correct locations in the release directory.\n";
589      print $fh "#BEGIN switch_to_release generated code\n";      print $fh "#BEGIN switch_to_release generated code\n";
# Line 544  Line 594 
594    
595      print $fh "import FIG_Config\n";      print $fh "import FIG_Config\n";
596      print $fh "\n";      print $fh "\n";
597        print $fh "#### END tool_hdr_py ####\n\n"
598  }  }
599    
600  setup_directories("$fig_disk/bin",  setup_directories("$fig_disk/bin",
# Line 559  Line 610 
610  configure_python();  configure_python();
611  configure_environment_specific();  configure_environment_specific();
612    
613    finalize_server_scripts();
614    
615  #  #
616  # Write the shell startup to the figdisk.  # Write the shell startup to the figdisk.
617  #  #

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.11

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3