我觉得可能一个专门的SIG组可能更合理。不过对于bootstrap,我们需要明确一下工作的范围和输出件,因为bootstrap通常是一个制作的动作序列,如果我们写清楚怎么搞,二进制软件是不是可以让用户自己从相关的网站下。单纯放二进制我觉得可能并不能解决问题,最好还是一整套的脚本,工具,文档等配合,目的是工程师能够通过这些工具,依照文档来把bootstrap搞起来。






在 2020-06-22 11:16:50,"Jianmin Wang" <jianmin@iscas.ac.cn> 写道:

或许可以考虑建立一个 bootstrap 的 SIG 组。

软件包之所以会自己依赖自己,是通过实现自己编译自己来达到降低对外部的依赖,典型的是编译器。无论是编译器、语言类软件包还是一个发行版的构建,都有 bootstrap 的阶段。

从 0 达到自编译构建基本上都会有预置编译环境、第一次编译生成二进制、迭代编译自身、移除预置编译环境。通过两到三次迭代达到没有预置编译环境的状态,也就是依赖自己。

参考:https://en.wikipedia.org/wiki/Bootstrapping

On 22 Jun 2020, at 9:10 AM, Huxinwei <huxinwei@huawei.com> wrote:

openEuler的构建是在封闭的自动环境里,没法做“第一次构建的时候在构建环境上部署一下二进制”这样定制化的操作。
而且也不好定义“第一次”。
 
所以看起来或者这个软件的源码里就要带相关的二进制,或者这个软件依赖一个额外的二进制包。
 
 
 
From: Xiexiuqi 
Sent: Saturday, June 20, 2020 6:25 PM
To: Huxinwei <huxinwei@huawei.com>
Cc: tc@openeuler.org
Subject: Re: [Tc] 
是否需要为二进制软件包创建一个独立的SIG
 

 

On 2020/6/20 18:02, Huxinwei wrote:
各位TC委员,专家好:
 
 有个问题提请大家讨论。
 
 我们的软件中有不少软件是需要bootstrap的。比如说,bazel的构建依赖bazelhaskell的构建依赖haskell等等。
 
 当前openEuler在引入新的软件仓时,是不引入预构建的二进制的。为了解决bootstrap的问题,我们可能需要
先引入相应软件包的二进制,来满足构建依赖。

 

我没完全理解这个意思,是不是说自己依赖自己,或者循环依赖的这种情况?
如果是这种情况的话,是不是在第一次构建的时候在构建环境上部署一下二进制就行了,
第一次构建之后,就可以换成社区自己构建的了,这样社区就不用直接引入二进制包了。

还是说除了这种情况,还有别的需要二进制的情况?

 

 
 我希望从技术管理角度对这类场景放松要求,但是又不能让二进制软件随意进入社区。因此考虑想创建一个独立
SIG,并且今后所有直接二进制打包的repo归属这个独立的SIG管理。
 
 请大家看有没有更好的执行方法?
 
谢谢
 
Shinwell
Technical Committee
openEuler Community
 


_______________________________________________
Tc mailing list -- tc@openeuler.org
To unsubscribe send an email to tc-leave@openeuler.org
_______________________________________________
Tc mailing list -- tc@openeuler.org
To unsubscribe send an email to tc-leave@openeuler.org