Manipulating the package finding algorithm?



Hi!
We've got a rather difficult software deployment problem.
We are customizing a large PCB layout and schematic program and we need
for a set of tcl programs to load different "incarnations" of packages.
For instance, given a package Xxx, there could be directories
Xxx.BETA.PCB_PROJECT_A.USER_B
Xxx.STABLE
etc., all containing Package Xxx.
And, upon startup, we'd like first to load a bunch of generic packages
like tcom and oratcl and then set up the package discovery algorithm
so that it only checks a bunch of PCB and user specific directories:

package require tcom
package require oratcl
getUsername
getPCBname
doPackagemagic
package require Xxx

where Xxx could be sourced from either of the above directories
depending on PCBname and username.

The alternatives are
- to define my own load procedure but this would force another coding and file
layout convention on programmers and IMHO the package mechanism is a good
one. I wouldn't like to replace it.
- to really change the package /names/ instead of just the directory names.
This would mean fiddling with source code during test and release and I
would like to avoid this. Particularly since the guy releasing from beta to
final isn't necessarily the developer but someone who has no idea about tcl.

Lots of Greetings!
Volker
--
For email replies, please substitute the obvious.
.



Relevant Pages

  • Re: Share commands with other TCL programs
    ... > I have all my TCL programs in one directory. ... One way is to create a library or a package of those ... commands you find useful in several programs. ... A package on the other hand is a formal construct: ...
    (comp.lang.tcl)
  • Re: Error reading delimited list
    ... Likewise in LOAD, the usual thing I do in all of my programs that want ... load does not prevent to load-time code from modifying the package ... advocating a terrible programming style by doing this. ... It's good to understand the power at one's fingertips. ...
    (comp.lang.lisp)
  • Re: Failure integrating .NET GPL version of GNAT into Visual Studio 2005
    ... I get a package load failure error ... For assistance, contact the package vendor. ... It took a bit of hacking on the .reg file, but I got VS to start. ...
    (comp.lang.ada)
  • Re: Package: symbol reading woes
    ... The Lisp package system is not ... I'm not too worried about pollution. ... forms successively -- the only way to do that might be to use LOAD. ...
    (comp.lang.lisp)
  • Re: unload and "make clean" an asdf system?
    ... I'm installing new application with many dependencies. ... I want to undo load and load other version with minimal ... with a stable set of base systems ... or package, you can easily and quickly reload from the saved image. ...
    (comp.lang.lisp)