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--.
