使mongo-tools支持ARM64架构的CentOS 7系统

首先下载代码

git clone https://github.com/mongodb/mongo-tools

1.修改mongo-tools/release/platform/platform.go源码
将ArchArm64和ArchAarch64添加到Arch常量定义中:

type Arch string

const (
	ArchArm64    Arch = "arm64"
	ArchAarch64  Arch = "aarch64"
	// 其他架构的定义...
)

2.在platforms切片中,为CentOS 7的ARM64架构添加一个新的平台配置项:

{
	Name:      "centos7",
	Arch:      ArchAarch64,
	OS:        OSLinux,
	Pkg:       PkgRPM,
	Repos:     []Repo{RepoEnterprise, RepoOrg},
	BuildTags: defaultBuildTags,
},

3.在DetectLocal函数中,根据ARM64架构的CentOS 7系统返回新添加的平台配置项:

case "Linux":
	if archName == ArchAarch64 {
		pf, ok := GetByOsAndArch("centos7", archName)
		if !ok {
			panic("centos7 platform name changed")
		}
		return pf, nil
	}
	// 其他操作系统和架构的检测...

完成上述更改后,您的代码将支持ARM64架构的CentOS 7系统。

4.运行编译所有组件:

./make build

或者指定组件编译

./make build -pkgs=bsondump,mongodump,mongoexport,mongofiles,mongoimport,mongoreplay,mongorestore,mongostat,mongotop
点赞