3.4. Verificação da sanidade dos RPMs
Depois de criar uma embalagem, verifique a qualidade da embalagem.
A principal ferramenta para verificar a qualidade da embalagem é o rpmlint.
A ferramenta rpmlint faz o seguinte:
- Melhora a capacidade de manutenção do RPM.
- Permite a verificação da sanidade através da análise estática do RPM.
- Possibilita a verificação de erros através da análise estática da RPM.
A ferramenta rpmlint pode verificar RPMs binários, RPMs de origem (SRPMs) e arquivos SPEC, portanto é útil para todas as etapas de embalagem, como mostrado nos exemplos a seguir.
Note que rpmlint tem diretrizes muito rigorosas; por isso, às vezes é aceitável pular alguns de seus erros e avisos, como mostrado nos exemplos a seguir.
Nos exemplos a seguir, rpmlint é executado sem nenhuma opção, o que produz uma saída não-verbose. Para explicações detalhadas de cada erro ou aviso, você pode rodar rpmlint -i em seu lugar.
3.4.1. Verificando a sanidade do Bello Copiar o linkLink copiado para a área de transferência!
Esta seção mostra possíveis avisos e erros que podem ocorrer ao verificar a sanidade RPM no exemplo do arquivo bello SPEC e bello binário RPM.
3.4.1.1. Verificação do Arquivo Bello SPEC Copiar o linkLink copiado para a área de transferência!
Exemplo 3.2. Saída da execução do comando rpmlint no arquivo SPEC para o bello
rpmlint bello.spec
$ rpmlint bello.spec
bello.spec: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
0 packages and 1 specfiles checked; 0 errors, 1 warnings.
Para bello.spec, há apenas um aviso, que diz que a URL listada na diretiva Source0 é inalcançável. Isto é esperado, pois o URL especificado example.com não existe. Presumindo que esperamos que este URL funcione no futuro, podemos ignorar esta advertência.
Exemplo 3.3. Saída da execução do comando rpmlint no SRPM para o bello
rpmlint ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
$ rpmlint ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
bello.src: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.src: W: invalid-url Source0: https://www.example.com/bello/releases/bello-0.1.tar.gz HTTP Error 404: Not Found
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
Para a SRPM bello, há um novo aviso, que diz que a URL especificada na diretiva URL é inalcançável. Supondo que o link estará funcionando no futuro, podemos ignorar esta advertência.
3.4.1.2. Verificação do RPM binário bello Copiar o linkLink copiado para a área de transferência!
Ao verificar os RPMs binários, rpmlint verifica os seguintes itens:
- Documentação
- Páginas do manual
- Uso consistente do padrão de hierarquia do sistema de arquivos
Exemplo 3.4. Saída da execução do comando rpmlint no RPM binário para bello
rpmlint ~/rpmbuild/RPMS/noarch/bello-0.1-1.el8.noarch.rpm
$ rpmlint ~/rpmbuild/RPMS/noarch/bello-0.1-1.el8.noarch.rpm
bello.noarch: W: invalid-url URL: https://www.example.com/bello HTTP Error 404: Not Found
bello.noarch: W: no-documentation
bello.noarch: W: no-manual-page-for-binary bello
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
Os avisos no-documentation e no-manual-page-for-binary dizem que o RPM não tem documentação ou páginas de manual, porque não fornecemos nenhuma. Além das advertências acima, o RPM passou por rpmlint verificações.