summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-power-systemd-links.bb43
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-power.inc5
-rw-r--r--meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb29
3 files changed, 77 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power-systemd-links.bb b/meta-phosphor/recipes-phosphor/power/phosphor-power-systemd-links.bb
new file mode 100644
index 0000000000..0ee5e83034
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power-systemd-links.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Phosphor Power services installation"
+PR = "r1"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+inherit allarch
+
+RDEPENDS_${PN} += "phosphor-power"
+
+OBMC_POWER_SUPPLY_INSTANCES ?= "0"
+
+ALLOW_EMPTY_${PN} = "1"
+
+pkg_postinst_${PN}() {
+ mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweron@0.target.wants
+ mkdir -p $D$systemd_system_unitdir/multi-user.target.requires
+
+ LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.wants/pseq-monitor.service"
+ TARGET="../pseq-monitor.service"
+ ln -s $TARGET $LINK
+
+ LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.wants/pseq-monitor-pgood.service"
+ TARGET="../pseq-monitor-pgood.service"
+ ln -s $TARGET $LINK
+
+ for inst in $OBMC_POWER_SUPPLY_INSTANCES; do
+ LINK="$D$systemd_system_unitdir/multi-user.target.requires/power-supply-monitor@$inst.service"
+ TARGET="../power-supply-monitor@.service"
+ ln -s $TARGET $LINK
+ done
+}
+
+pkg_prerm_${PN}() {
+ LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.wants/pseq-monitor.service"
+ rm $LINK
+ LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@0.target.wants/pseq-monitor-pgood.service"
+ rm $LINK
+ for inst in $OBMC_POWER_SUPPLY_INSTANCES; do
+ LINK="$D$systemd_system_unitdir/multi-user.target.requires/power-supply-monitor@$inst.service"
+ rm $LINK
+ done
+}
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power.inc b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
new file mode 100644
index 0000000000..51954001a9
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power.inc
@@ -0,0 +1,5 @@
+HOMEPAGE = "https://github.com/openbmc/phosphor-power"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+SRC_URI += "git://github.com/openbmc/phosphor-power"
+SRCREV = "aff6548e9009524ddfc3c597babece3fdd6c6d07"
diff --git a/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb
new file mode 100644
index 0000000000..b66c107f45
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/power/phosphor-power_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Phosphor Power services and utilities"
+DESCRIPTION = "Configure and monitor power supplies, power sequencers, and \
+voltage regulators, and analyzes power devices for faults"
+PR = "r1"
+PV = "1.0+git${SRCPV}"
+
+inherit meson
+inherit pkgconfig
+inherit systemd
+inherit pythonnative
+
+require ${PN}.inc
+
+S = "${WORKDIR}/git"
+
+# TODO: in future when openpower-dbus-interfaces is removed from
+# phosphor-power, remove the dependency here.
+DEPENDS += " \
+ phosphor-logging \
+ openpower-dbus-interfaces \
+ sdbus++-native \
+ sdeventplus \
+ nlohmann-json \
+ "
+
+SEQ_MONITOR_SVC = "pseq-monitor.service"
+SEQ_PGOOD_SVC = "pseq-monitor-pgood.service"
+PSU_MONITOR_TMPL = "power-supply-monitor@.service"
+SYSTEMD_SERVICE_${PN} += "${SEQ_MONITOR_SVC} ${SEQ_PGOOD_SVC} ${PSU_MONITOR_TMPL}"