Vishwanatha Subbanna | 5fe31d4 | 2017-01-09 15:00:38 +0530 | [diff] [blame] | 1 | SUMMARY = "Phosphor LED Group Management Daemon" |
| 2 | DESCRIPTION = "Daemon to cater to triggering actions on LED groups" |
Vishwanatha Subbanna | d784469 | 2020-03-30 07:16:17 -0500 | [diff] [blame] | 3 | DEPENDS += "${PYTHON_PN}-native" |
| 4 | DEPENDS += "${PYTHON_PN}-pyyaml-native" |
| 5 | DEPENDS += "${PYTHON_PN}-inflection-native" |
Andrew Geissler | d0e4f50 | 2022-03-21 14:50:10 +0000 | [diff] [blame] | 6 | DEPENDS += "cli11" |
| 7 | DEPENDS += "nlohmann-json" |
| 8 | DEPENDS += "phosphor-logging" |
Patrick Williams | 4b32c9a | 2020-03-31 16:43:15 -0500 | [diff] [blame] | 9 | DEPENDS += "sdbusplus ${PYTHON_PN}-sdbus++-native" |
Brad Bishop | 44f3cce | 2019-03-22 23:41:42 -0400 | [diff] [blame] | 10 | DEPENDS += "systemd" |
Ed Tanous | 9936f86 | 2022-09-19 09:13:20 -0700 | [diff] [blame] | 11 | PACKAGECONFIG ??= "\ |
| 12 | ${@oe.utils.conditional( \ |
| 13 | 'PREFERRED_PROVIDER_virtual/${PN}-config-native', \ |
| 14 | 'phosphor-led-manager-config-example-native', \ |
| 15 | 'use-json', 'use-yaml', d)} \ |
| 16 | " |
| 17 | PACKAGECONFIG[use-json] = "-Duse-json=enabled,,,,,use-yaml" |
| 18 | PACKAGECONFIG[use-yaml] = "-Duse-json=disabled,,virtual/${PN}-config-native,,,use-json" |
| 19 | PACKAGECONFIG[use-lamp-test] = "-Duse-lamp-test=enabled, -Duse-lamp-test=disabled" |
| 20 | PACKAGECONFIG[monitor-operational-status] = "-Dmonitor-operational-status=enabled, \ |
| 21 | -Dmonitor-operational-status=disabled" |
George Liu | fe21f1a | 2023-11-03 16:29:55 +0800 | [diff] [blame] | 22 | PACKAGECONFIG[persistent-led-asserted] = "-Dpersistent-led-asserted=enabled, \ |
| 23 | -Dpersistent-led-asserted=disabled" |
Ed Tanous | 9936f86 | 2022-09-19 09:13:20 -0700 | [diff] [blame] | 24 | PV = "1.0+git${SRCPV}" |
| 25 | PR = "r1" |
Ratan Gupta | 0e64291 | 2017-03-14 14:50:04 +0530 | [diff] [blame] | 26 | |
George Liu | 9c30b99 | 2024-01-25 14:00:39 +0800 | [diff] [blame] | 27 | LED_ORG_JSON_PATTERNS ??= "${@ d.getVar('OBMC_ORG_YAML_SUBDIRS').replace('/', '.')}" |
| 28 | LED_CONFIG_GREP_ARGS = "${@ ''.join([ ' -e ' + x for x in d.getVar('LED_ORG_JSON_PATTERNS').split() ])}" |
| 29 | do_install:append() { |
| 30 | for f in "${D}${datadir}/${PN}/"*.json ; |
| 31 | do |
| 32 | if ! echo "$(basename $f)" | grep -q ${LED_CONFIG_GREP_ARGS}; |
| 33 | then |
| 34 | rm -f ${f} |
| 35 | fi |
| 36 | done |
| 37 | } |
| 38 | |
Ed Tanous | 9936f86 | 2022-09-19 09:13:20 -0700 | [diff] [blame] | 39 | SYSTEMD_PACKAGES = "${PN} ${PN}-faultmonitor" |
Vishwanatha Subbanna | 5fe31d4 | 2017-01-09 15:00:38 +0530 | [diff] [blame] | 40 | S = "${WORKDIR}/git" |
Patrick Williams | 12fc939 | 2021-08-06 09:16:53 -0500 | [diff] [blame] | 41 | SYSTEMD_SERVICE:${PN} += "obmc-led-group-start@.service obmc-led-group-stop@.service" |
| 42 | SYSTEMD_SERVICE:${PN}-faultmonitor += "obmc-fru-fault-monitor.service" |
Patrick Williams | e83c220 | 2021-09-01 16:17:33 -0500 | [diff] [blame] | 43 | SYSTEMD_LINK:${PN} += "../obmc-led-group-start@.service:multi-user.target.wants/obmc-led-group-start@bmc_booted.service" |
Vishwanatha Subbanna | 95b3151 | 2017-03-27 14:36:58 +0530 | [diff] [blame] | 44 | STATES = "start stop" |
Patrick Williams | e83c220 | 2021-09-01 16:17:33 -0500 | [diff] [blame] | 45 | SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'FMT', 'CHASSIS_TARGETS', 'STATES')}" |
NodeMan97 | e41c3fd | 2022-07-13 15:15:54 -0500 | [diff] [blame] | 46 | SYSTEMD_LINK:${PN} += "${@compose_list(d, 'CHASSIS_LED_BLACKOUT_FMT', 'OBMC_CHASSIS_INSTANCES' )}" |
Vishwanatha Subbanna | e922ca6 | 2017-07-19 02:25:13 -0500 | [diff] [blame] | 47 | # Install the override to set up a Conflicts relation |
Patrick Williams | e83c220 | 2021-09-01 16:17:33 -0500 | [diff] [blame] | 48 | SYSTEMD_OVERRIDE:${PN} += "bmc_booted.conf:obmc-led-group-start@bmc_booted.service.d/bmc_booted.conf" |
Vishwanatha Subbanna | 95b3151 | 2017-03-27 14:36:58 +0530 | [diff] [blame] | 49 | |
Ed Tanous | 9936f86 | 2022-09-19 09:13:20 -0700 | [diff] [blame] | 50 | inherit meson pkgconfig python3native |
| 51 | inherit obmc-phosphor-dbus-service obmc-phosphor-systemd |
| 52 | |
Patrick Williams | ed104d4 | 2021-08-31 13:19:27 -0500 | [diff] [blame] | 53 | EXTRA_OEMESON:append = " -Dtests=disabled" |
Seires Li | 220e194 | 2021-06-10 02:11:11 +0800 | [diff] [blame] | 54 | |
Patrick Williams | 12fc939 | 2021-08-06 09:16:53 -0500 | [diff] [blame] | 55 | do_compile:prepend() { |
Seires Li | 220e194 | 2021-06-10 02:11:11 +0800 | [diff] [blame] | 56 | if [ -f "${LED_YAML_PATH}/led.yaml" ]; then |
| 57 | cp "${LED_YAML_PATH}/led.yaml" "${S}/led.yaml" |
| 58 | elif [ -f "${STAGING_DATADIR_NATIVE}/${PN}/led.yaml" ]; then |
| 59 | cp "${STAGING_DATADIR_NATIVE}/${PN}/led.yaml" "${S}/led.yaml" |
| 60 | elif [ -f "${WORKDIR}/led.yaml" ]; then |
| 61 | cp "${WORKDIR}/led.yaml" "${S}/led.yaml" |
| 62 | fi |
| 63 | } |
Ed Tanous | 9936f86 | 2022-09-19 09:13:20 -0700 | [diff] [blame] | 64 | |
| 65 | RDEPENDS:${PN} += "bash" |
| 66 | |
| 67 | FILES:${PN}-faultmonitor += "${bindir}/phosphor-fru-fault-monitor" |
| 68 | |
| 69 | require ${PN}.inc |
| 70 | |
| 71 | PACKAGE_BEFORE_PN += "${PN}-faultmonitor" |
| 72 | DBUS_SERVICE:${PN} += "xyz.openbmc_project.LED.GroupManager.service" |
| 73 | CHASSIS_TARGETS = "poweron poweroff" |
| 74 | TMPLFMT = "obmc-led-group-{1}@.service" |
| 75 | TGTFMT = "obmc-chassis-{0}@0.target" |
| 76 | INSTFMT = "obmc-led-group-{1}@power_on.service" |
| 77 | FMT = "../${TMPLFMT}:${TGTFMT}.wants/${INSTFMT}" |
| 78 | CHASSIS_BLACKOUT_TGT = "obmc-chassis-blackout@{0}.target" |
| 79 | LED_STOP_SVC = "obmc-led-group-stop@.service" |
| 80 | LED_POWER_STOP_SVC = "obmc-led-group-stop@power_on.service" |
| 81 | CHASSIS_LED_BLACKOUT_FMT = "../${LED_STOP_SVC}:${CHASSIS_BLACKOUT_TGT}.wants/${LED_POWER_STOP_SVC}" |