# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit edo git-r3 go-module readme.gentoo-r1 systemd tmpfiles DESCRIPTION="Amazon Cloudwatch Agent" HOMEPAGE="https://github.com/aws/amazon-cloudwatch-agent" EGIT_REPO_URI="https://github.com/aws/${PN}.git" LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0" SLOT="0" RDEPEND="acct-group/amazon acct-group/cwagent acct-user/amazon acct-user/cwagent" BDEPEND=">=dev-lang/go-1.25.8" DOCS=( README.md RELEASE_NOTES ) DOC_CONTENTS="For new configuration run: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard This will create config.json, move it into config directory: mv /opt/aws/amazon-cloudwatch-agent/bin/config.json \ /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json" src_unpack() { git-r3_src_unpack go-module_live_vendor } src_prepare() { default # Define version for build edo echo "${PV}" > CWAGENT_VERSION # Don't build windows and macos, don't strip sed -i -e "/\$(WIN_BUILD)/d" \ -e "/0 GOOS=windows GOARCH=amd64/d" \ -e "/workload-discovery-windows:/,+1d" \ -e '/amazon-cloudwatch-agent-windows:/s| workload-discovery-windows||' \ -e "/\$(DARWIN_BUILD)/d" \ -e "/LDFLAGS =/s/ -s//" \ -e "/ldflags=/s/-s //" \ Makefile || die "sed failed for windows" # remove failed test edo rm receiver/adapter/plugins_linux_test.go } src_compile() { emake build } src_install() { einstalldocs readme.gentoo_create_doc diropts -o cwagent -g cwagent -m 0755 keepdir /opt/aws/amazon-cloudwatch-agent/{bin,doc,etc,logs,var} \ /opt/aws/amazon-cloudwatch-agent/manager # Don't use keepdir, placeholder fails check for json syntax dodir /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d insopts -o cwagent -g cwagent -m 0644 insinto /opt/aws/amazon-cloudwatch-agent/etc doins cfg/commonconfig/common-config.toml insinto /opt/aws/amazon-cloudwatch-agent/doc newins translator/config/schema.json amazon-cloudwatch-agent-schema.json exeinto /opt/aws/amazon-cloudwatch-agent/bin doexe packaging/dependencies/amazon-cloudwatch-agent-ctl \ build/bin/linux_"$(usex amd64 amd64 arm64)"/amazon-cloudwatch-agent \ build/bin/linux_"$(usex amd64 amd64 arm64)"/amazon-cloudwatch-agent-config-wizard \ build/bin/linux_"$(usex amd64 amd64 arm64)"/config-downloader \ build/bin/linux_"$(usex amd64 amd64 arm64)"/config-translator \ build/bin/linux_"$(usex amd64 amd64 arm64)"/start-amazon-cloudwatch-agent \ build/bin/linux_"$(usex amd64 amd64 arm64)"/workload-discovery # This is needed for amazon-cloudwatch-agent-ctl insinto /opt/aws/amazon-cloudwatch-agent/bin doins CWAGENT_VERSION packaging/opentelemetry-jmx-metrics.jar dosym ../../opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \ usr/bin/amazon-cloudwatch-agent-ctl dosym ../../opt/aws/amazon-cloudwatch-agent/etc etc/amazon/amazon-cloudwatch-agent dosym ../../../opt/aws/amazon-cloudwatch-agent/logs var/log/amazon/amazon-cloudwatch-agent newinitd "${FILESDIR}"/amazon-cloudwatch-agent.initd amazon-cloudwatch-agent newconfd "${FILESDIR}"/amazon-cloudwatch-agent.confd amazon-cloudwatch-agent systemd_dounit packaging/dependencies/amazon-cloudwatch-agent.service newtmpfiles "${FILESDIR}"/amazon-cloudwatch-agent.tmpfile amazon-cloudwatch-agent.conf } pkg_postinst() { go-module_pkg_postinst readme.gentoo_print_elog tmpfiles_process amazon-cloudwatch-agent.conf }