diff options
author | Nathan Jones <nathanj@insightbb.com> | 2007-12-15 11:01:52 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-12-21 11:09:24 -0600 |
commit | 7fdb2ee48a3b252427405ee304af46b211fd2b84 (patch) | |
tree | d42157ff8a7c4962986cc6640199c38f96dc8935 /lib/libalpm/sync.c | |
parent | b43301428e50d006c9b94d1ced74f1f0775a04dc (diff) | |
download | pacman-7fdb2ee48a3b252427405ee304af46b211fd2b84.tar.xz |
Check ignored packages in _alpm_sync_addtarget().
This will allow someone to install a group but ignore individual
packages inside the group.
Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/sync.c')
-rw-r--r-- | lib/libalpm/sync.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 8c213aae..76618665 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -344,6 +344,14 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy RET_ERR(PM_ERR_PKG_NOT_FOUND, -1); } + if(_alpm_pkg_should_ignore(spkg)) { + int resp; + QUESTION(trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, spkg, NULL, NULL, &resp); + if (!resp) { + return(0); + } + } + local = _alpm_db_get_pkgfromcache(db_local, alpm_pkg_get_name(spkg)); if(local) { if(alpm_pkg_compare_versions(local, spkg) == 0) { |