Eggdev: [Bug 362] New: EPM - Eggdrop Package Manager

Tothwolf 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...).

-Toth


More information about the Eggdev mailing list