Add phosphor-power recipe
There was witherspoon-fault-analysis recipe in meta-ibm. Now the repo
becomes a generic one, phosphor-power, add the recipe in meta-phosphor.
Tested: Verify the build `bitbake phosphor-power` succeeds.
With changes in meta-ibm/meta-witherspoon, verify phosphor-power
is built correctly and the services are installed.
Change-Id: I08b2bc2b13d80d1290a970f48565be18728a2115
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/recipes-phosphor/power/phosphor-power-systemd-links.bb b/recipes-phosphor/power/phosphor-power-systemd-links.bb
new file mode 100644
index 0000000..0ee5e83
--- /dev/null
+++ b/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/recipes-phosphor/power/phosphor-power.inc b/recipes-phosphor/power/phosphor-power.inc
new file mode 100644
index 0000000..5195400
--- /dev/null
+++ b/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/recipes-phosphor/power/phosphor-power_git.bb b/recipes-phosphor/power/phosphor-power_git.bb
new file mode 100644
index 0000000..b66c107
--- /dev/null
+++ b/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}"