Como encontro todos e quaisquer arquivos 'C' que estão no repositório Debian (seja na origem ou no binário)?

1

Como posso encontrar todos os arquivos na origem ou na forma binária no repositório de pacotes Debian?

Eu tentei o seguinte, mas os resultados não foram úteis:

apt-file search *.c

e

apt-file search *.cc

Então isso significa que não há arquivos c ou cc no repositório Debian (altamente improvável) ou o meu método de pesquisa não era bom (mais provável). O índice do arquivo apt já está atualizado.

    
por shirish 28.04.2015 / 22:48

2 respostas

2

Como você descobriu, apt-file procura apenas os nomes dos arquivos em pacotes binários. Isso é possível porque o Debian fornece índices de conteúdo para todos os pacotes binários em seus arquivos; por exemplo, link .

A maneira mais fácil de pesquisar o código fonte no Debian é usar o link ou diretamente link (o primeiro é um front-end para o último).

Se você deseja pesquisar o código-fonte localmente, precisará baixá-lo; que requer uma boa quantidade de largura de banda e armazenamento. Debian 8 contém em torno de 170GB de código-fonte ; compactado que leva cerca de 40 GB ( 10 DVDs ). 40.3% disso é o código C (que é provavelmente um valor mais preciso do que você poderia determinar com debtags ); O código C ++ representa outros 23.1% além disso, então você está olhando para quase dois terços do código-fonte (por contagem de linhas) ... Você pode recuperar o pacote do código-fonte por pacote usando apt-get source (como você aponta você mesmo). Você também pode executar sua própria instância de Codesearch usando a fonte disponível no GitHub .

    
por 29.04.2015 / 07:13
2

Este provavelmente não é o jeito oficial do Debian de fazer isso, mas é assim que eu faria.

ar -p foo.deb tmp.tar.gz | tar tzv

Então, é claro, você pode canalizar essa saída pelo grep.

ar -p foo.deb tmp.tar.gz | tar tzv | grep -i bar

A título de explicação: ar -p foo.deb tmp.tar.gz converte o arquivo .deb em um tar gzip. Em seguida, enviamos o arquivo tar.gz por meio de tar e listamos os arquivos contidos no tarball ( t lists, z unzips e v faz isso com detalhes)

Pode haver uma maneira mais simples, mas quando eu recorto os arquivos .deb para uso no Slackware, é basicamente o fluxo de trabalho que eu uso.

    
por 29.04.2015 / 00:41