Yocto 레시피의 여러 소스에서 git 저장소를 가져옵니다.

Yocto 레시피의 여러 소스에서 git 저장소를 가져옵니다.

Yocto 레시피의 여러 Git 저장소에서 소스를 검색하려고 합니다. 나는 사용했다

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

그런데 {WORKDIR}/git 폴더를 찾을 수 없다는 오류가 보고됩니다.

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

Fetcher가 첫 번째 Git 저장소를 다운로드한 후 두 번째 Git 저장소 다운로드를 준비하기 위해 {WORKDIR}/git의 내용을 삭제하는 것처럼 보입니다. 이로 인해 "디렉토리를 찾을 수 없습니다" 오류가 발생합니다.

git repo + 파일이 1개만 있는 경우 프로토콜 getter가 올바르게 작동하는지 테스트했습니다.

여러 Git 저장소에서 소스 코드를 얻는 방법에 대해 알고 계시나요?

감사해요!

답변1

나는 똑같은 문제가 있었고 하위 디렉토리와 이름이 작동하지 않지만 destsuffix=<somename>작동한다는 것을 발견했습니다. 내가 아는 한 이것은 문서화되어 있지 않지만 bitbake 가져오기 코드에서 이해할 수 있습니다. 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>"

답변2

subdir=이것을 git 라인에 추가해 보셨나요 ?

이 같은?

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

어느 시점에서 이 기능에 대한 버그가 접수된 것 같습니다(https://bugzilla.yoctoproject.org/show_bug.cgi?id=6562), 따라서 사용하는 Yocto 버전에 따라 마일리지가 달라질 수 있습니다.

관련 정보