Preciso obter a lista de pacotes fontes que não possuem pacotes binários no Debian.
Listar todos os pacotes fontes pode ser uma resposta, para que possamos obter a diff
diferença entre o binário disponível e o pacote fonte disponível.
Responder1
Até onde sei, todos os pacotes fonte no Debian devem produzir pelo menos um pacote binário em pelo menos uma arquitetura.
Para contar o número de pacotes binários produzidos pelos pacotes fonte disponíveis nos repositórios fonte configurados do sistema ( deb-src
linhas), execute
awk '/Package:/{p=$2;b=0} /Binary:/{b=NF - 1} /^$/{printf "%s: %d\n", p, b} END{printf "%s: %d\n", p, b}' /var/lib/apt/lists/*Sources
Isso não consegue encontrar nenhum pacote fonte sem pacotes binários nos atuais repositórios estáveis, de teste, instáveis e experimentais.
Se quiser determinar quais pacotes fonte não produzem binários em uma determinada arquitetura, você pode proceder da seguinte forma:
liste os nomes exclusivos dos pacotes de origem globalmente:
awk '/Package:/{print $2}' /var/lib/apt/lists/*_Sources | sort -u > source-packages
liste os pacotes fonte usados para produzir os binários de uma determinada arquitetura (excluindo
all
, que está incluído nos índices específicos do arch):awk '/(Package|Source):/{source=$2}/Version:/{print source}' /var/lib/apt/lists/*-amd64_Packages | sort -u > amd64-packages
entradas de lista presentes na lista de pacotes de origem globais, mas não naqueles usados para
amd64
:comm -23 source-packages amd64-packages