diff options
author | Chantry Xavier <shiningxc@gmail.com> | 2008-02-16 10:47:22 -0600 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2008-04-26 11:36:01 -0500 |
commit | 701a03dcdb113e92b4f8de52a7a427dfdfc3dd27 (patch) | |
tree | 670bae62f1dce6ea8c22a7afa9f5ba79aa4f1573 /lib/libalpm/util.c | |
parent | 30bdf94c2b444ff475a32e7b0c569e8c3cf05797 (diff) | |
download | pacman-701a03dcdb113e92b4f8de52a7a427dfdfc3dd27.tar.xz |
Completely rework delta algorithm
Using the graph structures that Nagy set up for dependency sorting, we now
do a similar process for deltas. Load up all of the deltas into a graph
object on which we can then apply Dijkstra's algorithm, using the new weight
field of graph struct.
We initialize the nodes weight using the base files that we can use in our
filecache (both filename and md5sum must match). The algorithm then picks
the best path among those that can be resolved.
Note that this algorithm has a few advantages over the old one:
1. It is completely file agnostic. These delta chains do not have to consist
of package files- this could be adopted to do delta-fied DBs.
2. It does not use the local_db anymore, or even care if a package or file
is currently installed. Instead, it only looks in the filecache for files
and packages that match delta chain entries.
Original-work-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Diffstat (limited to 'lib/libalpm/util.c')
-rw-r--r-- | lib/libalpm/util.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index 9f431ed7..a7a6573a 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -545,8 +545,8 @@ int _alpm_str_cmp(const void *s1, const void *s2) return(strcmp(s1, s2)); } -/** Find a package file in an alpm cachedir. - * @param filename name of package file to find +/** Find a filename in a registered alpm cachedir. + * @param filename name of file to find * @return malloced path of file, NULL if not found */ char *_alpm_filecache_find(const char* filename) |