Eggdev: [Bug 362] New: EPM - Eggdrop Package Manager
tothwolf at concentric.net
Wed Oct 1 22:31:10 CST 2003
Way behind on email...
On Mon, 15 Sep 2003, stdarg wrote:
> --- BarkerJr <barkerjr at barkerjr.net> wrote:
> > > Heck, this can be done in Tcl anyway. That is part of what I'd planned to
> > > do with 'wolfpack', which is in cvs if anyone wants to spend time working
> > > on it.
> > It can also be easily done with namespaces and bind evnt pre-rehash.
> > Someday I'll find time to write a paper about it :)
> What about for modules?
> Also, there are other features that package managers have other than
> unloading things. Maybe it could automatically download dependencies
> too, like the http package for tcl scripts or a mysql client script.
I've already done the dependency tracking code in wp. It works quite well,
though it probably needs some improvement/expansion if it seems like it
will become popular.
> Anyway, I think the proposal was talking about an add-on, not a bunch of
> new stuff in the core. I don't see anything wrong with it, given that.
> But who's going to maintain the (I assume) central repository for script
> information? How do people register their scripts and dependencies and
> everything else? Or will it be on a script by script basis, like nothing
> more than a standardized header that tells what the script needs and
> what it provides?
My modular scripts have headers in the individual '.tcl' files. The two
that handle dependency stuff are '# Provides: ...' and '# Requires:
...'. There are some others such as name/version/etc, and I'd planned to
add some others. The Provides/Requires cause the loader code to autoload
dependent scripts when a particular 'function' isn't already available.
Functions that are exported/imported by the provides/requires code do have
to have unique names (for now anyway), though it should be possible to add
in some namespace code to get rid of that limitation (todo...).
More information about the Eggdev