O que exatamente a opção --names-only do apt-cache faz?

5

De acordo com o manual,

   search regex...
       search performs a full text search on all available package lists
       for the POSIX regex pattern given, see regex(7). It searches the
       package names and the descriptions for an occurrence of the regular
       expression and prints out the package name and the short
       description, including virtual package names. If --full is given
       then output identical to show is produced for each matched package,
       and if --names-only is given then the long description is not
       searched, only the package name is.
[...]

   --names-only, -n
       Only search on the package names, not the long descriptions.
       Configuration Item: APT::Cache::NamesOnly.

No entanto, me deparei com uma situação estranha:

$ apt-cache search --names-only 'kde*' | grep tkcv
tkcvs - Graphical front-end to CVS and Subversion

Por que no mundo o comando acima corresponderia a tk8.6-doc ? Braiam e passei alguns minutos conversando sobre isso e ele notou que

$ apt-cache show tkcvs | grep -i kd
Replaces: tkdiff
Provides: tkdiff

Então, Braiam sugeriu que ele está combinando com o campo Replaces , o que faz uma certa quantidade de sentido no caso de alterar nomes de pacotes. OK então, mas e sobre:

$ apt-cache search --names-only 'kde*' | grep tk8.6
tk8.6-doc - Tk toolkit for Tcl and X11, v8.6 - manual pages
$ apt-cache show tk8.6-doc | grep -i kd
Provides: tkdoc
Conflicts: tkdoc

Aqui, ele está correspondendo aos campos Conflicts ou Provides e não posso distorcer o significado de --names-only para torná-lo compatível com esses campos. Então, o que exatamente --names-only pesquisa? São os nomes de todos os pacotes mencionados na descrição de um pacote? Obviamente, não corresponde apenas ao nome do pacote.

    
por terdon 10.03.2014 / 04:43

1 resposta

5

Acontece que apt-cache search --names-only também procura Provides . A página man precisa ser atualizada. Aqui é um link para o relatório de erros sobre o mesmo.

As per bug #98695¹, it seems that "apt-cache search --names-only" is also looking into "Provides" field while man page suggests that only package name is queried.

I think the manual page of apt-cache should be updated accordingly to reflect the current state of the paremeter.

¹http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=98695

Esta foi a lista de desejos que causou a alteração do comportamento de apt-cache search para pesquisar Provides além do nome do pacote.

    
por 10.03.2014 / 05:05