From efeed5f811d04c3b106edddace918915d0b84b9f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 3 Sep 2007 14:38:31 -0400 Subject: [PATCH] Add TODO and .gitignore. --- .gitignore | 7 +++++++ TODO | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 0 deletions(-) create mode 100644 .gitignore create mode 100644 TODO diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..000843c --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.gitignore +*.o +*~ +*.repo +razor +pkgs +set diff --git a/TODO b/TODO new file mode 100644 index 0000000..ea42561 --- /dev/null +++ b/TODO @@ -0,0 +1,37 @@ +- pkg manifest is list of files + + /usr/bin/bash 1321321372198798 + + plus provides, requires and version? + +- keep history of installed packages/journal of package transaction, + so we can roll back to yesterday, or see what got installed in the + latest yum update. + +- we build a cache of the currently installed set to service + dependency inquiries fast: + + map from property to pkg (as hash) providing it + map from property to pkgs requiring it + map from pkg name to manifest + map from string to string pool index + + no implicit provides? not even pkgname? + +- properties are strings, stored in a string table + +- on disk maps are binary files of (string table index, hash) pairs + +- at run time, we mmap the map, and keep changes in memory in a splay + tree or similar. if searching the splay tree fails we punt to the + mmap. once the transaction is done, we merge the map and the splay + tree and write it back out. + +- the on-disk string pool is sorted and we keep a list of indices into + the string pool in sorted order so we can bsearch the list with a + string to get its string pool index. maybe a hash table is better, + less I/O as we will expect to find the string within the block we + look up with the hash function. + +- signed pkgs +- gzip pkg xml files somehow? -- 1.7.1