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
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
Exemplo 3.2. Saída da execução do comando rpmlint
no arquivo SPEC para o bello
$ 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 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
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 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.