免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 881 | 回复: 0
打印 上一主题 下一主题

openembedded virtual [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-17 13:51 |只看该作者 |倒序浏览

                                virtual
OpenEmbedded 源于gentoo,其中virtual这个属性也和gentoo中的virtual类似
virtual/name
name并不一定是一个实际存在的package,就只是一个代号,由provider提供,然后
任何package需要依赖的使用。实际应用中,多个package可能满足一个依赖,但是
没有任何特殊的理由选定哪一个,这也就是virtual诞生的意义吧。
例子:
samplec depends samplea or sampleb
samplec_1.0.0.bb
               
               
                DEPENDS ="virtual/demo"
do_stage () {
        mv  ${STAGING_INCDIR}/head.h ${STAGING_INCDIR}/head_c.h
}
samplea_1.0.0.bb
SRC_URI="file://head.h"
S=${WORKDIR}/${PN}
PROVIDES ="virtual/demo"
do_stage() {
        install -m 0644 ${WORKDIR}/head.h ${STAGING_INCDIR}/head.h
}
sampleb_1.0.0.bb
SRC_URI="file://head1.h"
S=${WORKDIR}/${PN}
PROVIDES ="virtual/demo"
do_stage() {
        install -m 0644 ${WORKDIR}/head1.h ${STAGING_INCDIR}/head.h
}
bitbake samplec
NOTE: multiple providers are available (samplea, sampleb);
NOTE: consider defining PREFERRED_PROVIDER_virtual/demo
NOTE: package samplea-1.0.0: started
NOTE: package samplea-1.0.0-r0: task do_fetch: started
NOTE: Skipped
NOTE: package samplea-1.0.0-r0: task do_fetch: completed
NOTE: package samplea-1.0.0-r0: task do_unpack: started
NOTE: Unpacking
NOTE: package samplea-1.0.0-r0: task do_unpack: completed
NOTE: package samplea-1.0.0-r0: task do_patch: started
NOTE: package samplea-1.0.0-r0: task do_patch: completed
NOTE: package samplea-1.0.0-r0: task do_configure: started
NOTE: package samplea-1.0.0-r0: task do_configure: completed
NOTE: package samplea-1.0.0-r0: task do_compile: started
NOTE: package samplea-1.0.0-r0: task do_compile: completed
NOTE: package samplea-1.0.0-r0: task do_install: started
NOTE: package samplea-1.0.0-r0: task do_install: completed
NOTE: package samplea-1.0.0-r0: task do_package: started
NOTE: Not creating empty archive for samplea-dbg-1.0.0-r0
NOTE: Not creating empty archive for samplea-1.0.0-r0
NOTE: Not creating empty archive for samplea-doc-1.0.0-r0
NOTE: Not creating empty archive for samplea-dev-1.0.0-r0
NOTE: Not creating empty archive for samplea-locale-1.0.0-r0
NOTE: package samplea-1.0.0-r0: task do_package: completed
NOTE: package samplea-1.0.0-r0: task do_populate_staging: started
NOTE: package samplea-1.0.0-r0: task do_populate_staging: completed
NOTE: package samplea-1.0.0-r0: task do_build: started
NOTE: package samplea-1.0.0-r0: task do_build: completed
NOTE: package samplea-1.0.0: completed
NOTE: package samplec-1.0.0: started
NOTE: package samplec-1.0.0-r0: task do_fetch: started
NOTE: package samplec-1.0.0-r0: task do_fetch: completed
NOTE: package samplec-1.0.0-r0: task do_unpack: started
....
NOTE: package samplec-1.0.0-r0: task do_unpack: completed
NOTE: package samplec-1.0.0-r0: task do_patch: started
NOTE: package samplec-1.0.0-r0: task do_patch: completed
NOTE: package samplec-1.0.0-r0: task do_configure: started
NOTE: package samplec-1.0.0-r0: task do_configure: completed
NOTE: package samplec-1.0.0-r0: task do_compile: started
NOTE: package samplec-1.0.0-r0: task do_compile: completed
NOTE: package samplec-1.0.0-r0: task do_install: started
NOTE: package samplec-1.0.0-r0: task do_install: completed
NOTE: package samplec-1.0.0-r0: task do_package: started
NOTE: Not creating empty archive for samplec-dbg-1.0.0-r0
NOTE: Not creating empty archive for samplec-1.0.0-r0
NOTE: Not creating empty archive for samplec-doc-1.0.0-r0
NOTE: Not creating empty archive for samplec-dev-1.0.0-r0
NOTE: Not creating empty archive for samplec-locale-1.0.0-r0
NOTE: package samplec-1.0.0-r0: task do_package: completed
NOTE: package samplec-1.0.0-r0: task do_populate_staging: started
NOTE: package samplec-1.0.0-r0: task do_populate_staging: completed
NOTE: package samplec-1.0.0-r0: task do_build: started
NOTE: package samplec-1.0.0-r0: task do_build: completed
NOTE: package samplec-1.0.0: completed
NOTE: build 200708171357: completed
Build statistics:
  Attempted builds: 2
从红色标志的行可以清晰地看到,满足samplec的dependence有两个package,samplea,sampleb
然后考虑PREFERRED_PROVIDER_virtual/demo这个变量,如果有定义,则选择其定义的package
这里没有,就选择了samplea
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/32610/showart_362070.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP