[pacman-dev] [PATCH 2/2] Print warning on removal of indirect optdepend
Allan McRae
allan at archlinux.org
Sat Dec 21 04:43:03 EST 2013
On 21/12/13 05:10, Chirantan Ekbote wrote:
> Print a warning when a package that satisfies an optional dependency
> for another package through its provides array is removed.
>
> Fixes FS#37669
>
> Signed-off-by: Chirantan Ekbote <chirantan.ekbote at gmail.com>
> ---
> This is the simplest solution, although the downside is that the
> warning prints the name of the optdepend rather than the name of the
> package being removed.
>
> An alternative solution would be to modify the signature of the event
> so that the second parameter is an alpm_pkg_t rather than an
> alpm_depend_t.
>
> The best solution would be one where the warning prints the optdepend
> as well as the package that satisfies it. Something like:
>
> :: coffee optionally requires sugar (provided by brown-sugar-1.0-1)
>
> but I don't see a good way of doing this without adding a third
> parameter to all events...
We will save this for after the events rewrite gets in. That way we can
pass whatever we want to the event.
Allan
> lib/libalpm/remove.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
> index 9417a61..b3d1f1d 100644
> --- a/lib/libalpm/remove.c
> +++ b/lib/libalpm/remove.c
> @@ -178,7 +178,7 @@ static void remove_notify_needed_optdepends(alpm_handle_t *handle, alpm_list_t *
> alpm_list_t *j;
> for(j = optdeps; j; j = alpm_list_next(j)) {
> alpm_depend_t *optdep = j->data;
> - if(alpm_pkg_find(lp, optdep->name)) {
> + if(alpm_find_satisfier(lp, optdep->name)) {
> EVENT(handle, ALPM_EVENT_OPTDEP_REQUIRED, pkg, optdep);
> }
> }
>
More information about the pacman-dev
mailing list