LTS-SP1版本golang升级遗留问题分析
背景
20.03-LTS-SP1目前golang的版本过低(1.13.3),上游社区已经不再维护
老版本包含一些已废弃安全协议、待修复CVE。由于没有补丁,需要从高版本回合,但是在改动较大,或者涉及runtime等底层修改的情况下,回合与验证比较困难。我们希望升级到golang-1.15.7。
版本变化
Go1范围内升级:1.13.3 --> 1.15.7
遗留问题分析
涉及组件
openEuler-20.03-LTS-SP1中,使用golang作为编译依赖的包一共28款,其中EPOL类软件6款。
类型
软件包
常规软件
A-Tune、audit、authz、containerd、containernetworking-plugins、docker、go-compilers、golang、golang-github-cpuguy83-go-md2man、golang-github-russross-blackfriday、isula-build、iSulad-img、isula-transform、kata-containers、libnetwork、lxcfs-tools、podman、runc、skopeo、syscontainer-tools、thrift、umoci
EPOL
startdde、deepin-dbus-generator、dde-daemon、dde-api、deepin-desktop-schemas、kubernetes
编译问题
在升级golang至1.15.7之后,有10款软件无法正常编译,其中8款在解决go-compilers编译问题之后可以顺利编译
· 常规软件:
软件包
备注
A-Tune
自身编译问题
go-compilers
自身编译问题
golang-github-cpuguy83-go-md2man
依赖go-compilers
golang-github-russross-blackfriday
依赖go-compilers
containernetworking-plugins
依赖go-compilers
podman
依赖go-compilers
skopeo
依赖go-compilers
· EPOL:
软件包
备注
deepin-dbus-generator
依赖go-compilers
dde-daemon
依赖go-compilers
dde-api
依赖go-compilers
修复建议
需要 A-Tune(@hanxinke)、go-compilers(@ultra_planet)软件包owner进行修复
A-Tune
报错:go: inconsistent vendoring in /home/abuild/rpmbuild/BUILD/A-Tune
建议使用 go mod vendor更新源码包中的go.mod文件进行适配。
go-compilers
报错:unexpected directory layout
尝试处理golist问题。
李翔 (LI XIANG)
华为技术有限公司
Tel : +86 15651111331
Email : lixiang172(a)huawei.com<mailto:lixiang172@huawei.com>
[cid:image006.png@01D5FE96.F9F76FF0]