Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-flock / stx-metal / mtce.bb
1 require metal-common.inc
2
3 SUBPATH0 = "mtce/src/"
4
5 LICENSE = "Apache-2.0"
6 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
7
8
9 SRC_URI += " \
10         file://0001-mtce-avoid-overflowing-amon.tx_buf.patch \
11         file://0001-mtce-Use-LDFLAGS-when-linking.patch \
12         file://0002-mtce-Adjust-paths.patch \
13         file://mtce-set-systemctl-path.patch \
14         file://pmon_send_pulse.patch;striplevel=3 \
15         file://mtce-do-not-use-which-to-check-CC.patch \
16         file://mtce-libamon-add-shared-option.patch \
17         "
18
19 PACKAGES += " ${PN}-pmon"
20 PACKAGES += " ${PN}-hwmon"
21 PACKAGES += " ${PN}-hostw"
22 PACKAGES += " ${PN}-lmon"
23
24 DEPENDS_append = " mtce-common"
25
26 RDEPENDS_${PN}-pmon_append = " \
27         bash \
28         systemd \
29         dpkg \
30         fm-common \
31         libevent \
32         json-c \
33         python-rtslib-fb \
34         expect \
35         util-linux \
36         ipmitool \
37         "
38
39 RDEPENDS_${PN}_append = " \
40         mtce-pmon \
41         python-redfishtool \
42         "
43
44 inherit systemd
45 SYSTEMD_PACKAGES += "${PN}-pmon"
46 SYSTEMD_SERVICE_${PN}-pmon = "pmon.service"
47 SYSTEMD_AUTO_ENABLE_${PN}-pmon = "enable"
48
49 SYSTEMD_PACKAGES += "${PN}-hwmon"
50 SYSTEMD_SERVICE_${PN}-hwmon = "hwmon.service"
51 SYSTEMD_AUTO_ENABLE_${PN}-hwmon = "disable"
52
53 SYSTEMD_PACKAGES += "${PN}-hostw"
54 SYSTEMD_SERVICE_${PN}-hostw = "hostw.service"
55 SYSTEMD_AUTO_ENABLE_${PN}-hostw = "enable"
56
57
58 SYSTEMD_PACKAGES += "${PN}-lmon"
59 SYSTEMD_SERVICE_${PN}-hostw = "lmon.service"
60 SYSTEMD_AUTO_ENABLE_${PN}-lmon = "enable"
61
62 SYSTEMD_PACKAGES += "${PN}"
63 SYSTEMD_SERVICE_${PN} = " \
64         hwclock.service \
65         fsmon.service \
66         mtcClient.service \
67         hbsClient.service \
68         mtclog.service \
69         goenabled.service \
70         mtcalarm.service \
71         runservices.service \
72         "
73 SYSTEMD_AUTO_ENABLE_${PN}-hostw= "enable"
74
75 EXTRA_OEMAKE = ' -e VER=1 VER_MJR=1 INCLUDES=" -I. -I../alarm -I../heartbeat -I../maintenance \
76                                 -I../hostw -I../public -I../smash -I../common -I../hwmon \
77                                 -I${STAGING_INCDIR}/mtce-common/ -I${STAGING_INCDIR}/mtce-daemon" \
78                 CCFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" '
79
80
81
82 MAJOR = "${@d.getVar('PV').split('.')[0]}"
83 MINOR = "${@d.getVar('PV').split('.')[1]}"
84 do_install() {
85
86         cd ${S}/
87         install -m 755 -d ${D}/${bindir}
88         install -m 755 -d ${D}/${sbindir}
89         install -m 755 -d ${D}/${libdir}
90         install -m 755 -d ${D}/${libdir}/ocf/resource.d/platform
91         install -m 755 -d ${D}/${systemd_system_unitdir}
92         
93         install -m 755 -d ${D}/${sysconfdir}
94         install -m 755 -d ${D}/${sysconfdir}/mtc/tmp
95         install -m 755 -d ${D}/${sysconfdir}/bmc/server_profiles.d
96         install -m 755 -d ${D}/${sysconfdir}/init.d
97         install -m 755 -d ${D}/${sysconfdir}/pmon.d
98         install -m 755 -d ${D}/${sysconfdir}/logrotate.d
99         
100         install -m 755 -d ${D}/${sysconfdir}/services.d
101         install -m 750 -d ${D}/${sysconfdir}/services.d/controller
102         install -m 750 -d ${D}/${sysconfdir}/services.d/worker
103         install -m 750 -d ${D}/${sysconfdir}/services.d/storage
104         
105         install -m 755 -p -D scripts/mtcAgent ${D}/${libdir}/ocf/resource.d/platform
106         install -m 755 -p -D hwmon/scripts/ocf/hwmon ${D}/${libdir}/ocf/resource.d/platform
107         
108         # Config files
109         install -m 644 -p -D scripts/mtc.ini ${D}/${sysconfdir}/mtc.ini
110         install -m 644 -p -D scripts/mtc.conf ${D}/${sysconfdir}/mtc.conf
111         install -m 644 -p -D fsmon/scripts/fsmond.conf ${D}/${sysconfdir}/mtc/fsmond.conf
112         install -m 644 -p -D hwmon/scripts/hwmond.conf ${D}/${sysconfdir}/mtc/hwmond.conf
113         install -m 644 -p -D pmon/scripts/pmond.conf ${D}/${sysconfdir}/mtc/pmond.conf
114         install -m 644 -p -D lmon/scripts/lmond.conf ${D}/${sysconfdir}/mtc/lmond.conf
115         install -m 644 -p -D hostw/scripts/hostwd.conf ${D}/${sysconfdir}/mtc/hostwd.conf
116         
117         install -m 644 -p -D scripts/sensor_hp360_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
118         install -m 644 -p -D scripts/sensor_hp380_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
119         install -m 644 -p -D scripts/sensor_quanta_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
120         
121         
122         # binaries
123         install -m 755 -p -D maintenance/mtcAgent ${D}/${bindir}/mtcAgent
124         install -m 755 -p -D maintenance/mtcClient ${D}/${bindir}/mtcClient
125         install -m 755 -p -D heartbeat/hbsAgent ${D}/${bindir}/hbsAgent
126         install -m 755 -p -D heartbeat/hbsClient ${D}/${bindir}/hbsClient
127         install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
128         install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
129         install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
130         install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
131         install -m 755 -p -D hostw/hostwd ${D}/${bindir}/hostwd
132         install -m 755 -p -D fsmon/fsmond ${D}/${bindir}/fsmond
133         install -m 755 -p -D hwmon/hwmond ${D}/${bindir}/hwmond
134         install -m 755 -p -D mtclog/mtclogd ${D}/${bindir}/mtclogd
135         install -m 755 -p -D alarm/mtcalarmd ${D}/${bindir}/mtcalarmd
136         install -m 755 -p -D scripts/wipedisk ${D}/${bindir}/wipedisk
137         install -m 755 -p -D fsync/fsync ${D}/${sbindir}/fsync
138         install -m 700 -p -D pmon/scripts/pmon-restart ${D}/${sbindir}/pmon-restart
139         install -m 700 -p -D pmon/scripts/pmon-start ${D}/${sbindir}/pmon-start
140         install -m 700 -p -D pmon/scripts/pmon-stop ${D}/${sbindir}/pmon-stop
141         
142         # init script files
143         install -m 755 -p -D scripts/mtcClient ${D}/${sysconfdir}/init.d/mtcClient
144         install -m 755 -p -D scripts/hbsClient ${D}/${sysconfdir}/init.d/hbsClient
145         install -m 755 -p -D hwmon/scripts/lsb/hwmon ${D}/${sysconfdir}/init.d/hwmon
146         install -m 755 -p -D fsmon/scripts/fsmon ${D}/${sysconfdir}/init.d/fsmon
147         install -m 755 -p -D scripts/mtclog ${D}/${sysconfdir}/init.d/mtclog
148         install -m 755 -p -D pmon/scripts/pmon ${D}/${sysconfdir}/init.d/pmon
149         install -m 755 -p -D lmon/scripts/lmon ${D}/${sysconfdir}/init.d/lmon
150         install -m 755 -p -D hostw/scripts/hostw ${D}/${sysconfdir}/init.d/hostw
151         install -m 755 -p -D alarm/scripts/mtcalarm.init ${D}/${sysconfdir}/init.d/mtcalarm
152         # install -m 755 -p -D scripts/config ${D}/${sysconfdir}/init.d/config
153         
154         # TODO: Init hack. Should move to proper module
155         install -m 755 -p -D scripts/hwclock.sh ${D}/${sysconfdir}/init.d/hwclock.sh
156         install -m 644 -p -D scripts/hwclock.service ${D}/${systemd_system_unitdir}/hwclock.service
157         
158         
159         # systemd service files
160         install -m 644 -p -D fsmon/scripts/fsmon.service ${D}/${systemd_system_unitdir}/fsmon.service
161         install -m 644 -p -D hwmon/scripts/hwmon.service ${D}/${systemd_system_unitdir}/hwmon.service
162         install -m 644 -p -D pmon/scripts/pmon.service ${D}/${systemd_system_unitdir}/pmon.service
163         install -m 644 -p -D hostw/scripts/hostw.service ${D}/${systemd_system_unitdir}/hostw.service
164         install -m 644 -p -D scripts/mtcClient.service ${D}/${systemd_system_unitdir}/mtcClient.service
165         install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
166         install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
167         install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
168         install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
169         install -m 644 -p -D scripts/goenabled.service ${D}/${systemd_system_unitdir}/goenabled.service
170         install -m 644 -p -D scripts/runservices.service ${D}/${systemd_system_unitdir}/runservices.service
171         install -m 644 -p -D alarm/scripts/mtcalarm.service ${D}/${systemd_system_unitdir}/mtcalarm.service
172         install -m 644 -p -D lmon/scripts/lmon.service ${D}/${systemd_system_unitdir}/lmon.service
173         
174         # fix the path for init scripts
175         sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
176         
177         # go enabled stuff
178         install -m 755 -p -D scripts/goenabled ${D}/${sysconfdir}/init.d/goenabled
179         
180         # start or stop services test script
181         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/worker
182         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/controller
183         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/services.d/storage
184         install -m 755 -p -D scripts/runservices ${D}/${sysconfdir}/init.d/runservices
185         
186         
187         # test tools
188         install -m 755 -p -D scripts/dmemchk.sh ${D}/${sbindir}
189         
190         # process monitor config files
191         install -m 644 -p -D scripts/mtcClient.conf ${D}/${sysconfdir}/pmon.d/mtcClient.conf
192         install -m 644 -p -D scripts/hbsClient.conf ${D}/${sysconfdir}/pmon.d/hbsClient.conf
193         install -m 644 -p -D pmon/scripts/acpid.conf ${D}/${sysconfdir}/pmon.d/acpid.conf
194         install -m 644 -p -D pmon/scripts/sshd.conf ${D}/${sysconfdir}/pmon.d/sshd.conf
195         install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
196         install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
197         install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
198         install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
199         install -m 644 -p -D fsmon/scripts/fsmon.conf ${D}/${sysconfdir}/pmon.d/fsmon.conf
200         install -m 644 -p -D scripts/mtclogd.conf ${D}/${sysconfdir}/pmon.d/mtclogd.conf
201         install -m 644 -p -D alarm/scripts/mtcalarm.pmon.conf ${D}/${sysconfdir}/pmon.d/mtcalarm.conf
202         install -m 644 -p -D lmon/scripts/lmon.pmon.conf ${D}/${sysconfdir}/pmon.d/lmon.conf
203         
204         # log rotation
205         install -m 644 -p -D scripts/mtce.logrotate ${D}/${sysconfdir}/logrotate.d/mtce.logrotate
206         install -m 644 -p -D hostw/scripts/hostw.logrotate ${D}/${sysconfdir}/logrotate.d/hostw.logrotate
207         install -m 644 -p -D pmon/scripts/pmon.logrotate ${D}/${sysconfdir}/logrotate.d/pmon.logrotate
208         install -m 644 -p -D lmon/scripts/lmon.logrotate ${D}/${sysconfdir}/logrotate.d/lmon.logrotate
209         install -m 644 -p -D fsmon/scripts/fsmon.logrotate ${D}/${sysconfdir}/logrotate.d/fsmon.logrotate
210         install -m 644 -p -D hwmon/scripts/hwmon.logrotate ${D}/${sysconfdir}/logrotate.d/hwmon.logrotate
211         install -m 644 -p -D alarm/scripts/mtcalarm.logrotate ${D}/${sysconfdir}/logrotate.d/mtcalarm.logrotate
212         
213         # software development files
214         install -m 644 -p -D heartbeat/mtceHbsCluster.h ${D}/${includedir}/mtceHbsCluster.h
215         install -m 755 -p -D public/libamon.so.1 ${D}/${libdir}/
216         cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so.${MAJOR}.${MINOR}
217         cd ${D}/${libdir} ; ln -s libamon.so.${MAJOR} libamon.so
218 }
219
220 FILES_${PN}-pmon = " \
221         ${sbindir}/pmon-restart \
222         ${sbindir}/pmon-start \
223         ${sbindir}/pmon-stop \
224         ${bindir}/pmond \
225         ${systemd_system_unitdir}/pmon.service \
226         ${sysconfdir}/mtc/pmond.conf \
227         ${sysconfdir}/init.d/pmon \
228         ${sysconfdir}/logrotate.d/pmon.logrotate \
229         "
230
231 FILES_${PN}-hwmon = " \
232         ${bindir}/hwmond \
233         ${sysconfdir}/init.d/hwmon \
234         ${libdir}/ocf/resource.d/platform/hwmon \
235         ${sysconfdir}/logrotate.d/hwmon.logrotate \
236         ${systemd_system_unitdir}/hwmon.service \
237         ${sysconfdir}/mtc/hwmond.conf \
238         "
239
240 FILES_${PN}-hostw = " \
241         ${sysconfdir}/mtc/hostwd.conf \
242         ${sysconfdir}/logrotate.d/hostw.logrotate \
243         ${systemd_system_unitdir}/hostw.service \
244         ${sysconfdir}/init.d/hostw \
245         ${bindir}/hostwd \
246         "
247
248 FILES_${PN}-lmon = " \
249         ${bindir}/lmond \
250         ${sysconfdir}/mtc/lmond.conf \
251         ${sysconfdir}/logrotate.d/lmon.logrotate \
252         ${sysconfdir}/pmon.d/lmon.conf \
253         ${sysconfdir}/init.d/lmon \
254         ${systemd_system_unitdir}/lmon.service \
255         "
256
257 FILES_${PN} = " \
258         ${bindir}/mtcAgent \
259         ${bindir}/mtcClient \
260         ${bindir}/fsmond \
261         ${bindir}/hbsAgent \
262         ${bindir}/wipedisk \
263         ${bindir}/hbsClient \
264         ${bindir}/mtcalarmd \
265         ${bindir}/mtclogd \
266         ${sbindir}/fsync \
267         ${sbindir}/dmemchk.sh \
268         ${libdir}/ocf/resource.d/platform/mtcAgent \
269         ${libdir}/libamon${SOLIBS} \
270         ${systemd_system_unitdir}/mtcalarm.service \
271         ${systemd_system_unitdir}/goenabled.service \
272         ${systemd_system_unitdir}/mtclog.service \
273         ${systemd_system_unitdir}/mtcClient.service \
274         ${systemd_system_unitdir}/fsmon.service \
275         ${systemd_system_unitdir}/hbsClient.service \
276         ${systemd_system_unitdir}/hwclock.service \
277         ${systemd_system_unitdir}/runservices.service \
278         ${sysconfdir}/pmon.d/nslcd.conf \
279         ${sysconfdir}/pmon.d/mtclogd.conf \
280         ${sysconfdir}/pmon.d/mtcalarm.conf \
281         ${sysconfdir}/pmon.d/syslog-ng.conf \
282         ${sysconfdir}/pmon.d/acpid.conf \
283         ${sysconfdir}/pmon.d/sshd.conf \
284         ${sysconfdir}/pmon.d/fsmon.conf \
285         ${sysconfdir}/pmon.d/hbsClient.conf \
286         ${sysconfdir}/pmon.d/mtcClient.conf \
287         ${sysconfdir}/init.d/runservices \
288         ${sysconfdir}/init.d/goenabled \
289         ${sysconfdir}/init.d/mtcClient \
290         ${sysconfdir}/init.d/hwclock.sh \
291         ${sysconfdir}/init.d/mtclog \
292         ${sysconfdir}/init.d/mtcalarm \
293         ${sysconfdir}/init.d/hbsClient \
294         ${sysconfdir}/init.d/fsmon \
295         ${sysconfdir}/mtc.conf \
296         ${sysconfdir}/bmc/server_profiles.d/sensor_hp380_v1_ilo_v4.profile \
297         ${sysconfdir}/bmc/server_profiles.d/sensor_hp360_v1_ilo_v4.profile \
298         ${sysconfdir}/bmc/server_profiles.d/sensor_quanta_v1_ilo_v4.profile \
299         ${sysconfdir}/services.d/worker/mtcTest \
300         ${sysconfdir}/services.d/controller/mtcTest \
301         ${sysconfdir}/services.d/storage/mtcTest \
302         ${sysconfdir}/mtc/fsmond.conf \
303         ${sysconfdir}/mtc/tmp/ \
304         ${sysconfdir}/mtc.ini \
305         ${sysconfdir}/mtc/tmp/ \
306         ${sysconfdir}/mtc.ini \
307         ${sysconfdir}/logrotate.d/fsmon.logrotate \
308         ${sysconfdir}/logrotate.d/mtcalarm.logrotate \
309         ${sysconfdir}/logrotate.d/mtce.logrotate \
310         "