############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2019-2023 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # ############################################################################### ############################################################################### # Definitions ############################################################################### include Config SUMMARY = Amazon Remote System Config Management VER = 3.2.582.0 SUP_ARCH = aarch64 x86_64 THISAPP = amazon-ssm-agent-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = amazon-ssm-agent PAK_VER = 8 DEPS = SERVICES = amazon-ssm-agent DIR_BUILD = $(GOPATH)/src/github.com/aws/amazon-ssm-agent ############################################################################### # Top-level Rules ############################################################################### objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) $(DL_FILE)_BLAKE2 = df2c6111d0c3e941773c5657b199d414435742b20187788b4b07253f67ba0c54ce42e6c62851fba26635b01226b1e1a3e8b4db1f3b3b983323fe764f12c19ddc install : $(TARGET) check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) b2 : $(subst %,%_BLAKE2,$(objects)) dist: @$(PAK) ############################################################################### # Downloading, checking, b2sum ############################################################################### $(patsubst %,$(DIR_CHK)/%,$(objects)) : @$(CHECK) $(patsubst %,$(DIR_DL)/%,$(objects)) : @$(LOAD) $(subst %,%_BLAKE2,$(objects)) : @$(B2SUM) ############################################################################### # Installation Details ############################################################################### $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) $(DIR_BUILD) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) # The build system is searching for code in a certain path mkdir -pv $$(dirname $(DIR_BUILD)) mv -v $(DIR_APP) $(DIR_BUILD) # Disable style check cd $(DIR_BUILD) && sed -e "/checkstyle.sh/d" -i makefile # agent/plugins/inventory/gatherers/application/dataProvider.go:10:78: error: imported and not used: localpackages cd $(DIR_BUILD) && sed -e "/localpackages/d" \ -i agent/plugins/inventory/gatherers/application/dataProvider.go # Cleanup anything shipped cd $(DIR_BUILD) && make clean # Build ifeq "$(BUILD_ARCH)" "aarch64" cd $(DIR_BUILD) && make build-arm64 else cd $(DIR_BUILD) && make build-linux endif # Remove some temporary files (no idea why those are being created) rm -rfv /usr/lib/go/pkg/linux_$(GOARCH)_shared # Install mkdir -pv /etc/amazon/ssm /usr/bin /var/lib/amazon/ssm cd $(DIR_BUILD) && install -v -m 755 \ bin/linux_$(GOARCH)/amazon-ssm-agent \ bin/linux_$(GOARCH)/ssm-agent-worker \ bin/linux_$(GOARCH)/ssm-cli \ bin/linux_$(GOARCH)/ssm-document-worker \ bin/linux_$(GOARCH)/ssm-session-worker \ bin/linux_$(GOARCH)/ssm-session-logger \ /usr/bin cd $(DIR_BUILD) && install -v -m 644 \ seelog_unix.xml /etc/amazon/ssm/seelog.xml cd $(DIR_BUILD) && install -v -m 644 \ amazon-ssm-agent.json.template /etc/amazon/ssm/amazon-ssm-agent.json # Install initscript $(call INSTALL_INITSCRIPTS,$(SERVICES)) # Install backup include install -v -m 644 $(DIR_SRC)/config/backup/includes/amazon-ssm-agent \ /var/ipfire/backup/addons/includes/amazon-ssm-agent @rm -rf $(DIR_APP) $(DIR_BUILD) @$(POSTBUILD)