From 7fdb2ee48a3b252427405ee304af46b211fd2b84 Mon Sep 17 00:00:00 2001 From: Nathan Jones Date: Sat, 15 Dec 2007 11:01:52 -0500 Subject: 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 Signed-off-by: Dan McGee --- lib/libalpm/sync.c | 8 ++++++++ src/pacman/sync.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) 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) { diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 5c539b85..00e8935f 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -584,7 +584,7 @@ static int sync_trans(alpm_list_t *targets, int sync_only) alpm_list_t *k; found++; - printf(_(":: group %s:\n"), targ); + printf(_(":: group %s (including ignored packages):\n"), targ); /* remove dupe entries in case a package exists in multiple repos */ const alpm_list_t *grppkgs = alpm_grp_get_pkgs(grp); alpm_list_t *pkgs = alpm_list_remove_dupes(grppkgs); -- cgit v1.2.3-24-g4f1b