-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【建议】删除构建阶段的develop分支与ostree,减少文件复制和磁盘损耗,提高构建效率 #739
Comments
|
这一个,layer的内容来自 如果要做文件裁剪等后处理,也可以直接在develop中操作,开发者能够直观地在宿主机中看到构建工具对文件的改动,也更加透明(目前相同文件复制了多份,很难去找它们之间有什么差异,会对应用产生什么影响,文档中也没有说明技术细节) |
|
我知道ostree下用了硬链接,只是这样仍旧会产生一次复制,且ostree在构建阶段没有给开发带来功能。 目前改进的develop 拆分是根据文件名自动分类吗?比如.h、.a分离到develop 中,构建过程中通过ostree合并目录再构建?但构建环境实际上是一次性的,每次build都会重新跑一遍构建脚本。 现在也无法控制develop 的拆分过程,如果构建工具直接拆分文件,反而会引起问题,如我这里有个容器内的32位编译器 gcc-i386-linux-gnu 最好是让开发者去控制如何拆分,yaml中设定构建依赖,然后就可以彻底删除develop了 |
这个问题我们考虑到了,看一下怎么改 感觉直接去掉并不是很好 因为还有其他的打算
会让开发者可以控制怎么拆的 但是会有个默认规则。 还在写 |
理由
binary
分支的操作仅仅近乎等效于cp -arf
,完全没有必要linyaps/libs/linglong/src/linglong/builder/linglong_builder.cpp
Lines 296 to 442 in e34b0e8
develop
比binary
多一个字母,至少可以说明两个layer文件打包的内容完全相同ostree
中的副本目录执行mkfs.erofs
再cat
追加到layer中,进一步说明可以完全移除ostree
linyaps/libs/linglong/src/linglong/package/layer_packager.cpp
Lines 50 to 124 in e34b0e8
建议
~/.cache/linglong-buidler
ll-builder run
直接挂载临时存储目录改进效果
develop,ostree)develop)ll-builder run
进入容器,也无需ll-buidler build --exec
进入shell,更无需反复ll-builer build
调试构建脚本ll-cli
/ll-builder
磁盘空间泄漏 #740The text was updated successfully, but these errors were encountered: