I've spotted these lines

set website(basedir) [file dir [info script]]
set website(libdir) [file join $website(basedir) lib]
set website(3rdpartydir) [file join $website(basedir) .. 3rdparty]*

lappend ::auto_path [file normalize $website(libdir)]

is this the hierarchy of directories adjacent to the website code? What if build the auto_path the way around?

set ::auto_path [concat [file normalize $website(libdir)] $::auto_path]

and have the packages take precedence?

  -- Massimo

On 3/17/25 09:01, Scott Pitcher wrote:
Hi,

I'm trying to load only a 1.0 version of the package from a "3rdparty" directory adjacent to the website code. I discovered that the 1.1 wasn't 100% compatible and that caused the Maintenance threads to cycle like crazy without their customary waiting time. There were many many months between using 1.0 on the website and installing the 1.1 package independently so it caught me by surprise.

But the trouble came when I tried to load the /-exact ... 1.0/ version and that failed because only 1.1 is available, now (with 1.1 installed under /usr/local/....). It could not see the 1.0 anymore.

But, if I remove 1.1 from the system and restart apache then it loads the 1.0 once again and uses it quite happily.


In the cut down test code I posted I couldn't replicate a step. With both packages available I can successfully/package require -exact ... 1.0/, even with 1.1 installed under /usr/local/...

HOWEVER there is a little strangeness as the 1.0 package does not show up in /package versions/, but I can still load it anyway.


Kind regards,

Scott



    set website(basedir) [file dir [info script]]
    set website(logdir)  [file join $website(basedir) .. log]
    set website(libdir) [file join $website(basedir) lib]
* set website(3rdpartydir) [file join $website(basedir) .. 3rdparty]*
    set website(tmpdir) [file join $website(basedir) .. tmp]
..............................................................................................
    #
    # Set the path for loading tclIndex files. This is all we need and the rest of the library     # will load. Any source directories in the website configuration should be in     # website(SourceDirs) after content is loaded, and we'll set those after.
    #
    lappend ::auto_path [file normalize $website(libdir)]
    if {[file isdirectory $website(3rdpartydir)]} {
*lappend ::auto_path [file normalize $website(3rdpartydir)]*
    }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to