[pacman-dev] [PATCH] Feedback from installed package while searching

Laszlo Papp djszapi2 at gmail.com
Thu Sep 3 19:54:30 EDT 2009


On Fri, Sep 4, 2009 at 1:09 AM, Allan McRae <allan at archlinux.org> wrote:

> Xavier wrote:
>
>> On Thu, Sep 3, 2009 at 9:18 PM, <djszapi2 at gmail.com> wrote:
>>
>>
>>> From: Laszlo Papp <djszapi2 at gmail.com>
>>>
>>> To get feedback while searching instead of using another utility for
>>> this purpose, whether the desired packages are installed. You can see
>>> example for it in case of yaourt.
>>>
>>> Signed-off-by: Laszlo Papp <djszapi2 at gmail.com>
>>> ---
>>>  src/pacman/sync.c |    4 ++++
>>>  1 files changed, 4 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/src/pacman/sync.c b/src/pacman/sync.c
>>> index dc93621..9935d6d 100644
>>> --- a/src/pacman/sync.c
>>> +++ b/src/pacman/sync.c
>>> @@ -330,6 +330,10 @@ static int sync_search(alpm_list_t *syncs,
>>> alpm_list_t *targets)
>>>                                       printf(")");
>>>                               }
>>>
>>> +                               if (alpm_db_get_pkg(db_local,
>>> alpm_pkg_get_name(pkg))) {
>>> +                                               printf(" [%s]",
>>> _("installed"));
>>> +                               }
>>> +
>>>                               /* we need a newline and initial indent
>>> first */
>>>                               printf("\n    ");
>>>                               indentprint(alpm_pkg_get_desc(pkg), 4);
>>> --
>>> 1.6.4.1
>>>
>>>
>>>
>>>
>>>
>>
>> stopped using root account, heh ?
>>
>> I submitted a similar patch 1 year and a half ago, but it was never
>> accepted :
>> http://www.mail-archive.com/pacman-dev@archlinux.org/msg00109.html
>>
>> So I am afraid you are stuck with yaourt / pacsearch / any other
>> pacman wrapper to get that feature.
>>
>>
>
> Well...  this is nothing if not persistent given Laslo had a bug report
> closed as "Won't Implement" for this feature request...
>
>
My name is Laszlo ;)


> So lets take a step back and see why this feature was dismissed.  As far as
> I can tell, it was rejected because it is slower as we need to parse the
> local db as well as the sync db - of course only applies before the local db
> is cached.
>

The uses of strlen, strcmp and memory allocations far outweight time taken
on-disk for me
I just did a callgrind test on pacman with [installed], the number of calls
to alpm_db_get_pkg was 27, the cost itself was 0%, while memory allocations,
strlen, fgets are 7% 6% and 6% of the overall number of calls. The number of
calls are 194,000 469,000 223,000 and those numbers are cut for simplicit,
so just benchmark pacman, valgrind --tool=callgrind pacman -Ss pacman.


>
> I actually had Xavier's patch bookmarked because I was going to revisit
> this idea with this awesome suggestion....   How about adding a
> configuration option called "SearchLocal" or something that directs whether
> this is enabled.
>
> Allan
>
>
In last case a separate option can be good too. (who would like to use it
all the time, make an alias, bash function or something for it).

Best Regards,
Laszlo Papp


More information about the pacman-dev mailing list