phosphor-power: split into separated packages

phosphor-power consists of several separated services and utils. All of
them are installed by default.

Split them into separated packages, so that a machine layer could select
which packages are needed.
This is done by define PACKAGE_BEFORE_PN and specify the FILES_ for each
package, and split the phosphor-power-systemd-links-monitor.bb into
separated recipes to install services for the related package.

The phosphor-power-systemd-links.bb is kept for now to avoid build error
on existing systems. It will be removed when the meta-system layers'
changes are done.

Tested: Only include phosphor-power-monitor, verify that only the
        related binary and service unit file are installed into the
        image.
        Include all the packages, verify that all the services and utils
        are installed into the image.

Signed-off-by: Lei YU <mine260309@gmail.com>
Change-Id: I211985255e690885eff8bf97f3f4580f154adce8
diff --git a/recipes-phosphor/power/phosphor-power-systemd-links-monitor.bb b/recipes-phosphor/power/phosphor-power-systemd-links-monitor.bb
new file mode 100644
index 0000000..77df3ac
--- /dev/null
+++ b/recipes-phosphor/power/phosphor-power-systemd-links-monitor.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Phosphor Power Monitor 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}-monitor += "phosphor-power-monitor"
+
+ALLOW_EMPTY_${PN} = "1"
+
+
+pkg_postinst_${PN}() {
+	mkdir -p $D$systemd_system_unitdir/multi-user.target.requires
+
+	[ -z "${OBMC_POWER_SUPPLY_INSTANCES}" ] && echo "No power supply instance defined" && exit 1
+
+	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}() {
+	[ -z "${OBMC_POWER_SUPPLY_INSTANCES}" ] && echo "No power supply instance defined" && exit 1
+
+	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
+}