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

Reply via email to