GSoC Update: Registry
Chris Pickel
sfiera at macports.org
Sat Jul 28 14:28:39 PDT 2007
So, here's the deal:
As (a couple of) you are aware, my project is to build a more
advanced registry; to keep more state for installed ports and in a
more structured fashion.
I have written a pretty much feature-complete sqlite3-based
replacement for receipts and the filemap at this point. There is a C
library that's compiled as a static lib (cregistry), which is later
compiled into a Tcl module (registry2.0). There's a test case; errors
are thrown in such a way that they work with try/catch.
I've also written a script to up-convert a user's existing receipts/
filemap into the new format. It's reasonably fast (and was not so
before I got smarter with sqlite transactions).
The Tcl code that makes *use* of the registry has not yet been
modified. So, I could commit registry2 now without screwing anything
up, but I have two concerns:
* Doing so would commit my local history (12 commits, I think). CIA
has the annoying habit of squaring the number of commit messages sent
out in sequence, and I don't want to flood #macports with 144 commit
messages.
* I don't feel there's a need to include it in 1.5.1. If someone
wanted to go ahead and tag 1.5.1, that'd be great :)
I'm still working on three things before I move on to the dependency
graph:
* I'm probably leaking memory like crazy. I'm currently trying to
clamp down on this with `gdb` and `leaks`, but I've no previous
experience with the latter. If anyone has suggestions in this
category, I'd be happy to hear them (Paul mentioned TCL_MEM_DEBUG).
* Improving its speed, particularly as pertains to Eugene's usage
of cregistry.
* Documentation. cregistry is largely documented, in the doxygen
style, but I'm not sure of the best way to document registry2.0. I
could do a manpage (but what to call it?), or more doxygen-style (but
tools would confuse the C parameters of the actual functions with the
Tcl parameters I'd document).
Chris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://lists.macosforge.org/pipermail/macports-dev/attachments/20070728/5afb9e02/PGP.bin
More information about the macports-dev
mailing list