Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/lib/libalpm
diff options
context:
space:
mode:
authorNathan Jones <nathanj@insightbb.com>2007-12-15 11:01:52 -0500
committerDan McGee <dan@archlinux.org>2007-12-21 11:09:24 -0600
commit7fdb2ee48a3b252427405ee304af46b211fd2b84 (patch)
treed42157ff8a7c4962986cc6640199c38f96dc8935 /lib/libalpm
parentb43301428e50d006c9b94d1ced74f1f0775a04dc (diff)
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')
-rw-r--r--lib/libalpm/sync.c8
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) {