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