Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 1 | SUMMARY = "Phosphor Fan" |
| 2 | DESCRIPTION = "Phosphor fan provides a set of fan monitoring and \ |
| 3 | control applications." |
| 4 | PR = "r1" |
Patrick Venture | eb43370 | 2018-10-21 08:25:11 -0700 | [diff] [blame] | 5 | PV = "1.0+git${SRCPV}" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 6 | |
| 7 | require ${PN}.inc |
| 8 | |
| 9 | inherit autotools pkgconfig pythonnative |
| 10 | inherit obmc-phosphor-systemd |
| 11 | inherit phosphor-fan |
| 12 | |
| 13 | S = "${WORKDIR}/git" |
| 14 | |
| 15 | # Common build dependencies |
| 16 | DEPENDS += "autoconf-archive-native" |
| 17 | DEPENDS += "python-pyyaml-native" |
| 18 | DEPENDS += "python-mako-native" |
| 19 | DEPENDS += "sdbusplus" |
Brad Bishop | f06d3b6 | 2018-01-26 21:48:20 -0500 | [diff] [blame] | 20 | DEPENDS += "sdbusplus-native" |
William A. Kennington III | 581d3c2 | 2018-10-19 18:24:31 -0700 | [diff] [blame] | 21 | DEPENDS += "sdeventplus" |
William A. Kennington III | 8711f98 | 2018-10-29 16:32:26 -0700 | [diff] [blame^] | 22 | DEPENDS += "gpioplus" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 23 | DEPENDS += "phosphor-logging" |
Brad Bishop | 0eaba74 | 2017-07-30 21:25:23 -0400 | [diff] [blame] | 24 | DEPENDS += "libevdev" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 25 | |
| 26 | # Package configuration |
| 27 | FAN_PACKAGES = " \ |
| 28 | ${PN}-presence-tach \ |
| 29 | ${PN}-control \ |
Matt Spinler | 39652c8 | 2017-05-01 14:29:20 -0500 | [diff] [blame] | 30 | ${PN}-monitor \ |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 31 | " |
Brandon Wyman | 0f78628 | 2017-04-28 18:26:45 -0500 | [diff] [blame] | 32 | |
Brad Bishop | 1c5aa36 | 2018-04-11 11:41:50 -0400 | [diff] [blame] | 33 | ALLOW_EMPTY_${PN} = "1" |
| 34 | PACKAGE_BEFORE_PN += "${FAN_PACKAGES}" |
Brandon Wyman | a7b4440 | 2017-06-09 17:50:42 -0500 | [diff] [blame] | 35 | PACKAGECONFIG ?= "presence control monitor" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 36 | SYSTEMD_PACKAGES = "${FAN_PACKAGES}" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 37 | |
| 38 | # -------------------------------------- |
| 39 | # ${PN}-presence-tach specific configuration |
| 40 | PACKAGECONFIG[presence] = " \ |
| 41 | --enable-presence \ |
Brad Bishop | b8c1f77 | 2017-08-02 14:01:24 -0400 | [diff] [blame] | 42 | PRESENCE_CONFIG=${STAGING_DIR_NATIVE}${presence_datadir}/config.yaml, \ |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 43 | --disable-presence, \ |
| 44 | virtual/phosphor-fan-presence-config \ |
| 45 | , \ |
| 46 | " |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 47 | |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 48 | # Needed to install into the obmc-chassis-poweron target |
| 49 | TMPL_TACH = "phosphor-fan-presence-tach@.service" |
| 50 | INSTFMT_TACH = "phosphor-fan-presence-tach@{0}.service" |
Matt Spinler | 29feaa3 | 2017-05-16 10:49:57 -0500 | [diff] [blame] | 51 | POWERON_TGT = "obmc-chassis-poweron@{0}.target" |
| 52 | FMT_TACH = "../${TMPL_TACH}:${POWERON_TGT}.requires/${INSTFMT_TACH}" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 53 | |
| 54 | FILES_${PN}-presence-tach = "${sbindir}/phosphor-fan-presence-tach" |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 55 | SYSTEMD_SERVICE_${PN}-presence-tach += "${TMPL_TACH}" |
| 56 | SYSTEMD_LINK_${PN}-presence-tach += "${@compose_list(d, 'FMT_TACH', 'OBMC_CHASSIS_INSTANCES')}" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 57 | |
| 58 | # -------------------------------------- |
| 59 | # ${PN}-control specific configuration |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 60 | PACKAGECONFIG[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 Barth | 5f26abf | 2017-05-24 17:06:13 -0500 | [diff] [blame] | 63 | ZONE_EVENTS_YAML_FILE=${STAGING_DIR_NATIVE}${control_datadir}/events.yaml \ |
Gunnar Mills | 9b6cc24 | 2017-06-26 11:35:38 -0500 | [diff] [blame] | 64 | ZONE_CONDITIONS_YAML_FILE=${STAGING_DIR_NATIVE}${control_datadir}/zone_conditions.yaml \ |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 65 | FAN_ZONE_OUTPUT_DIR=${S}/control, \ |
| 66 | --disable-control, \ |
| 67 | virtual/phosphor-fan-control-fan-config \ |
| 68 | phosphor-fan-control-zone-config-native \ |
Matthew Barth | 5f26abf | 2017-05-24 17:06:13 -0500 | [diff] [blame] | 69 | phosphor-fan-control-events-config-native \ |
Gunnar Mills | 9b6cc24 | 2017-06-26 11:35:38 -0500 | [diff] [blame] | 70 | phosphor-fan-control-zone-conditions-config-native \ |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 71 | , \ |
| 72 | " |
| 73 | |
Matt Spinler | 29feaa3 | 2017-05-16 10:49:57 -0500 | [diff] [blame] | 74 | FAN_CONTROL_TGT = "obmc-fan-control-ready@{0}.target" |
| 75 | |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 76 | TMPL_CONTROL = "phosphor-fan-control@.service" |
| 77 | INSTFMT_CONTROL = "phosphor-fan-control@{0}.service" |
Matt Spinler | 29feaa3 | 2017-05-16 10:49:57 -0500 | [diff] [blame] | 78 | FMT_CONTROL = "../${TMPL_CONTROL}:${FAN_CONTROL_TGT}.requires/${INSTFMT_CONTROL}" |
| 79 | |
| 80 | TMPL_CONTROL_INIT = "phosphor-fan-control-init@.service" |
| 81 | INSTFMT_CONTROL_INIT = "phosphor-fan-control-init@{0}.service" |
Matthew Barth | bc6a750 | 2017-10-24 14:04:46 -0500 | [diff] [blame] | 82 | FMT_CONTROL_INIT = "../${TMPL_CONTROL_INIT}:${POWERON_TGT}.wants/${INSTFMT_CONTROL_INIT}" |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 83 | |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 84 | FILES_${PN}-control = "${sbindir}/phosphor-fan-control" |
Matt Spinler | 29feaa3 | 2017-05-16 10:49:57 -0500 | [diff] [blame] | 85 | SYSTEMD_SERVICE_${PN}-control += "${TMPL_CONTROL} ${TMPL_CONTROL_INIT}" |
Matt Spinler | bd9fdd9 | 2017-04-19 08:23:50 -0500 | [diff] [blame] | 86 | SYSTEMD_LINK_${PN}-control += "${@compose_list(d, 'FMT_CONTROL', 'OBMC_CHASSIS_INSTANCES')}" |
Matt Spinler | 29feaa3 | 2017-05-16 10:49:57 -0500 | [diff] [blame] | 87 | SYSTEMD_LINK_${PN}-control += "${@compose_list(d, 'FMT_CONTROL_INIT', 'OBMC_CHASSIS_INSTANCES')}" |
Brad Bishop | 2c5ba17 | 2017-04-22 16:26:22 -0400 | [diff] [blame] | 88 | |
| 89 | # -------------------------------------- |
Matt Spinler | 39652c8 | 2017-05-01 14:29:20 -0500 | [diff] [blame] | 90 | # ${PN}-monitor specific configuration |
| 91 | PACKAGECONFIG[monitor] = "--enable-monitor \ |
| 92 | FAN_MONITOR_YAML_FILE=${STAGING_DIR_NATIVE}${monitor_datadir}/monitor.yaml \ |
| 93 | FAN_MONITOR_OUTPUT_DIR=${S}/monitor, \ |
| 94 | --disable-monitor, \ |
| 95 | phosphor-fan-monitor-config-native \ |
| 96 | , \ |
| 97 | " |
| 98 | |
Matt Spinler | 39652c8 | 2017-05-01 14:29:20 -0500 | [diff] [blame] | 99 | TMPL_MONITOR = "phosphor-fan-monitor@.service" |
| 100 | INSTFMT_MONITOR = "phosphor-fan-monitor@{0}.service" |
Matt Spinler | 29feaa3 | 2017-05-16 10:49:57 -0500 | [diff] [blame] | 101 | FMT_MONITOR = "../${TMPL_MONITOR}:${FAN_CONTROL_TGT}.requires/${INSTFMT_MONITOR}" |
Matt Spinler | 39652c8 | 2017-05-01 14:29:20 -0500 | [diff] [blame] | 102 | |
Matthew Barth | 600d496 | 2017-08-23 13:18:01 -0500 | [diff] [blame] | 103 | TMPL_MONITOR_INIT = "phosphor-fan-monitor-init@.service" |
| 104 | INSTFMT_MONITOR_INIT = "phosphor-fan-monitor-init@{0}.service" |
Matthew Barth | bc6a750 | 2017-10-24 14:04:46 -0500 | [diff] [blame] | 105 | FMT_MONITOR_INIT = "../${TMPL_MONITOR_INIT}:${POWERON_TGT}.wants/${INSTFMT_MONITOR_INIT}" |
Matthew Barth | 600d496 | 2017-08-23 13:18:01 -0500 | [diff] [blame] | 106 | |
Matt Spinler | 39652c8 | 2017-05-01 14:29:20 -0500 | [diff] [blame] | 107 | FILES_${PN}-monitor = "${sbindir}/phosphor-fan-monitor" |
Matthew Barth | 600d496 | 2017-08-23 13:18:01 -0500 | [diff] [blame] | 108 | SYSTEMD_SERVICE_${PN}-monitor += "${TMPL_MONITOR} ${TMPL_MONITOR_INIT}" |
Matt Spinler | 39652c8 | 2017-05-01 14:29:20 -0500 | [diff] [blame] | 109 | SYSTEMD_LINK_${PN}-monitor += "${@compose_list(d, 'FMT_MONITOR', 'OBMC_CHASSIS_INSTANCES')}" |
Matthew Barth | 600d496 | 2017-08-23 13:18:01 -0500 | [diff] [blame] | 110 | SYSTEMD_LINK_${PN}-monitor += "${@compose_list(d, 'FMT_MONITOR_INIT', 'OBMC_CHASSIS_INSTANCES')}" |
Brandon Wyman | 0f78628 | 2017-04-28 18:26:45 -0500 | [diff] [blame] | 111 | |
| 112 | # -------------------------------------- |
| 113 | # phosphor-cooling-type specific configuration |
Brad Bishop | 0eaba74 | 2017-07-30 21:25:23 -0400 | [diff] [blame] | 114 | PACKAGECONFIG[cooling-type] = "--enable-cooling-type,--disable-cooling-type,," |