diff options
author | jmbills <jason.m.bills@intel.com> | 2021-06-25 18:34:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-25 18:34:41 +0300 |
commit | c6b1c6ba7a01b7987d65d61c262c44c320193108 (patch) | |
tree | c31fba338a65c86741b16e061d66e0e060e3b768 /meta-phosphor/recipes-phosphor/sensors | |
parent | e7436234669703196c5ed56f33050d2dc19127cd (diff) | |
parent | defdca82c107f46e980c84bffb1b2c1263522fa0 (diff) | |
download | openbmc-c6b1c6ba7a01b7987d65d61c262c44c320193108.tar.xz |
Update
Diffstat (limited to 'meta-phosphor/recipes-phosphor/sensors')
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" |