pacman/lib/libalpm
Andrew Gregory ec831e05f5 deps.c: check for indirect deps when ordering
On upgrades, indirect dependencies were not being detected if there was
a dependency in between them that was not part of the transaction.  For
example, with the dependency chain: pkg1 -> pkg2 -> pkg3, if pkg1 and
pkg3 are being upgraded but not pkg2 pacman would not order pkg1 and
pkg3 properly.

This was particularly problematic when replacements were involved
because the replaced package(s) would be removed at the start of the
transaction.  If an install script required the replacer and lacked
a direct dependency, it could fail.

Fixes FS#32764.

Partially fixes FS#23011.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
2013-06-26 15:32:15 +10:00
..
po Pull translation updates 2013-06-18 13:17:30 +10:00
.gitignore libalpm: add pkg-config file 2012-04-25 20:02:36 -04:00
add.c Install unchanged backup files to get correct timestamps. 2013-06-26 15:32:15 +10:00
add.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
alpm.c Improve documentation of libalpm interface functions 2013-03-31 11:08:54 +10:00
alpm.h alpm_filelist: remove resolved_path 2013-06-03 13:33:47 +10:00
alpm_list.c Document alpm_list files are to be stand alone 2013-06-06 13:47:32 +10:00
alpm_list.h Document alpm_list files are to be stand alone 2013-06-06 13:47:32 +10:00
backup.c Update copyright year for 2013 2013-01-03 12:03:09 +10:00
backup.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
base64.c Use 32-bit wide integer type in PolarSSL code 2012-01-07 11:27:41 -06:00
base64.h base64: don't compile base64_encode() function 2011-10-17 12:03:02 -05:00
be_local.c Restore libarchive 2.8.x compatibility 2013-01-29 13:37:32 +10:00
be_package.c Improve error message when package is missing required signature 2013-05-29 14:08:03 +10:00
be_sync.c validate %FILEPATH% when parsing repo dbs 2013-06-04 13:45:12 +10:00
conflict.c improve dir->file transition conflict resolution 2013-06-03 13:33:47 +10:00
conflict.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
db.c Update copyright year for 2013 2013-01-03 12:03:09 +10:00
db.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
delta.c Use a defined constant in delta.c for num_matches 2013-01-03 12:03:10 +10:00
delta.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
deps.c deps.c: check for indirect deps when ordering 2013-06-26 15:32:15 +10:00
deps.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
diskspace.c Update copyright year for 2013 2013-01-03 12:03:09 +10:00
diskspace.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
dload.c dload: don't download sig if package is found in cache 2013-02-24 13:11:54 +10:00
dload.h dload: pass back the effective URL to callers of _alpm_download 2013-01-29 13:36:58 +10:00
error.c Improve error message when package is missing required signature 2013-05-29 14:08:03 +10:00
filelist.c alpm_filelist: remove resolved_path 2013-06-03 13:33:47 +10:00
filelist.h alpm_filelist: remove resolved_path 2013-06-03 13:33:47 +10:00
graph.c Update copyright year for 2013 2013-01-03 12:03:09 +10:00
graph.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
group.c Update copyright year for 2013 2013-01-03 12:03:09 +10:00
group.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
handle.c Add configuration option for Upgrade operation SigLevel 2013-02-07 10:48:11 +10:00
handle.h Add configuration option for Upgrade operation SigLevel 2013-02-07 10:48:11 +10:00
libalpm.pc.in Use libalpm version in pkg-config file 2013-04-26 12:43:53 +10:00
libarchive-compat.h inline libarchive compat wrappers 2013-02-07 10:48:11 +10:00
log.c Add format attributes to all required functions 2013-02-13 11:50:33 +10:00
log.h add caller prefix to alpm_logaction 2013-01-28 23:38:46 +10:00
Makefile.am inline libarchive compat wrappers 2013-02-07 10:48:11 +10:00
md5.c Use 32-bit wide integer type in PolarSSL code 2012-01-07 11:27:41 -06:00
md5.h Update MD5 routines with changes from PolarSSL 2011-08-11 20:17:21 -05:00
package.c alpm_filelist: remove resolved_path 2013-06-03 13:33:47 +10:00
package.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
pkghash.c Update copyright year for 2013 2013-01-03 12:03:09 +10:00
pkghash.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
rawstr.c include util.h in rawstr.c 2011-07-05 22:36:40 -05:00
remove.c unlink_file: treat symlinks like normal files 2013-06-03 13:33:47 +10:00
remove.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
sha2.c Use 32-bit wide integer type in PolarSSL code 2012-01-07 11:27:41 -06:00
sha2.h Add sha2 (sha256) routines from PolarSSL 2011-08-15 07:07:13 -05:00
signing.c Fix spelling errors using 'codespell' tool 2013-04-18 13:20:13 +10:00
signing.h Make decode_signature available to the library 2013-02-09 12:43:37 +10:00
sync.c libalpm/sync: remove useless intermediate variable 2013-03-10 09:01:56 +10:00
sync.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
trans.c Add format attributes to all required functions 2013-02-13 11:50:33 +10:00
trans.h Update copyright year for 2013 2013-01-03 12:03:09 +10:00
util-common.c Split common utility functions for libalpm and pacman 2013-01-04 21:49:37 +10:00
util-common.h Split common utility functions for libalpm and pacman 2013-01-04 21:49:37 +10:00
util.c Fix spelling errors using 'codespell' tool 2013-04-18 13:20:13 +10:00
util.h Add format attributes to all required functions 2013-02-13 11:50:33 +10:00
version.c Fix space between control structure and open parens 2013-01-04 21:49:38 +10:00