blob: d6ef36500ad09d9db4373447cf0c1e2a341e88da [file] [log] [blame]
Brad Bishopbd9931f2017-04-22 16:26:22 -04001SUMMARY = "Phosphor Fan"
2DESCRIPTION = "Phosphor fan provides a set of fan monitoring and \
3control applications."
4PR = "r1"
5
6require ${PN}.inc
7
8inherit autotools pkgconfig pythonnative
9inherit obmc-phosphor-systemd
10inherit phosphor-fan
11
12S = "${WORKDIR}/git"
13
14# Common build dependencies
15DEPENDS += "autoconf-archive-native"
16DEPENDS += "python-pyyaml-native"
17DEPENDS += "python-mako-native"
18DEPENDS += "sdbusplus"
Brad Bishop04ff12c2018-01-26 21:48:20 -050019DEPENDS += "sdbusplus-native"
Brad Bishopbd9931f2017-04-22 16:26:22 -040020DEPENDS += "phosphor-logging"
Brad Bishop4785fdf2017-07-30 21:25:23 -040021DEPENDS += "libevdev"
Brad Bishopbd9931f2017-04-22 16:26:22 -040022
23# Package configuration
24FAN_PACKAGES = " \
25 ${PN}-presence-tach \
26 ${PN}-control \
Matt Spinlerdd7a0802017-05-01 14:29:20 -050027 ${PN}-monitor \
Brad Bishopbd9931f2017-04-22 16:26:22 -040028"
Brandon Wymanc50a8c42017-04-28 18:26:45 -050029
Brad Bishopbd9931f2017-04-22 16:26:22 -040030PACKAGES_remove = "${PN}"
31PACKAGES += "${FAN_PACKAGES}"
Brandon Wyman5b42b742017-06-09 17:50:42 -050032PACKAGECONFIG ?= "presence control monitor"
Brad Bishopbd9931f2017-04-22 16:26:22 -040033SYSTEMD_PACKAGES = "${FAN_PACKAGES}"
34RDEPENDS_${PN}-dev = "${FAN_PACKAGES}"
35RDEPENDS_${PN}-staticdev = "${FAN_PACKAGES}"
36
37# --------------------------------------
38# ${PN}-presence-tach specific configuration
39PACKAGECONFIG[presence] = " \
40 --enable-presence \
Brad Bishop8861a872017-08-02 14:01:24 -040041 PRESENCE_CONFIG=${STAGING_DIR_NATIVE}${presence_datadir}/config.yaml, \
Brad Bishopbd9931f2017-04-22 16:26:22 -040042 --disable-presence, \
43 virtual/phosphor-fan-presence-config \
44 , \
45"
46RDEPENDS_${PN}-presence-tach += "sdbusplus"
47
Matt Spinlerc133ec12017-04-19 08:23:50 -050048# Needed to install into the obmc-chassis-poweron target
49TMPL_TACH = "phosphor-fan-presence-tach@.service"
50INSTFMT_TACH = "phosphor-fan-presence-tach@{0}.service"
Matt Spinlerbde651b2017-05-16 10:49:57 -050051POWERON_TGT = "obmc-chassis-poweron@{0}.target"
52FMT_TACH = "../${TMPL_TACH}:${POWERON_TGT}.requires/${INSTFMT_TACH}"
Brad Bishopbd9931f2017-04-22 16:26:22 -040053
54FILES_${PN}-presence-tach = "${sbindir}/phosphor-fan-presence-tach"
Matt Spinlerc133ec12017-04-19 08:23:50 -050055SYSTEMD_SERVICE_${PN}-presence-tach += "${TMPL_TACH}"
56SYSTEMD_LINK_${PN}-presence-tach += "${@compose_list(d, 'FMT_TACH', 'OBMC_CHASSIS_INSTANCES')}"
Brad Bishopbd9931f2017-04-22 16:26:22 -040057
58# --------------------------------------
59# ${PN}-control specific configuration
Matt Spinlerc133ec12017-04-19 08:23:50 -050060PACKAGECONFIG[control] = "--enable-control \
61 FAN_DEF_YAML_FILE=${STAGING_DIR_NATIVE}${control_datadir}/fans.yaml \
62 FAN_ZONE_YAML_FILE=${STAGING_DIR_NATIVE}${control_datadir}/zones.yaml \
Matthew Barth2bfd71d2017-05-24 17:06:13 -050063 ZONE_EVENTS_YAML_FILE=${STAGING_DIR_NATIVE}${control_datadir}/events.yaml \
Gunnar Millsc8228da2017-06-26 11:35:38 -050064 ZONE_CONDITIONS_YAML_FILE=${STAGING_DIR_NATIVE}${control_datadir}/zone_conditions.yaml \
Matt Spinlerc133ec12017-04-19 08:23:50 -050065 FAN_ZONE_OUTPUT_DIR=${S}/control, \
66 --disable-control, \
67 virtual/phosphor-fan-control-fan-config \
68 phosphor-fan-control-zone-config-native \
Matthew Barth2bfd71d2017-05-24 17:06:13 -050069 phosphor-fan-control-events-config-native \
Gunnar Millsc8228da2017-06-26 11:35:38 -050070 phosphor-fan-control-zone-conditions-config-native \
Matt Spinlerc133ec12017-04-19 08:23:50 -050071 , \
72"
73
74RDEPENDS_${PN}-control += "sdbusplus"
75
Matt Spinlerbde651b2017-05-16 10:49:57 -050076FAN_CONTROL_TGT = "obmc-fan-control-ready@{0}.target"
77
Matt Spinlerc133ec12017-04-19 08:23:50 -050078TMPL_CONTROL = "phosphor-fan-control@.service"
79INSTFMT_CONTROL = "phosphor-fan-control@{0}.service"
Matt Spinlerbde651b2017-05-16 10:49:57 -050080FMT_CONTROL = "../${TMPL_CONTROL}:${FAN_CONTROL_TGT}.requires/${INSTFMT_CONTROL}"
81
82TMPL_CONTROL_INIT = "phosphor-fan-control-init@.service"
83INSTFMT_CONTROL_INIT = "phosphor-fan-control-init@{0}.service"
Matthew Barthb5e69d62017-10-24 14:04:46 -050084FMT_CONTROL_INIT = "../${TMPL_CONTROL_INIT}:${POWERON_TGT}.wants/${INSTFMT_CONTROL_INIT}"
Matt Spinlerc133ec12017-04-19 08:23:50 -050085
Brad Bishopbd9931f2017-04-22 16:26:22 -040086FILES_${PN}-control = "${sbindir}/phosphor-fan-control"
Matt Spinlerbde651b2017-05-16 10:49:57 -050087SYSTEMD_SERVICE_${PN}-control += "${TMPL_CONTROL} ${TMPL_CONTROL_INIT}"
Matt Spinlerc133ec12017-04-19 08:23:50 -050088SYSTEMD_LINK_${PN}-control += "${@compose_list(d, 'FMT_CONTROL', 'OBMC_CHASSIS_INSTANCES')}"
Matt Spinlerbde651b2017-05-16 10:49:57 -050089SYSTEMD_LINK_${PN}-control += "${@compose_list(d, 'FMT_CONTROL_INIT', 'OBMC_CHASSIS_INSTANCES')}"
Brad Bishopbd9931f2017-04-22 16:26:22 -040090
91# --------------------------------------
Matt Spinlerdd7a0802017-05-01 14:29:20 -050092# ${PN}-monitor specific configuration
93PACKAGECONFIG[monitor] = "--enable-monitor \
94 FAN_MONITOR_YAML_FILE=${STAGING_DIR_NATIVE}${monitor_datadir}/monitor.yaml \
95 FAN_MONITOR_OUTPUT_DIR=${S}/monitor, \
96 --disable-monitor, \
97 phosphor-fan-monitor-config-native \
98 , \
99"
100
101RDEPENDS_${PN}-monitor += "sdbusplus"
102
103TMPL_MONITOR = "phosphor-fan-monitor@.service"
104INSTFMT_MONITOR = "phosphor-fan-monitor@{0}.service"
Matt Spinlerbde651b2017-05-16 10:49:57 -0500105FMT_MONITOR = "../${TMPL_MONITOR}:${FAN_CONTROL_TGT}.requires/${INSTFMT_MONITOR}"
Matt Spinlerdd7a0802017-05-01 14:29:20 -0500106
Matthew Barthcac2ecf2017-08-23 13:18:01 -0500107TMPL_MONITOR_INIT = "phosphor-fan-monitor-init@.service"
108INSTFMT_MONITOR_INIT = "phosphor-fan-monitor-init@{0}.service"
Matthew Barthb5e69d62017-10-24 14:04:46 -0500109FMT_MONITOR_INIT = "../${TMPL_MONITOR_INIT}:${POWERON_TGT}.wants/${INSTFMT_MONITOR_INIT}"
Matthew Barthcac2ecf2017-08-23 13:18:01 -0500110
Matt Spinlerdd7a0802017-05-01 14:29:20 -0500111FILES_${PN}-monitor = "${sbindir}/phosphor-fan-monitor"
Matthew Barthcac2ecf2017-08-23 13:18:01 -0500112SYSTEMD_SERVICE_${PN}-monitor += "${TMPL_MONITOR} ${TMPL_MONITOR_INIT}"
Matt Spinlerdd7a0802017-05-01 14:29:20 -0500113SYSTEMD_LINK_${PN}-monitor += "${@compose_list(d, 'FMT_MONITOR', 'OBMC_CHASSIS_INSTANCES')}"
Matthew Barthcac2ecf2017-08-23 13:18:01 -0500114SYSTEMD_LINK_${PN}-monitor += "${@compose_list(d, 'FMT_MONITOR_INIT', 'OBMC_CHASSIS_INSTANCES')}"
Brandon Wymanc50a8c42017-04-28 18:26:45 -0500115
116# --------------------------------------
117# phosphor-cooling-type specific configuration
Brad Bishop4785fdf2017-07-30 21:25:23 -0400118PACKAGECONFIG[cooling-type] = "--enable-cooling-type,--disable-cooling-type,,"