/usr/lib/aolserver4/modules/tcl/xotcl.tcl is in aolserver4-xotcl 1.6.7-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | # $Id: aol-xotcl.tcl,v 1.15 2007/08/14 16:38:26 neumann Exp $
#
# Load XOTcl library and some related packages.
# We expect to find them somewhere in standard
# Tcl package search path (the auto_path var)
# The simplest location is to put them under
# the "lib" directory within the AOLserver tree.
#
package require XOTcl; namespace import ::xotcl::*
package require xotcl::serializer
ns_log notice "XOTcl version $::xotcl::version$::xotcl::patchlevel loaded"
#
# Overload procedure defined in bin/init.tcl.
# It is now XOTcl-savvy in how it treats some
# special namespaces.
#
proc _ns_savenamespaces {} {
set script [_ns_getpackages]
set import ""
set nslist ""
_ns_getnamespaces namespaces
foreach n $namespaces {
if {[string match "::xotcl*" $n] == 0
&& ([catch {::xotcl::Object isobject $n} ret] || $ret == 0)} {
lappend nslist $n
}
}
foreach n $nslist {
foreach {ns_script ns_import} [_ns_getscript $n] {
append script [list namespace eval $n $ns_script] \n
if {$ns_import ne ""} {
append import [list namespace eval $n $ns_import] \n
}
}
}
if {[catch {::Serializer all} objects]} {
ns_log notice "XOTcl extension not loaded; will not copy objects\
(error: $objects; $::errorInfo)."
set objects ""
}
ns_ictl save [append script \n \
"namespace import -force ::xotcl::*" \n \
$objects \n $import]
# just for debugging purposes
if {0} {
set f [open [::xotcl::tmpdir]/__aolserver-blueprint.tcl w]
puts $f $script
close $f
}
}
#
# Source XOTcl files from shared/private library
# the way AOLserver does for plain Tcl files.
#
proc _my_sourcefiles {shared private} {
set files ""
foreach file [lsort [glob -nocomplain -directory $shared *.xotcl]] {
if {[file exists [file join $private [file tail $file]]] == 0} {
lappend files $file
}
}
foreach file [lsort [glob -nocomplain -directory $private *.xotcl]] {
lappend files $file
}
foreach file $files {
_ns_sourcefile $file
}
}
ns_eval {
_my_sourcefiles [ns_library shared] [ns_library private]
}
# EOF $RCSfile: aol-xotcl.tcl,v $
|