Allan McRae wrote:
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c index c5fb92e..b03cd48 100644 --- a/lib/libalpm/deps.c +++ b/lib/libalpm/deps.c @@ -570,8 +570,12 @@ static pmpkg_t *resolvedep(pmdepend_t *dep, alpm_list_t *dbs, if(_alpm_pkg_should_ignore(pkg)) { int install = 0; if(prompt) { - QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg, - NULL, NULL, &install); + if(handle->trans->flags & PM_TRANS_FLAG_DOWNLOADONLY) { + install = 1; + } else { + QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg, + NULL, NULL, &install); + } } else { _alpm_log(PM_LOG_WARNING, _("ignoring package %s-%s\n"), pkg->name, pkg->version); } @@ -592,8 +596,13 @@ static pmpkg_t *resolvedep(pmdepend_t *dep, alpm_list_t *dbs, if(_alpm_pkg_should_ignore(pkg)) { int install = 0; if(prompt) { - QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, - pkg, NULL, NULL, &install); + + if(handle->trans->flags & PM_TRANS_FLAG_DOWNLOADONLY) { + install = 1; + } else { + QUESTION(handle->trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, pkg, + NULL, NULL, &install); + } } else { _alpm_log(PM_LOG_WARNING, _("ignoring package %s-%s\n"), pkg->name, pkg->version); } -- 1.7.5.4
Patch looks fine to me but some minor comments : 1) just a matter of taste, I would reduce the number of levels with if (prompt && download) install = 1 else if prompt ... else ... 2) can we have downloadonly and prompt=0 ? do we want to print the warning in that case ? 3) that patch highlights that these 2 blocks are completely identical and could maybe be factored like that : if (install_ignorepkg(pkg)) install = 1 else ignored = 1 continue