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-Tuneauditauthzcontainerdcontainernetworking-pluginsdockergo-compilersgolanggolang-github-cpuguy83-go-md2mangolang-github-russross-blackfridayisula-buildiSulad-imgisula-transformkata-containerslibnetworklxcfs-toolspodmanruncskopeosyscontainer-toolsthriftumoci

EPOL

startddedeepin-dbus-generatordde-daemondde-apideepin-desktop-schemaskubernetes

编译问题

在升级golang1.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@huawei.com

cid:image006.png@01D5FE96.F9F76FF0