조용한 담장

[Yocto] packagegroup 에 조건부 레시피 추가와 삭제 본문

Yocto

[Yocto] packagegroup 에 조건부 레시피 추가와 삭제

iosroid 2023. 8. 30. 16:31

RDEPENDS_pakcagegroup-my.bb 에서 조건에 따라 레시피를 넣고 빼는 방법.

 

조건은 DISTRO_FEATURES 를 사용.

 

DISTRO_FEATURES 에 apple 이라는 레시피가 있으면 banana, grape, melon 레시피를 추가.

DISTRO_FEATURES 에 monkey 이라는 레시피가 있으면 banana 레시피를 제거.

 

# apple 의 dependecy 로 banana 추가.
RDEPENDS_packagegroup-my = "\
    ${@bb.utils.contains('DISTRO_FEATURES', 'apple', 'banana grape melon', '', d)} \
    "
# monkey 가 존재하면 banana 제거.
RDEPENDS_packagegroup-my_remove = " \
    ${@bb.utils.contains('DISTRO_FEATURES', 'monkey', 'banana', '', d)} \
    "

packagegroup 의 내용은 -g 옵션으로 확인.

$ bitbake -g packagegroup-my
Loading cache: 100% |############################################################################################################################| Time: 0:00:00
Loaded 4427 entries from dependency cache.
Parsing recipes: 100% |##########################################################################################################################| Time: 0:00:05
Parsing of 3058 .bb files complete (2928 cached, 130 parsed). 4556 targets, 486 skipped, 11 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
NOTE: PN build list saved to 'pn-buildlist'
NOTE: Task dependencies saved to 'task-depends.dot'

pn-buildlist 파일이 생성되고 위 설정대로 추가/삭제 잘 되는지 확인 가능.

 

'Yocto' 카테고리의 다른 글

[Yocto] 빌드가 왜 오래 걸리나 알아보자.  (1) 2023.10.25
Comments