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