summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-phosphor/sensors
diff options
context:
space:
mode:
authorjmbills <jason.m.bills@intel.com>2021-06-25 18:34:41 +0300
committerGitHub <noreply@github.com>2021-06-25 18:34:41 +0300
commitc6b1c6ba7a01b7987d65d61c262c44c320193108 (patch)
treec31fba338a65c86741b16e061d66e0e060e3b768 /meta-phosphor/recipes-phosphor/sensors
parente7436234669703196c5ed56f33050d2dc19127cd (diff)
parentdefdca82c107f46e980c84bffb1b2c1263522fa0 (diff)
downloadopenbmc-c6b1c6ba7a01b7987d65d61c262c44c320193108.tar.xz
Merge pull request #68 from Intel-BMC/update2021-0.571-0.57
Update
Diffstat (limited to 'meta-phosphor/recipes-phosphor/sensors')
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/phosphor-max31785-msl@.service12
-rwxr-xr-xmeta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh24
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service10
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb65
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb2
-rw-r--r--meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb2
9 files changed, 54 insertions, 67 deletions
diff --git a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
index e3ab1f339..ada607648 100644
--- a/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/dbus-sensors_git.bb
@@ -2,7 +2,7 @@ SUMMARY = "dbus-sensors"
DESCRIPTION = "Dbus Sensor Services Configured from D-Bus"
SRC_URI = "git://github.com/openbmc/dbus-sensors.git"
-SRCREV = "eb0b84de9fd39a74a4a67990de6054b9d9f49833"
+SRCREV = "13b63f8f597d396db8b5bd182ac2e5814d599e2f"
PV = "0.1+git${SRCPV}"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules
deleted file mode 100644
index 503b2d002..000000000
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-hwmon.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-SUBSYSTEM=="hwmon", ACTION=="add", RUN="/usr/bin/start_hwmon.sh start %p %E{OF_FULLNAME}"
-SUBSYSTEM=="hwmon", ACTION=="remove", RUN="/usr/bin/start_hwmon.sh stop %p %E{OF_FULLNAME}"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules
deleted file mode 100644
index 45fb4b0fb..000000000
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/70-iio.rules
+++ /dev/null
@@ -1,2 +0,0 @@
-SUBSYSTEM=="iio", ACTION=="add", RUN="/usr/bin/start_hwmon.sh start %p %E{OF_FULLNAME}"
-SUBSYSTEM=="iio", ACTION=="remove", RUN="/usr/bin/start_hwmon.sh stop %p %E{OF_FULLNAME}"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/phosphor-max31785-msl@.service b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/phosphor-max31785-msl@.service
deleted file mode 100644
index c007f1188..000000000
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/phosphor-max31785-msl@.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Phosphor MAX31785 MSL
-ConditionFileNotEmpty={envfiledir}/obmc/hwmon-max31785/%I.conf
-Wants=mapper-wait@-xyz-openbmc_project-inventory.service
-After=mapper-wait@-xyz-openbmc_project-inventory.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/env max31785-msl -p "${{PATHS}}" -b ${{BUS}} -r ${{REVISION}}
-EnvironmentFile={envfiledir}/obmc/hwmon-max31785/%I.conf
-SyslogIdentifier=max31785-msl
-RemainAfterExit=yes
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh
deleted file mode 100755
index 2e346d0fb..000000000
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/start_hwmon.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-action=$1
-devpath=$2
-of_fullname=$3
-
-#Use of_fullname if it's there, otherwise use devpath.
-
-path=$of_fullname
-if [ -z "$path" ]
-then
- path=$devpath
-
- if [[ "$path" =~ (.*)/hwmon/hwmon[0-9]+$ ]];
- then
- path=${BASH_REMATCH[1]}
- fi
-fi
-
-# Needed to re-do escaping used to avoid bitbake separator conflicts
-path="${path//:/--}"
-# Needed to escape prior to being used as a unit argument
-path="$(systemd-escape "$path")"
-systemctl --no-block "$action" "xyz.openbmc_project.Hwmon@$path.service"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service
deleted file mode 100644
index b930b5711..000000000
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon/xyz.openbmc_project.Hwmon@.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=Phosphor Hwmon Poller
-ConditionFileNotEmpty=/etc/default/obmc/hwmon/%I.conf
-After=xyz.openbmc_project.ObjectMapper.service
-
-[Service]
-Restart=on-failure
-ExecStart=/usr/bin/env phosphor-hwmon-readd -o %I
-SyslogIdentifier=phosphor-hwmon-readd
-EnvironmentFile=/etc/default/obmc/hwmon/%I.conf
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
index 4e90977b4..0d163c164 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-hwmon_git.bb
@@ -5,10 +5,11 @@ PV = "1.0+git${SRCPV}"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
-inherit meson pkgconfig
+inherit meson
inherit obmc-phosphor-systemd
PACKAGECONFIG ??= ""
+# Meson configure option to enable/disable max31785-msl
PACKAGECONFIG[max31785-msl] = "-Denable-max31785-msl=true, -Denable-max31785-msl=false"
PACKAGE_BEFORE_PN = "max31785-msl"
@@ -17,7 +18,6 @@ SYSTEMD_PACKAGES = "${PN} max31785-msl"
SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.Hwmon@.service"
SYSTEMD_SERVICE_max31785-msl = "${@bb.utils.contains('PACKAGECONFIG', 'max31785-msl', 'phosphor-max31785-msl@.service', '', d)}"
-DEPENDS += "autoconf-archive-native"
DEPENDS += " \
sdbusplus \
sdeventplus \
@@ -28,31 +28,68 @@ DEPENDS += " \
cli11 \
"
-
+FILES_${PN} += "${base_libdir}/systemd/system/xyz.openbmc_project.Hwmon@.service"
RDEPENDS_${PN} += "\
bash \
"
RRECOMMENDS_${PN} += "${VIRTUAL-RUNTIME_phosphor-hwmon-config}"
-FILES_max31785-msl = "${bindir}/max31785-msl"
+FILES_max31785-msl = "\
+ ${base_libdir}/systemd/system/phosphor-max31785-msl@.service \
+ ${bindir}/max31785-msl \
+ "
RDEPENDS_max31785-msl = "${VIRTUAL-RUNTIME_base-utils} i2c-tools bash"
SRC_URI += "git://github.com/openbmc/phosphor-hwmon"
-SRC_URI += "file://70-hwmon.rules"
-SRC_URI += "file://70-iio.rules"
-SRC_URI += "file://start_hwmon.sh"
-SRCREV = "73769099e215de68fbb6c82664eb682cacce9f56"
+SRCREV = "e32ce16bb6cc527b2e46b6e90ef7ac47404da173"
S = "${WORKDIR}/git"
-do_install_append() {
+# The following postinstall script iterate over hwmon env files:
+# 1. It adds HW_SENSOR_ID value if not set. The value being calculated
+# as sha256sum.
+# 2. For each hwmon the script generates busconfig ACLs.
+pkg_postinst_${PN}() {
+ hwmon_dir="$D/etc/default/obmc/hwmon"
+ dbus_dir="$D/etc/dbus-1/system.d"
+
+ if [ -n "$D" -a -d "${hwmon_dir}" ]; then
+ # Remove existing links and replace with actual copy of the file to prevent
+ # HW_SENSOR_ID variable override for different sensors' instances.
+ find "${hwmon_dir}" -type l -name \*.conf | while read f; do
+ path="$(readlink -f $f)"
+ rm -f "${f}"
+ cp "${path}" "${f}"
+ done
+
+ find "${hwmon_dir}" -type f -name \*.conf | while read f; do
+ path="/${f##${hwmon_dir}/}"
+ path="${path%.conf}"
+ sensor_id="$(printf "%s" "${path}" | sha256sum | cut -d\ -f1)"
+ acl_file="${dbus_dir}/xyz.openbmc_project.Hwmon-${sensor_id}.conf"
+
+ egrep -q '^HW_SENSOR_ID\s*=' "${f}" ||
+ printf "\n# Sensor id for %s\nHW_SENSOR_ID = \"%s\"\n" "${path}" "${sensor_id}" >> "${f}"
+
+ # Extract HW_SENSOR_ID that could be either quoted or unquoted string.
+ sensor_id="$(sed -n 's,^HW_SENSOR_ID\s*=\s*"\?\(.[^" ]\+\)\s*"\?,\1,p' "${f}")"
- install -d ${D}/${base_libdir}/udev/rules.d/
- install -m 0644 ${WORKDIR}/70-hwmon.rules ${D}/${base_libdir}/udev/rules.d/
- install -m 0644 ${WORKDIR}/70-iio.rules ${D}/${base_libdir}/udev/rules.d/
+ [ ! -f "${acl_file}" ] || continue
+ path_s="$(echo "${path}" | sed 's,\-\-,\\-\\-,g')"
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/start_hwmon.sh ${D}${bindir}
+ cat <<EOF>"${acl_file}"
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <policy user="root">
+ <!-- ${path_s} -->
+ <allow own="xyz.openbmc_project.Hwmon-${sensor_id}.Hwmon1"/>
+ <allow send_destination="xyz.openbmc_project.Hwmon-${sensor_id}.Hwmon1"/>
+ </policy>
+</busconfig>
+EOF
+ done
+ fi
}
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
index fb4035406..027de2762 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-nvme_git.bb
@@ -15,7 +15,7 @@ DEPENDS += "phosphor-logging"
DEPENDS += "nlohmann-json"
SRC_URI = "git://github.com/openbmc/phosphor-nvme.git;protocol=git"
-SRCREV = "fdffe5c37f0d1feaa90558433f688c3757d2e79a"
+SRCREV = "d5838d1bbb26e9aa7ffc19c4fc57f4ee1237e22a"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE_${PN} = "xyz.openbmc_project.nvme.manager.service"
diff --git a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
index 3eee4dbaa..e70e1b066 100644
--- a/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
+++ b/meta-phosphor/recipes-phosphor/sensors/phosphor-virtual-sensor_git.bb
@@ -16,7 +16,7 @@ DEPENDS += "nlohmann-json"
DEPENDS += "exprtk"
SRC_URI = "git://github.com/openbmc/phosphor-virtual-sensor.git;protocol=git"
-SRCREV = "a55a907e7220bede5f4c76ca6d99fad2a0c1f00d"
+SRCREV = "543bf6687779c34f0f495eebae7e1819ced27577"
S = "${WORKDIR}/git"
SYSTEMD_SERVICE_${PN} = "phosphor-virtual-sensor.service"