| |
47 |
47 |
# Register the filter on GET/POST/HEAD * to return this message. |
| |
48 |
48 |
ns_register_filter preauth GET * bootstrap_write_error |
| |
49 |
49 |
ns_register_filter preauth POST * bootstrap_write_error |
| |
50 |
50 |
ns_register_filter preauth HEAD * bootstrap_write_error |
| |
51 |
51 |
|
| |
52 |
52 |
if { $throw_error_p } { |
| |
53 |
53 |
return -code error -errorcode bootstrap_fatal_error "Bootstrap fatal error" |
| |
54 |
54 |
} |
| |
55 |
55 |
} |
| |
56 |
56 |
|
| |
57 |
57 |
set errno [catch { |
| |
58 |
58 |
|
| |
59 |
59 |
# Load the special bootstrap tcl library. |
| |
60 |
60 |
|
| |
61 |
61 |
set files [glob -nocomplain "$root_directory/packages/acs-bootstrap-installer/tcl/*-procs.tcl"] |
| |
62 |
62 |
if { [llength $files] == 0 } { |
| |
63 |
63 |
error "Unable to locate $root_directory/packages/acs-bootstrap-installer/tcl/*-procs.tcl." |
| |
64 |
64 |
} |
| |
65 |
65 |
|
| |
66 |
66 |
foreach file [lsort $files] { |
| |
|
67 |
ns_log Notice "Bootstrap: sourcing $file" |
| |
67 |
68 |
source $file |
| |
68 |
69 |
} |
| |
69 |
70 |
|
| |
70 |
71 |
db_bootstrap_set_db_type database_problem |
| |
71 |
72 |
|
| |
72 |
73 |
##### |
| |
73 |
74 |
# |
| |
74 |
75 |
# Perform some checks to make sure that (a) a recent version of the Oracle or PG driver |
| |
75 |
76 |
# is installed and (b) the OpenACS data model is properly loaded. |
| |
76 |
77 |
# |
| |
77 |
78 |
##### |
| |
78 |
79 |
|
| |
79 |
80 |
# DRB: perform RDBMS-specific sanity checks if the user has survived the database |
| |
80 |
81 |
# gauntlet thus far. |
| |
81 |
82 |
|
| |
82 |
83 |
if { ![info exists database_problem] } { |
| |
83 |
84 |
set db_fn "$root_directory/packages/acs-bootstrap-installer/db-init-checks-[nsv_get ad_database_type .].tcl" |
| |
84 |
85 |
if { ![file isfile $db_fn] } { |
| |
85 |
86 |
set database_problem "\"$db_fn\" does not exist." |
| |
86 |
87 |
} else { |