TODO
author Kristian H?gsberg <krh@redhat.com>
Wed Oct 24 00:50:29 2007 -0400 (2007-10-24)
changeset 58 3403937e0913
parent 55 b21a4953ff91
child 63 e5479fd779af
permissions -rw-r--r--
Add README and add primary.xml.gz to .gitignore.
     1 - keep history of installed packages/journal of package transaction,
     2   so we can roll back to yesterday, or see what got installed in the
     3   latest yum update.
     4 
     5 - signed pkgs
     6 
     7 - gzip repository of look-aside pkg xml files somehow?
     8 
     9 - transactions, proper recovery, make sure we don't poop our package
    10   database (no more rm /var/lib/rpm/__cache*).
    11 
    12 - diff from one package set to another answers: "what changed in
    13   rawhide between since yesterday?"
    14 
    15 - rewrite qsort and bsearch that doesn't require global context var
    16   and can output a map describing the permutaion.
    17 
    18 - use hash table for package and property lists so we only store
    19   unique lists (like for string pool).
    20 
    21 - use existing, running system as repo; eg
    22 
    23 	razor update razor://other-box.local evince
    24 
    25   to pull eg the latest evince and dependencies from another box.  We
    26   should be able to regenerate a rzr pkg from the system so we can
    27   reuse the signature from the originating repo.
    28 
    29 - Ok, maybe the fastest package set merge method in the end is to use
    30   the razor_importer, but use a hash table for the properties.  This
    31   way we can assign them unique IDs immediately (like tokenizing
    32   strings).
    33 
    34 - test suite should be easy, just keep .repo files around and test
    35   different type of upgrades that way (obsoletes, conflicts, file
    36   conflicts, file/dir problems etc).  Or maybe just keep a simple file
    37   format ad use a custom importer to create the .repo files.
    38 
    39 - pipelined download and install; download is network bound, install
    40   is disk bound.  Start installing once we have self-contained set of
    41   packages.  Install in reverse topo-sort order.  Interruptible
    42   installation; stops at nearest checkpoint.
    43 
    44 - make packages pointers be either an index into the package pool or a
    45   direct link to a package when there is only one package.  set a high
    46   bit to indicate which it is.  similar for properties.
    47 
    48 - split out hash table code from importer, make the merger use just
    49   the hash table.
    50 
    51 - try to clean up the
    52 
    53 	do { ... } while (((e++)->name & RAZOR_ENTRY_LAST) == 0);
    54 
    55   idiom for iteration of directories.