]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - lfs/amazon-ssm-agent
amazon-ssm-agent: Enable build for aarch64
[people/pmueller/ipfire-2.x.git] / lfs / amazon-ssm-agent
1 ###############################################################################
2 # #
3 # IPFire.org - A linux based firewall #
4 # Copyright (C) 2019 IPFire Team <info@ipfire.org> #
5 # #
6 # This program is free software: you can redistribute it and/or modify #
7 # it under the terms of the GNU General Public License as published by #
8 # the Free Software Foundation, either version 3 of the License, or #
9 # (at your option) any later version. #
10 # #
11 # This program is distributed in the hope that it will be useful, #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
14 # GNU General Public License for more details. #
15 # #
16 # You should have received a copy of the GNU General Public License #
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
18 # #
19 ###############################################################################
20
21 ###############################################################################
22 # Definitions
23 ###############################################################################
24
25 include Config
26
27 SUMMARY = Amazon Remote System Config Management
28
29 VER = 3.0.356.0
30 SUP_ARCH = aarch64 x86_64
31
32 THISAPP = amazon-ssm-agent-$(VER)
33 DL_FILE = $(THISAPP).tar.gz
34 DL_FROM = $(URL_IPFIRE)
35 DIR_APP = $(DIR_SRC)/$(THISAPP)
36 TARGET = $(DIR_INFO)/$(THISAPP)
37 PROG = amazon-ssm-agent
38 PAK_VER = 6
39
40 DEPS =
41
42 SERVICES = amazon-ssm-agent
43
44 DIR_BUILD = $(GOPATH)/src/github.com/aws/amazon-ssm-agent
45
46 ###############################################################################
47 # Top-level Rules
48 ###############################################################################
49
50 objects = $(DL_FILE)
51
52 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
53
54 $(DL_FILE)_BLAKE2 = cd30fe1931c02ff5d969ef19152d4f4a8f5883ab6952fa05eb0878526ed02c949afac36c0d363bc37c54594baf9fd96002d30605d9d687e36c8f0e9acb69148b
55
56 install : $(TARGET)
57
58 check : $(patsubst %,$(DIR_CHK)/%,$(objects))
59
60 download :$(patsubst %,$(DIR_DL)/%,$(objects))
61
62 b2 : $(subst %,%_BLAKE2,$(objects))
63
64 dist:
65 @$(PAK)
66
67 ###############################################################################
68 # Downloading, checking, b2sum
69 ###############################################################################
70
71 $(patsubst %,$(DIR_CHK)/%,$(objects)) :
72 @$(CHECK)
73
74 $(patsubst %,$(DIR_DL)/%,$(objects)) :
75 @$(LOAD)
76
77 $(subst %,%_BLAKE2,$(objects)) :
78 @$(B2SUM)
79
80 ###############################################################################
81 # Installation Details
82 ###############################################################################
83
84 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
85 @$(PREBUILD)
86 @rm -rf $(DIR_APP) $(DIR_BUILD) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
87
88 # The build system is searching for code in a certain path
89 mkdir -pv $$(dirname $(DIR_BUILD))
90 mv -v $(DIR_APP) $(DIR_BUILD)
91
92 # Disable style check
93 cd $(DIR_BUILD) && sed -e "/checkstyle.sh/d" -i makefile
94
95 # agent/plugins/inventory/gatherers/application/dataProvider.go:10:78: error: imported and not used: localpackages
96 cd $(DIR_BUILD) && sed -e "/localpackages/d" \
97 -i agent/plugins/inventory/gatherers/application/dataProvider.go
98
99 # Cleanup anything shipped
100 cd $(DIR_BUILD) && make clean
101
102 # Build
103 ifeq "$(BUILD_ARCH)" "aarch64"
104 cd $(DIR_BUILD) && make build-arm64
105 else
106 cd $(DIR_BUILD) && make build-linux
107 endif
108
109 # Remove some temporary files (no idea why those are being created)
110 rm -rfv /usr/lib/go/pkg/linux_$(GOARCH)_shared
111
112 # Install
113 mkdir -pv /etc/amazon/ssm /usr/bin /var/lib/amazon/ssm
114 cd $(DIR_BUILD) && install -v -m 755 \
115 bin/linux_$(GOARCH)/amazon-ssm-agent \
116 bin/linux_$(GOARCH)/ssm-agent-worker \
117 bin/linux_$(GOARCH)/ssm-cli \
118 bin/linux_$(GOARCH)/ssm-document-worker \
119 bin/linux_$(GOARCH)/ssm-session-worker \
120 bin/linux_$(GOARCH)/ssm-session-logger \
121 /usr/bin
122 cd $(DIR_BUILD) && install -v -m 644 \
123 seelog_unix.xml /etc/amazon/ssm/seelog.xml
124 cd $(DIR_BUILD) && install -v -m 644 \
125 amazon-ssm-agent.json.template /etc/amazon/ssm/amazon-ssm-agent.json
126
127 # Install initscript
128 $(call INSTALL_INITSCRIPTS,$(SERVICES))
129
130 # Install backup include
131 install -v -m 644 $(DIR_SRC)/config/backup/includes/amazon-ssm-agent \
132 /var/ipfire/backup/addons/includes/amazon-ssm-agent
133
134 @rm -rf $(DIR_APP) $(DIR_BUILD)
135 @$(POSTBUILD)