1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-08-13 17:03:46 -04:00
pacman/lib/libalpm
Chantry Xavier 701a03dcdb 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>
2008-04-26 11:36:01 -05:00
..
po Merge branch 'maint' 2008-03-09 12:03:54 -05:00
.gitignore Remove unnecessary entries from .gitignore files 2007-07-16 16:49:28 -04:00
add.c Fix compilation errors on x86_64 2008-04-14 18:24:45 -05:00
add.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
alpm_list.c More cleanup to alpm_list 2008-02-24 18:07:44 -06:00
alpm_list.h alpm_list.c clean-up 2008-02-25 00:52:58 +01:00
alpm.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
alpm.h Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
backup.c memleak fix: ensure backup fname isn't lost if unused 2008-03-23 16:55:52 -05:00
backup.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
be_files.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
cache.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
cache.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
conflict.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
conflict.h New _alpm_conflict_dup function 2008-01-27 11:54:25 -06:00
db.c Remove a bit more download.h pollution 2008-04-06 20:28:43 -05:00
db.h Make db->treename a pointer 2008-03-26 20:19:44 -05:00
delta.c Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
delta.h Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
deps.c Kill compute_requiredby usage in can_remove_package() 2008-04-25 18:51:47 -05:00
deps.h Kill PM_TRANS_TYPE_ADD. 2008-03-17 21:01:22 -05:00
dload.c Give libalpm native support for both libdownload and libfetch 2008-04-19 16:18:17 -05:00
dload.h Remove unnecessary import in dload.h 2008-04-10 20:53:28 -05:00
error.c Give libalpm native support for both libdownload and libfetch 2008-04-19 16:18:17 -05:00
graph.h Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
group.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
group.h Switch pmgrp_t to dynamic allocation, general group cleanup 2008-03-23 14:51:51 -05:00
handle.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
handle.h Remove upgradedelay and all code associated with it 2008-01-08 15:49:52 -06:00
log.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
log.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
Makefile.am Merge branch 'maint' 2008-04-15 19:07:51 -05:00
md5.c Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
md5.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
package.c Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
package.h Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
remove.c remove.c: refactor into functions 2008-04-14 17:36:33 -05:00
remove.h Update GNU GPL boilerplate and copyright dates 2007-12-10 22:55:39 -06:00
sync.c Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
sync.h pmsyncpkg_t cleanup 2008-01-27 12:05:33 -06:00
trans.c Remove unnecessary header file, move one macro to util.c 2008-04-06 20:20:20 -05:00
trans.h Remove trans->targets 2008-03-10 18:57:36 -05:00
util.c Completely rework delta algorithm 2008-04-26 11:36:01 -05:00
util.h Remove unnecessary NULL check in FREE() macro 2008-04-19 15:59:40 -05:00