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进行修复
报错:go: inconsistent vendoring in /home/abuild/rpmbuild/BUILD/A-Tune
建议使用
go mod vendor
更新源码包中的go.mod文件进行适配。
报错:unexpected directory layout
尝试处理golist问题。
李翔 (LI XIANG)
华为技术有限公司
Tel : +86 15651111331
Email : lixiang172@huawei.com