On Fri, Sep 4, 2009 at 1:09 AM, Allan McRae <[email protected]> wrote:
> Xavier wrote: > >> On Thu, Sep 3, 2009 at 9:18 PM, <[email protected]> wrote: >> >> >>> From: Laszlo Papp <[email protected]> >>> >>> 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 <[email protected]> >>> --- >>> 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/[email protected]/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
