Add TODO and .gitignore.
authorKristian H?gsberg <krh@redhat.com>
Mon Sep 03 14:38:31 2007 -0400 (2007-09-03)
changeset 138be5ee4d231
parent 0 e15eb9ef9c28
child 2 08c5b27e1952
Add TODO and .gitignore.
.gitignore
TODO
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/.gitignore	Mon Sep 03 14:38:31 2007 -0400
     1.3 @@ -0,0 +1,7 @@
     1.4 +.gitignore
     1.5 +*.o
     1.6 +*~
     1.7 +*.repo
     1.8 +razor
     1.9 +pkgs
    1.10 +set
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/TODO	Mon Sep 03 14:38:31 2007 -0400
     2.3 @@ -0,0 +1,37 @@
     2.4 +- pkg manifest is list of files
     2.5 +
     2.6 +	/usr/bin/bash 1321321372198798
     2.7 +
     2.8 +  plus provides, requires and version?
     2.9 +
    2.10 +- keep history of installed packages/journal of package transaction,
    2.11 +  so we can roll back to yesterday, or see what got installed in the
    2.12 +  latest yum update.
    2.13 +
    2.14 +- we build a cache of the currently installed set to service
    2.15 +  dependency inquiries fast:
    2.16 +
    2.17 +	map from property to pkg (as hash) providing it
    2.18 +	map from property to pkgs requiring it
    2.19 +	map from pkg name to manifest
    2.20 +	map from string to string pool index
    2.21 +
    2.22 +	no implicit provides? not even pkgname?
    2.23 +
    2.24 +- properties are strings, stored in a string table
    2.25 +
    2.26 +- on disk maps are binary files of (string table index, hash) pairs
    2.27 +
    2.28 +- at run time, we mmap the map, and keep changes in memory in a splay
    2.29 +  tree or similar.  if searching the splay tree fails we punt to the
    2.30 +  mmap.  once the transaction is done, we merge the map and the splay
    2.31 +  tree and write it back out.
    2.32 +
    2.33 +- the on-disk string pool is sorted and we keep a list of indices into
    2.34 +  the string pool in sorted order so we can bsearch the list with a
    2.35 +  string to get its string pool index.  maybe a hash table is better,
    2.36 +  less I/O as we will expect to find the string within the block we
    2.37 +  look up with the hash function.
    2.38 +
    2.39 +- signed pkgs
    2.40 +- gzip pkg xml files somehow?