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>
This commit is contained in:
Nathan Jones 2007-12-15 11:01:52 -05:00 committed by Dan McGee
parent b43301428e
commit 7fdb2ee48a
2 changed files with 9 additions and 1 deletions

View File

@ -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) {

View File

@ -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);