Hi,

On Thu, 2012-05-17 at 19:08:05 +0200, Zlatko Calusic wrote:
> Package: dpkg
> Version: 1.16.3
> Severity: normal

> The dpkg manual states:
> 
> EXAMPLES
>        To list packages related to the editor vi(1):
>             dpkg -l '*vi*'
> 
> Sometimes it works. But sometimes not. Consider this example:
> 
> # apt-cache policy gimp-flegita
> gimp-flegita:
>   Installed: (none)
>   Candidate: 0.6.2-1.1
>   Version table:
>      0.6.2-1.1 0
>         500 http://ftp.debian.org/debian/ sid/main amd64 Packages
> 
> So, the package exists. But...

It exists in the apt-cache, which might be reflected in the available
file, but only if it's been kept in sync, something that's not always
true.

> # dpkg -l '*flegita*'
> No packages found matching *flegita*.
> 
> Before, it used to work every time.

Well, the problem is that «dpkg-query -l» behaved differently depending
on the amount of arguments passed, if none only installed packages
were shown, otherwise available packages too. And this had a
performance penalty for all dpkg-query commands which could be
significant.

This was changed recently to always only show installed package
information to not penalize users not interested in the available
file (now mostly only used by dselect), and let the user be explicit
about what information is desired. The --load-avail option for dpkg-query
was introduced exactly for this purpose.

I'll update the example in the dpkg(1) man page, but I don't see this
behaviour changing back.

thanks,
guillem



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to