Introdução

Quando fui gerar o yocto manualmente, tudo parecia certo. Contudo, após criar uma pipeline para gerar imagens de forma automatizada durante o processo de desenvolvimento, o seguinte erro apareceu:

update_desktop_database: 7: update-desktop-database: not found

Ou

update_desktop_database: 7: update-desktop-database: command not found

A solução mais fácil é comentar os scripts de verificação, mas após algum tempo fui pesquisar mais a fundo e segue a solução para este erro.

Solução

update-desktop-database

Primeiro o pacote update-desktop-database não estava instalado na máquina e era necessário.

Portanto, você deve instalar o pacote se ele não estiver instalado no seu sistema operacional, caso contrário, o comando não será encontrado.

Um passo para verificar e instalar o pacote extra/desktop-file-utils foi adicionado à pipeline.

Permissão

Após instalar o pacote, o problema persistiu…

O problema era a permissão dos arquivos de post install. Na pipeline de ci-cd, após clonar o repositório com os arquivos para gerar a imagem yocto, a permissão e o dono de todos os arquivos era alterada para permissão 755 e dono gitlab-runner.

Verifique as permissões dos arquivos do diretório poky/scripts/postinst-intercepts.

Normalmente, o postinst_intercept deve possuir a permissão 755 ou -rwxr-xr-x. E todos os outros arquivos 644 ou -rw-rw-r--.

Referências