diff --git a/x-pack/auditbeat/magefile.go b/x-pack/auditbeat/magefile.go index 6112b601a57b..45f595f57ef6 100644 --- a/x-pack/auditbeat/magefile.go +++ b/x-pack/auditbeat/magefile.go @@ -139,3 +139,103 @@ func ExportDashboard() error { func Dashboards() error { return devtools.KibanaDashboards(devtools.OSSBeatDir("module"), "module") } +<<<<<<< HEAD +======= + +// ----------------------------------------------------------------------------- +// - Install the librpm-dev package +var ( + deps = map[string]func() error{ + "linux/386": installLinux386, + "linux/amd64": installLinuxAMD64, + "linux/arm64": installLinuxARM64, + "linux/armv5": installLinuxARMEL, + "linux/armv6": installLinuxARMEL, + "linux/armv7": installLinuxARMHF, + "linux/mips": installLinuxMIPS, + "linux/mipsle": installLinuxMIPSEL, + "linux/mips64le": installLinuxMIPS64EL, + "linux/ppc64le": installLinuxPPC64EL, + "linux/s390x": installLinuxS390X, + + //"linux/ppc64": installLinuxPpc64, + //"linux/mips64": installLinuxMips64, + } +) + +const ( + librpmDevPkgName = "librpm-dev" + + // Dependency of librpm-dev in ARM architectures, that needs to be explicitly + // installed to replace other conflicting packages pre-installed in the image. + libicuDevPkgName = "libicu-dev" +) + +func installLinuxAMD64() error { + return installDependencies("", librpmDevPkgName) +} + +func installLinuxARM64() error { + return installDependencies("arm64", librpmDevPkgName+":arm64") +} + +func installLinuxARMHF() error { + return installDependencies("armhf", librpmDevPkgName+":armhf", libicuDevPkgName+":armhf") +} + +func installLinuxARMEL() error { + return installDependencies("armel", librpmDevPkgName+":armel", libicuDevPkgName+":armel") +} + +func installLinux386() error { + return installDependencies("i386", librpmDevPkgName+":i386") +} + +func installLinuxMIPS() error { + return installDependencies("mips", librpmDevPkgName+":mips") +} + +func installLinuxMIPS64EL() error { + return installDependencies("mips64el", librpmDevPkgName+":mips64el") +} + +func installLinuxMIPSEL() error { + return installDependencies("mispel", librpmDevPkgName+":mipsel") +} + +func installLinuxPPC64EL() error { + return installDependencies("ppc64el", librpmDevPkgName+":ppc64el") +} + +func installLinuxS390X() error { + return installDependencies("s390x", librpmDevPkgName+":s390x") +} + +func installDependencies(arch string, pkgs ...string) error { + if len(pkgs) == 0 { + return nil + } + if arch != "" { + err := sh.Run("dpkg", "--add-architecture", arch) + if err != nil { + return errors.Wrap(err, "error while adding architecture") + } + } + + // TODO: This is only for debian 7 and should be removed when move to a newer OS. This flag is + // going to be used unnecessary when building using non-debian7 images + // (like when making the linux/arm binaries) and we should remove it soonish. + // See https://github.com/elastic/beats/v7/issues/11750 for more details. + if err := sh.Run("apt-get", "update", "-o", "Acquire::Check-Valid-Until=false"); err != nil { + return err + } + + // Due to the expired GPG keys in the old Debian version we must use `--force-yes` additionally to `-y`. + args := append([]string{ + "install", "-y", "--force-yes", + "--allow-unauthenticated", + "--no-install-recommends", + }, pkgs...) + return sh.Run("apt-get", args...) +} +>>>>>>> a228948743 (Add workaround for expried GPG keys for auditbeat packaging (#33915))