By: fu linux
E-mail: fulinux@sina.com
Blog: https://blog.csdn.net/fulinus
喜欢的盆友欢迎订阅!
你的喜欢就是我写作的动力!
返回总目录 : Yocto开发讲解系列 - 总目录
有个读者朋友想了解如何在bb文件中处理字符串,比如:
我今天简单研究了一下,因为以前也没有在bb文件里面处理字符串,简单验证写了一个示例程序,希望对读者有帮助,但不能确保是否是最优的方案。
有需要的盆友还需要读一下这几篇:
yocto-第4篇-创建自己的meta layer
yocto-第43篇-bb文件中函数实操演示(1)
yocto-第43篇-bb文件中函数实操演示(2)
我修改的文件路径和内容:
meta-mylayer/recipes-example/example/example_0.1.bb
- 1
内容如下:
# Example
SUMMARY = "bitbake-layers recipe"
DESCRIPTION = "Recipe created by bitbake-layers"
LICENSE = "MIT"
ProjectRev = "abcdef_xyz_VA_0929_01.002.03"
python do_split_join() {
strings = d.getVar("ProjectRev", True).split('.')
for str in strings:
bb.plain(str)
bb.plain(strings[0])
bb.plain(strings[1])
bb.plain(strings[2])
NewString = strings[0] + "." + strings[1]
bb.plain(NewString)
}
addtask do_split_join before do_build
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
需要特别注意的是:缩进不能使用tab,最好是4个空格,怎么看呢?
在vim里面设置:
:set list
- 1
另外编译之前最好是清理一下这个项目:
poky]$ source oe-init-build-env
build]$ bitbake -c cleanall example
- 1
- 2
编译和结果展示:
build]$ bitbake example
...
abcdef_xyz_VA_0929_01
002
03
abcdef_xyz_VA_0929_01
002
03
abcdef_xyz_VA_0929_01.002
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9