pegue o git repo de várias fontes na receita Yocto

2

Estou tentando recuperar fontes de vários repositórios de gits em uma receita do Yocto. Eu usei

SRC_URI = "git://<git_repo_uri>;protocol=ssh;rev=<revision> \
           git://<git_repo_uri>;protocol=ssh;rev=<revision> \
           file://<some file to grab>"

mas relata erro de que a pasta {WORKDIR} / git não pode ser encontrada.

ROR: Function failed: Fetcher failure: Fetch command failed with exit code 128, output:
| shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
| shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
| fatal: Could not get current working directory: No such file or directory

Parece que, depois que o fetcher baixou o primeiro repositório do git, ele remove o conteúdo de {WORKDIR} / git para se preparar para um segundo download do repositório do git. Criando assim o erro "Nenhum diretório encontrado".

Eu testei e se apenas um fetcher de protocolo de arquivos repo + git pode executar corretamente.

Alguma idéia de como pegar códigos fonte de múltiplos repositórios git?

Obrigado!

    
por mika72 27.04.2016 / 23:02

2 respostas

2

Você já tentou adicionar subdir= às suas linhas git?

Algo parecido com isto?

SRC_URI = "git://<git_repo_uri>;protocol=ssh;rev=<revision>;subdir=first_repo \
           git://<git_repo_uri>;protocol=ssh;rev=<revision>;subdir=second_repo \
           file://<some file to grab>"

Parece que houve algum bug contra essa funcionalidade em algum momento ( link ), então sua milhagem pode variar dependendo de qual versão do Yocto você está usando.

    
por 28.04.2016 / 16:49
1

Eu tive exatamente o mesmo problema e achei que subdir e name não funcionavam, mas destsuffix=<somename> funcionou. Tanto quanto eu sei isso não está documentado, mas pode ser entendido a partir do código de busca bitbake. Exemplo como airfishey:

SRC_URI = "git://<git_repo_uri>;protocol=ssh;rev=<revision>;destsuffix=first_repo \
           git://<git_repo_uri>;protocol=ssh;rev=<revision>;destsuffix=second_repo \
           file://<some file to grab>"
    
por 01.12.2016 / 12:46