Add initial meta-stx to support StarlingX build
[pti/rtp.git] / meta-stx / recipes-core / stx-metal / mtce.inc
1 #
2 ## Copyright (C) 2019 Wind River Systems, Inc.
3 #
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15
16 PACKAGES += " mtce"
17 PACKAGES += " mtce-pmon"
18 PACKAGES += " mtce-hwmon"
19 PACKAGES += " mtce-hostw"
20 PACKAGES += " mtce-lmon"
21
22 RDEPENDS_mtce-pmon_append = " \
23         bash \
24         systemd \
25         dpkg \
26         fm-common \
27         libevent \
28         json-c \
29         python-rtslib-fb \
30         expect \
31         util-linux \
32         ipmitool \
33         "
34
35 RDEPENDS_mtce_append = " \
36         mtce-pmon \
37         python-redfishtool \
38         "
39
40 do_configure_prepend () {
41         :
42
43
44 do_compile_prepend () {
45         cd ${S}/mtce/src/
46         oe_runmake -e VER=1 VER_MJR=1 INCLUDES=" -I. -I../alarm -I../heartbeat -I../maintenance \
47                                 -I../hostw -I../public -I../smash -I../common -I../hwmon \
48                                 -I${S}/mtce-common/src/common \
49                                 -I${S}/mtce-common/src/daemon " \
50                 CCFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS} -L${S}/mtce-common/src/common \
51                 -L${S}/mtce-common/src/daemon " build
52 }
53
54 do_install_prepend () {
55 # TODO: 
56 # Really need to fix the package;s Makefile
57
58         cd ${S}/mtce/src/
59         install -m 755 -d ${D}/${bindir}
60         install -m 755 -d ${D}/${sbindir}
61         install -m 755 -d ${D}/${libdir}
62         install -m 755 -d ${D}/${libdir}/ocf/resource.d/platform
63         install -m 755 -d ${D}/${systemd_system_unitdir}
64         
65         install -m 755 -d ${D}/${sysconfdir}
66         install -m 755 -d ${D}/${sysconfdir}/mtc/tmp
67         install -m 755 -d ${D}/${sysconfdir}/bmc/server_profiles.d
68         install -m 755 -d ${D}/${sysconfdir}/init.d
69         install -m 755 -d ${D}/${sysconfdir}/pmon.d
70         install -m 755 -d ${D}/${sysconfdir}/logrotate.d
71         
72         install -m 755 -d ${D}/${sysconfdir}/serverices.d
73         install -m 755 -d ${D}/${sysconfdir}/serverices.d/controller
74         install -m 755 -d ${D}/${sysconfdir}/serverices.d/worker
75         install -m 755 -d ${D}/${sysconfdir}/serverices.d/storage
76         
77         cd ${S}/mtce/src/
78         install -m 755 -p -D scripts/mtcAgent ${D}/${libdir}/ocf/resource.d/platform
79         install -m 755 -p -D hwmon/scripts/ocf/hwmon ${D}/${libdir}/ocf/resource.d/platform
80         
81         # Config files
82         install -m 644 -p -D scripts/mtc.ini ${D}/${sysconfdir}/mtc.ini
83         install -m 644 -p -D scripts/mtc.conf ${D}/${sysconfdir}/mtc.conf
84         install -m 644 -p -D fsmon/scripts/fsmond.conf ${D}/${sysconfdir}/mtc/fsmond.conf
85         install -m 644 -p -D hwmon/scripts/hwmond.conf ${D}/${sysconfdir}/mtc/hwmond.conf
86         install -m 644 -p -D pmon/scripts/pmond.conf ${D}/${sysconfdir}/mtc/pmond.conf
87         install -m 644 -p -D lmon/scripts/lmond.conf ${D}/${sysconfdir}/mtc/lmond.conf
88         install -m 644 -p -D hostw/scripts/hostwd.conf ${D}/${sysconfdir}/mtc/hostwd.conf
89         
90         install -m 644 -p -D scripts/sensor_hp360_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
91         install -m 644 -p -D scripts/sensor_hp380_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
92         install -m 644 -p -D scripts/sensor_quanta_v1_ilo_v4.profile ${D}/${sysconfdir}/bmc/server_profiles.d/
93         
94         
95         # binaries
96         install -m 755 -p -D maintenance/mtcAgent ${D}/${bindir}/mtcAgent
97         install -m 755 -p -D maintenance/mtcClient ${D}/${bindir}/mtcClient
98         install -m 755 -p -D heartbeat/hbsAgent ${D}/${bindir}/hbsAgent
99         install -m 755 -p -D heartbeat/hbsClient ${D}/${bindir}/hbsClient
100         install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
101         install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
102         install -m 755 -p -D pmon/pmond ${D}/${bindir}/pmond
103         install -m 755 -p -D lmon/lmond ${D}/${bindir}/lmond
104         install -m 755 -p -D hostw/hostwd ${D}/${bindir}/hostwd
105         install -m 755 -p -D fsmon/fsmond ${D}/${bindir}/fsmond
106         install -m 755 -p -D hwmon/hwmond ${D}/${bindir}/hwmond
107         install -m 755 -p -D mtclog/mtclogd ${D}/${bindir}/mtclogd
108         install -m 755 -p -D alarm/mtcalarmd ${D}/${bindir}/mtcalarmd
109         install -m 755 -p -D scripts/wipedisk ${D}/${bindir}/wipedisk
110         install -m 755 -p -D fsync/fsync ${D}/${sbindir}/fsync
111         install -m 700 -p -D pmon/scripts/pmon-restart ${D}/${sbindir}/pmon-restart
112         install -m 700 -p -D pmon/scripts/pmon-start ${D}/${sbindir}/pmon-start
113         install -m 700 -p -D pmon/scripts/pmon-stop ${D}/${sbindir}/pmon-stop
114         
115         # init script files
116         install -m 755 -p -D scripts/mtcClient ${D}/${sysconfdir}/init.d/mtcClient
117         install -m 755 -p -D scripts/hbsClient ${D}/${sysconfdir}/init.d/hbsClient
118         install -m 755 -p -D hwmon/scripts/lsb/hwmon ${D}/${sysconfdir}/init.d/hwmon
119         install -m 755 -p -D fsmon/scripts/fsmon ${D}/${sysconfdir}/init.d/fsmon
120         install -m 755 -p -D scripts/mtclog ${D}/${sysconfdir}/init.d/mtclog
121         install -m 755 -p -D pmon/scripts/pmon ${D}/${sysconfdir}/init.d/pmon
122         install -m 755 -p -D lmon/scripts/lmon ${D}/${sysconfdir}/init.d/lmon
123         install -m 755 -p -D hostw/scripts/hostw ${D}/${sysconfdir}/init.d/hostw
124         install -m 755 -p -D alarm/scripts/mtcalarm.init ${D}/${sysconfdir}/init.d/mtcalarm
125         # install -m 755 -p -D scripts/config ${D}/${sysconfdir}/init.d/config
126         
127         # TODO: Init hack. Should move to proper module
128         install -m 755 -p -D scripts/hwclock.sh ${D}/${sysconfdir}/init.d/hwclock.sh
129         install -m 644 -p -D scripts/hwclock.service ${D}/${systemd_system_unitdir}/hwclock.service
130         
131         
132         # systemd service files
133         install -m 644 -p -D fsmon/scripts/fsmon.service ${D}/${systemd_system_unitdir}/fsmon.service
134         install -m 644 -p -D hwmon/scripts/hwmon.service ${D}/${systemd_system_unitdir}/hwmon.service
135         install -m 644 -p -D pmon/scripts/pmon.service ${D}/${systemd_system_unitdir}/pmon.service
136         install -m 644 -p -D hostw/scripts/hostw.service ${D}/${systemd_system_unitdir}/hostw.service
137         install -m 644 -p -D scripts/mtcClient.service ${D}/${systemd_system_unitdir}/mtcClient.service
138         install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
139         install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
140         install -m 644 -p -D scripts/hbsClient.service ${D}/${systemd_system_unitdir}/hbsClient.service
141         install -m 644 -p -D scripts/mtclog.service ${D}/${systemd_system_unitdir}/mtclog.service
142         install -m 644 -p -D scripts/goenabled.service ${D}/${systemd_system_unitdir}/goenabled.service
143         install -m 644 -p -D scripts/runservices.service ${D}/${systemd_system_unitdir}/runservices.service
144         install -m 644 -p -D alarm/scripts/mtcalarm.service ${D}/${systemd_system_unitdir}/mtcalarm.service
145         install -m 644 -p -D lmon/scripts/lmon.service ${D}/${systemd_system_unitdir}/lmon.service
146         
147         # fix the path for init scripts
148         sed -i -e 's|rc.d/||' ${D}/${systemd_system_unitdir}/*.service
149         
150         # go enabled stuff
151         install -m 755 -p -D scripts/goenabled ${D}/${sysconfdir}/init.d/goenabled
152         
153         # start or stop services test script
154         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/serverices.d/worker
155         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/serverices.d/controller
156         install -m 755 -p -D scripts/mtcTest ${D}/${sysconfdir}/serverices.d/storage
157         install -m 755 -p -D scripts/runservices ${D}/${sysconfdir}/init.d/runservices
158         
159         
160         # test tools
161         install -m 755 -p -D scripts/dmemchk.sh ${D}/${sbindir}
162         
163         # process monitor config files
164         install -m 644 -p -D scripts/mtcClient.conf ${D}/${sysconfdir}/pmon.d/mtcClient.conf
165         install -m 644 -p -D scripts/hbsClient.conf ${D}/${sysconfdir}/pmon.d/hbsClient.conf
166         install -m 644 -p -D pmon/scripts/acpid.conf ${D}/${sysconfdir}/pmon.d/acpid.conf
167         install -m 644 -p -D pmon/scripts/sshd.conf ${D}/${sysconfdir}/pmon.d/sshd.conf
168         install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
169         install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
170         install -m 644 -p -D pmon/scripts/syslog-ng.conf ${D}/${sysconfdir}/pmon.d/syslog-ng.conf
171         install -m 644 -p -D pmon/scripts/nslcd.conf ${D}/${sysconfdir}/pmon.d/nslcd.conf
172         install -m 644 -p -D fsmon/scripts/fsmon.conf ${D}/${sysconfdir}/pmon.d/fsmon.conf
173         install -m 644 -p -D scripts/mtclogd.conf ${D}/${sysconfdir}/pmon.d/mtclogd.conf
174         install -m 644 -p -D alarm/scripts/mtcalarm.pmon.conf ${D}/${sysconfdir}/pmon.d/mtcalarm.conf
175         install -m 644 -p -D lmon/scripts/lmon.pmon.conf ${D}/${sysconfdir}/pmon.d/lmon.conf
176         
177         # log rotation
178         install -m 644 -p -D scripts/mtce.logrotate ${D}/${sysconfdir}/logrotate.d/mtce.logrotate
179         install -m 644 -p -D hostw/scripts/hostw.logrotate ${D}/${sysconfdir}/logrotate.d/hostw.logrotate
180         install -m 644 -p -D pmon/scripts/pmon.logrotate ${D}/${sysconfdir}/logrotate.d/pmon.logrotate
181         install -m 644 -p -D lmon/scripts/lmon.logrotate ${D}/${sysconfdir}/logrotate.d/lmon.logrotate
182         install -m 644 -p -D fsmon/scripts/fsmon.logrotate ${D}/${sysconfdir}/logrotate.d/fsmon.logrotate
183         install -m 644 -p -D hwmon/scripts/hwmon.logrotate ${D}/${sysconfdir}/logrotate.d/hwmon.logrotate
184         install -m 644 -p -D alarm/scripts/mtcalarm.logrotate ${D}/${sysconfdir}/logrotate.d/mtcalarm.logrotate
185         
186         # software development files
187         install -m 644 -p -D heartbeat/mtceHbsCluster.h ${D}/${includedir}/mtceHbsCluster.h
188         install -m 755 -p -D public/libamon.so.1 ${D}/${libdir}/
189         #cd ${D}/%{_libdir} ; ln -s libamon.so.$MAJOR libamon.so.$MAJOR.$MINOR
190         #cd ${D}/%{_libdir} ; ln -s libamon.so.$MAJOR libamon.so
191 }
192
193 #pkg_postinst_ontarget-mtce () {
194 #       /usr/bin/systemctl enable hbsClient.service
195 #       /usr/bin/systemctl enable mtcalarm.service 
196 #       /usr/bin/systemctl enable mtclog.service 
197 #       /usr/bin/systemctl enable mtcClient.service 
198 #       /usr/bin/systemctl enable goenabled.service 
199 #       /usr/bin/systemctl enable lmon.service 
200 #       /usr/bin/systemctl enable hostw.service 
201 #       /usr/bin/systemctl enable fsmon.service 
202 #       /usr/bin/systemctl enable pmon.service 
203 #       # /usr/bin/systemctl enable hwclock.service 
204 #       # /usr/bin/systemctl enable runservices.service 
205 #}
206
207 FILES_mtce-pmon = " \
208         ${sbindir}/pmon-restart \
209         ${sbindir}/pmon-start \
210         ${sbindir}/pmon-stop \
211         ${bindir}/pmond \
212         ${systemd_system_unitdir}/pmon.service \
213         ${sysconfdir}/mtc/pmond.conf \
214         ${sysconfdir}/init.d/pmon \
215         ${sysconfdir}/logrotate.d/pmon.logrotate \
216         "
217
218 FILES_mtce-hwmon = " \
219         ${bindir}/hwmond \
220         ${sysconfdir}/init.d/hwmon \
221         ${libdir}/ocf/resource.d/platform/hwmon \
222         ${sysconfdir}/logrotate.d/hwmon.logrotate \
223         ${systemd_system_unitdir}/hwmon.service \
224         ${sysconfdir}/mtc/hwmond.conf \
225         "
226
227 FILES_mtce-hostw = " \
228         ${sysconfdir}/mtc/hostwd.conf \
229         ${sysconfdir}/logrotate.d/hostw.logrotate \
230         ${systemd_system_unitdir}/hostw.service \
231         ${sysconfdir}/init.d/hostw \
232         ${bindir}/hostwd \
233         "
234
235 FILES_mtce-lmon= " \
236         ${bindir}/lmond \
237         ${sysconfdir}/mtc/lmond.conf \
238         ${sysconfdir}/logrotate.d/lmon.logrotate \
239         ${sysconfdir}/pmon.d/lmon.conf \
240         ${sysconfdir}/init.d/lmon \
241         "
242
243 FILES_mtce = " \
244         ${bindir}/mtcAgent \
245         ${bindir}/mtcClient \
246         ${bindir}/fsmond \
247         ${bindir}/hbsAgent \
248         ${bindir}/wipedisk \
249         ${bindir}/hbsClient \
250         ${bindir}/mtcalarmd \
251         ${bindir}/mtclogd \
252         ${sbindir}/fsync \
253         ${sbindir}/dmemchk.sh \
254         ${libdir}/ocf/resource.d/platform/mtcAgent \
255         ${libdir}/libamon.so.1 \
256         ${systemd_system_unitdir}/mtcalarm.service \
257         ${systemd_system_unitdir}/goenabled.service \
258         ${systemd_system_unitdir}/mtclog.service \
259         ${systemd_system_unitdir}/mtcClient.service \
260         ${systemd_system_unitdir}/fsmon.service \
261         ${systemd_system_unitdir}/hbsClient.service \
262         ${systemd_system_unitdir}/hwclock.service \
263         ${systemd_system_unitdir}/runservices.service \
264         ${systemd_system_unitdir}/lmon.service \
265         ${sysconfdir}/pmon.d/nslcd.conf \
266         ${sysconfdir}/pmon.d/mtclogd.conf \
267         ${sysconfdir}/pmon.d/mtcalarm.conf \
268         ${sysconfdir}/pmon.d/syslog-ng.conf \
269         ${sysconfdir}/pmon.d/acpid.conf \
270         ${sysconfdir}/pmon.d/sshd.conf \
271         ${sysconfdir}/pmon.d/fsmon.conf \
272         ${sysconfdir}/pmon.d/hbsClient.conf \
273         ${sysconfdir}/pmon.d/mtcClient.conf \
274         ${sysconfdir}/init.d/runservices \
275         ${sysconfdir}/init.d/goenabled \
276         ${sysconfdir}/init.d/mtcClient \
277         ${sysconfdir}/init.d/hwclock.sh \
278         ${sysconfdir}/init.d/mtclog \
279         ${sysconfdir}/init.d/mtcalarm \
280         ${sysconfdir}/init.d/hbsClient \
281         ${sysconfdir}/init.d/fsmon \
282         ${sysconfdir}/mtc.conf \
283         ${sysconfdir}/bmc/server_profiles.d/sensor_hp380_v1_ilo_v4.profile \
284         ${sysconfdir}/bmc/server_profiles.d/sensor_hp360_v1_ilo_v4.profile \
285         ${sysconfdir}/bmc/server_profiles.d/sensor_quanta_v1_ilo_v4.profile \
286         ${sysconfdir}/serverices.d/worker/mtcTest \
287         ${sysconfdir}/serverices.d/controller/mtcTest \
288         ${sysconfdir}/serverices.d/storage/mtcTest \
289         ${sysconfdir}/mtc/fsmond.conf \
290         ${sysconfdir}/mtc/tmp/ \
291         ${sysconfdir}/mtc.ini \
292         ${sysconfdir}/logrotate.d/fsmon.logrotate \
293         ${sysconfdir}/logrotate.d/mtcalarm.logrotate \
294         ${sysconfdir}/logrotate.d/mtce.logrotate \
295         "