声明:本文章作者版权所有!禁止转载!
otob现在仅仅是个toy而已,大家拍拍砖吧,不过用来构建嵌入式的系统,只要添加包meta就行了。
现在主要是想重新设计otob,大家看看,给点意见吧。
这个otob实在是简陋,但是现在利用它可以构建系统了,ARM的工作流复杂,所以就针对x86构建系统
进行了测试,今天初期测试完毕,参照clfs x86构建otob linux可以工作.
otob使用跟gentoo类似的标记来标识一个包应该安装什么功能。同时otob为了可以处理主机上程序安装,
交叉编译,和工具链和临时系统安装,指定了三个构建时标记来TOOLCH,HOST,SYSROOT。
如果一个包是在构建工具链时被安装那么使用TOOLCHI标记,如果是直接往根上装那么使用HOST,如果是
交叉编译安装到目标系统上就使用SYSROOT。同时一个包的configure选项里的功能配置使用相应的标记来完成
比如加入本地化支持“nls”,没有就是"nonls"或者可以实现为"-nls".
所有的包将有一个目录,里面每个版本对应一个配置文件.o2b,里面存储其下载和编译安装的所有指令和信息,
为了配置文件简单起见,我没有使用shell或者像openembedded那样的python语法。每个段都有自己的
格式,具体.o2b里有注释,大家凑合着看先,后面项目正式启动时再写完整文档。
现在存在的问题是:
1.开发还没有完成,安装和配置用户向导还没有写。
2.o2b里的选项设置需要优化,o2b文件解析脚本我现在是用shell的,后面考虑换成perl的,提高效率。
3.依赖计算问题。目前otob是在配置文件里写了包依赖和针对标记应该开启的依赖,都是一级的,测试
发现这块不是太好用。然后依赖的计算也没有写完。照otobs里packages.list文件的样子写好所有需要
安装的包的依赖信息,sortpkg.sh脚本会自己算出顺序来。功能不完整。
另外运行时依赖问题还没有考虑,显然是不行的。
4.包的下载问题,包的下载目前还不支持多包和svn,git等下载。校验也没有实现完。
5.包管理器,gentoo的虚拟安装和卸载很好,但是本人目前功夫还不够,shell能力有限,没有想到实现
方法。怎么欺骗包的安装行为,让其安装到另外的目录上呢?
6.ARM还没有测试。
×××××
8.更多的考虑,otob应该发展成可以编译安装任何需求的linux甚至bsd,hurd系统,主机和嵌入式都
可以。T2是个很好的例子,应该研究下,在网上看T2有很多优良的特性,实际没有用过,后面使用使用
学习它的特性。
9.做好otob的多语言支持,我试验了下,这部分实现机制简单,otob完整发布时做好翻译就行。otob
里有三个脚本有中文的信息支持的,readconf.sh,wgetsource.sh,patchpkg.sh
10.其实我是一遍学习shell,一遍弄的otob,所以otob现在仅仅是一个toy而已。这些脚本很多bug,
需要推翻重建。
在sourceforge上申请了项目主页,已上传sample code.
主页地址:
最近准备研究下各大source build system工具,重新设计otob框架。大家给点意见啊!?
阅读(2359) | 评论(0) | 转发(0) |