diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-bsp/lm_sensors')
11 files changed, 473 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/fancontrol b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/fancontrol new file mode 100644 index 0000000000..1f03a2bf2f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/fancontrol @@ -0,0 +1,2 @@ +# fancontrol configuration file. +# Place your device specific configuration in this file. diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord new file mode 100644 index 0000000000..a58362e43d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord @@ -0,0 +1,16 @@ +# configuration for hardware sensors monitoring daemon +# in intervals use suffix "m" for minutes, "s" for seconds, "h" for hours +# 0 means turning facility off + +# interval between scanning alarms +INTERVAL=1m + +# interval between logging +LOG_INTERVAL=20m + +# interval between RRD logging +# RRD_INTERVAL=1m + +# RRD db location +# RRD_LOGFILE=/var/log/sensors.rrd + diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.cgi b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.cgi new file mode 100644 index 0000000000..b1aad05b6d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.cgi @@ -0,0 +1,10 @@ +#!/usr/bin/rrdcgi + +<html> +<head> +<title>sensord</title> +</head> +<body> +Generate a valid sensord.cgi script and install it in your BSP. +</body> +</html> diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.conf b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.conf new file mode 100644 index 0000000000..6b48cf6044 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensord.conf @@ -0,0 +1,16 @@ +# Default sensord configuration file +# Syntax: sensord {options} {chips} +# -i, --interval <time> -- interval between scanning alarms (default 60s) +# -l, --log-interval <time> -- interval between logging sensors (default 30m) +# -t, --rrd-interval <time> -- interval between updating RRD file (default 5m) +# -T, --rrd-no-average -- switch RRD in non-average mode +# -r, --rrd-file <file> -- RRD file (default <none>) +# -c, --config-file <file> -- configuration file +# -p, --pid-file <file> -- PID file (default /var/run/sensord.pid) +# -f, --syslog-facility <f> -- syslog facility to use (default local4) +# -g, --rrd-cgi <img-dir> -- output an RRD CGI script and exit +# -a, --load-average -- include load average in RRD file +# -d, --debug -- display some debug information +# -v, --version -- display version and exit +# -h, --help -- display help and exit +SENSORD_ARGS="-i60s -l30m -t1m -r/var/lib/sensord.rrd -a" diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensors.conf b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensors.conf new file mode 100644 index 0000000000..bb8c93de6e --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config/sensors.conf @@ -0,0 +1,2 @@ +# sensors configuration file. +# Place your device specific configuration in this file. diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb new file mode 100644 index 0000000000..b0091d6574 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb @@ -0,0 +1,63 @@ +SUMMARY = "lm_sensors configuration files" +DESCRIPTION = "Hardware health monitoring configuration files" +HOMEPAGE = "http://www.lm-sensors.org/" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI = "file://fancontrol \ + file://sensord.cgi \ + file://sensord.conf \ + file://sensors.conf \ + file://sensord \ +" +S = "${WORKDIR}" + +RDEPENDS_${PN}-dev = "" + +do_install() { + # Install fancontrol configuration file + install -d ${D}${sysconfdir}/sysconfig + install -m 0644 ${WORKDIR}/fancontrol ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/sensord ${D}${sysconfdir}/sysconfig + # Install libsensors configuration file + install -d ${D}${sysconfdir}/sensors.d + install -m 0644 ${WORKDIR}/sensors.conf ${D}${sysconfdir}/sensors.d + + # Install sensord configuration file + install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir} + + # Install sensord.cgi script and create world-writable + # web-accessible sensord directory + install -d ${D}/www/pages/cgi-bin + install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin + install -d -m a=rwxs ${D}/www/pages/sensord +} + +# libsensors configuration +PACKAGES =+ "${PN}-libsensors" + +# sensord logging daemon configuration +PACKAGES =+ "${PN}-sensord" + +# fancontrol script configuration +PACKAGES =+ "${PN}-fancontrol" + +# sensord web cgi support +PACKAGES =+ "${PN}-cgi" +RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi" +RDEPENDS_${PN}-cgi = "${PN}-sensord rrdtool" +FILES_${PN}-cgi = "/www/*" + +# libsensors configuration file +FILES_${PN}-libsensors = "${sysconfdir}/sensors.d/sensors.conf" + +# sensord logging daemon configuration files +FILES_${PN}-sensord = "\ + ${sysconfdir}/sensord.conf \ + ${sysconfdir}/sysconfig/sensord \ +" + +# fancontrol script configuration file +FILES_${PN}-fancontrol = "${sysconfdir}/fancontrol" diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch new file mode 100644 index 0000000000..abf6e752af --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lmsensors-sensors-detect-print-a-special-message-whe.patch @@ -0,0 +1,40 @@ +From c4428260e7685ebaf5c26c6ecaae5a56849853e8 Mon Sep 17 00:00:00 2001 +From: Li Zhou <li.zhou@windriver.com> +Date: Tue, 6 Sep 2016 14:04:29 +0800 +Subject: [PATCH] lmsensors: sensors-detect: print a special message when there + isn't enough cpu info + +When running sensors-detect, if there isn't enough information in +/proc/cpuinfo for this arch (e.g. ppc64), "Use of uninitialized value +in concatenation (.) or string at /usr/sbin/sensors-detect line 2867" +and incomplete "# Processor: (//)" will be printed. +Here print out a prompt for such a case. + +Upstream-Status: Pending + +Signed-off-by: Li Zhou <li.zhou@windriver.com> +--- + prog/detect/sensors-detect | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect +index 3c2b44f..5f62405 100755 +--- a/prog/detect/sensors-detect ++++ b/prog/detect/sensors-detect +@@ -2864,7 +2864,12 @@ sub initialize_cpu_list + sub print_cpu_info + { + my $cpu = $cpu[0]; +- print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n"; ++ if ( $cpu->{'model name'} && $cpu->{'cpu family'} && $cpu->{model} && $cpu->{stepping} ) { ++ print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n"; ++ } ++ else { ++ print "# Processor: There isn't enough cpu info for this arch!!!\n"; ++ } + } + + # @i2c_adapters is a list of references to hashes, one hash per I2C/SMBus +-- +1.9.1 + diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch new file mode 100644 index 0000000000..fb3878dc39 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch @@ -0,0 +1,88 @@ +From 727524453f115ddc05109e9bbb3d0e60a7db9185 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 16 Jul 2017 15:05:50 -0700 +Subject: [PATCH] prog: Do not limit sys/io.h header include to just glibc + +musl provides it too. + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + prog/dump/isadump.c | 6 ------ + prog/dump/isaset.c | 6 ------ + prog/dump/superio.c | 5 ----- + prog/dump/util.c | 5 ----- + 4 files changed, 22 deletions(-) + +diff --git a/prog/dump/isadump.c b/prog/dump/isadump.c +index e0e6f00..8794537 100644 +--- a/prog/dump/isadump.c ++++ b/prog/dump/isadump.c +@@ -36,13 +36,7 @@ + #include "util.h" + #include "superio.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include <sys/io.h> +-#else +-#include <asm/io.h> +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/isaset.c b/prog/dump/isaset.c +index e743755..85a4f64 100644 +--- a/prog/dump/isaset.c ++++ b/prog/dump/isaset.c +@@ -32,13 +32,7 @@ + #include <string.h> + #include "util.h" + +- +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include <sys/io.h> +-#else +-#include <asm/io.h> +-#endif + + #ifdef __powerpc__ + unsigned long isa_io_base = 0; /* XXX for now */ +diff --git a/prog/dump/superio.c b/prog/dump/superio.c +index 64ef27b..906fe55 100644 +--- a/prog/dump/superio.c ++++ b/prog/dump/superio.c +@@ -20,12 +20,7 @@ + */ + + #include <stdlib.h> +- +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include <sys/io.h> +-#else +-#include <asm/io.h> +-#endif + + #include "superio.h" + +diff --git a/prog/dump/util.c b/prog/dump/util.c +index 874c1b9..197fa64 100644 +--- a/prog/dump/util.c ++++ b/prog/dump/util.c +@@ -11,12 +11,7 @@ + #include <stdio.h> + #include "util.h" + +-/* To keep glibc2 happy */ +-#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ >= 0 + #include <sys/io.h> +-#else +-#include <asm/io.h> +-#endif + + /* Return 1 if we should continue, 0 if we should abort */ + int user_ack(int def) +-- +2.13.3 + diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/fancontrol.init b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/fancontrol.init new file mode 100644 index 0000000000..4433020b38 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/fancontrol.init @@ -0,0 +1,47 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: fancontrol +# Required-Start: $local_fs +# Should-Start: +# Required-Stop: $local_fs +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: fancontrol initscript +# Description: Starts and controls the fancontrol daemon +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +DESC="fan control daemon" +NAME="fancontrol" +FANCONTROL=`which $NAME` +PIDFILE="/var/run/fancontrol.pid" + +# Exit if the package is not installed +[ -x "$FANCONTROL" ] || exit 0 + +case "$1" in + start) + echo -n "Starting $DESC: $NAME... " + start-stop-daemon -S -p $PIDFILE -b -x $FANCONTROL + echo "done." + ;; + stop) + echo -n "Stopping $DESC: $NAME... " + start-stop-daemon -K -p $PIDFILE + echo "done." + ;; + restart) + echo "Restarting $DESC: $NAME... " + $0 stop + $0 start + echo "done." + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/sensord.init b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/sensord.init new file mode 100644 index 0000000000..5a09cd3cfc --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors/sensord.init @@ -0,0 +1,49 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: sensord +# Required-Start: $local_fs +# Should-Start: +# Required-Stop: $local_fs +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: sensord initscript +# Description: Starts the sensord logging daemon +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +DESC="sensors logging daemon" +NAME="sensord" +SENSORD=`which $NAME` + +. /etc/init.d/functions || exit 1 +. /etc/sensord.conf || exit 1 + +# Exit if the package is not installed +[ -x "$SENSORD" ] || exit 0 + +case "$1" in + start) + echo -n "Starting $DESC: $NAME... " + start-stop-daemon -S -x $SENSORD -- $SENSORD_ARGS + echo "done." + ;; + stop) + echo -n "Stopping $DESC: $NAME... " + start-stop-daemon -K -x $SENSORD + echo "done." + ;; + restart) + echo "Restarting $DESC: $NAME... " + $0 stop + $0 start + echo "done." + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb new file mode 100644 index 0000000000..454a69f40b --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb @@ -0,0 +1,140 @@ +SUMMARY = "lm_sensors" +DESCRIPTION = "Hardware health monitoring applications" +HOMEPAGE = "http://www.lm-sensors.org/" +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ + file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool" + +SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \ + file://fancontrol.init \ + file://sensord.init \ + file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \ + file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \ +" +SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb" +SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e" + +inherit update-rc.d systemd + +RDEPENDS_${PN}-dev = "" + +INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord" +INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol" +INITSCRIPT_NAME_${PN}-sensord = "sensord" +INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66" +INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67" + +SYSTEMD_PACKAGES = "${PN}-sensord" +SYSTEMD_SERVICE_${PN}-sensord = "sensord.service lm_sensors.service fancontrol.service" +SYSTEMD_AUTO_ENABLE = "disable" + +S = "${WORKDIR}/lm-sensors-3-4-0" + +EXTRA_OEMAKE = 'EXLDFLAGS="${LDFLAGS}" \ + MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \ + LIBDIR=${libdir} \ + CC="${CC}" AR="${AR}"' + +do_compile() { + sed -i -e 's:^# \(PROG_EXTRA\):\1:' ${S}/Makefile + # Respect LDFLAGS + sed -i -e 's/\$(LIBDIR)$/\$(LIBDIR) \$(LDFLAGS)/g' ${S}/Makefile + sed -i -e 's/\$(LIBSHSONAME) -o/$(LIBSHSONAME) \$(LDFLAGS) -o/g' \ + ${S}/lib/Module.mk + oe_runmake user PROG_EXTRA="sensors sensord" +} + +do_install() { + oe_runmake user_install DESTDIR=${D} + install -m 0755 ${S}/prog/sensord/sensord ${D}${sbindir} + install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8 + + # Install directory + install -d ${D}${sysconfdir}/init.d + + # Install fancontrol init script + install -m 0755 ${WORKDIR}/fancontrol.init \ + ${D}${sysconfdir}/init.d/fancontrol + + # Install sensord init script + install -m 0755 ${WORKDIR}/sensord.init ${D}${sysconfdir}/init.d/sensord + + # Insall sensord service script + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${S}/prog/init/*.service ${D}${systemd_unitdir}/system + fi +} + +# libsensors packages +PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dbg ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc" + +# sensors command packages +PACKAGES =+ "${PN}-sensors ${PN}-sensors-dbg ${PN}-sensors-doc" + +# sensord logging daemon +PACKAGES =+ "${PN}-sensord ${PN}-sensord-dbg ${PN}-sensord-doc" + +# fancontrol script +PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc" + +# sensors-detect script +PACKAGES =+ "${PN}-sensorsdetect ${PN}-sensorsdetect-doc" + +# sensors-conf-convert script +PACKAGES =+ "${PN}-sensorsconfconvert ${PN}-sensorsconfconvert-doc" + +# pwmconfig script +PACKAGES =+ "${PN}-pwmconfig ${PN}-pwmconfig-doc" + +# isadump and isaset helper program +PACKAGES =+ "${PN}-isatools ${PN}-isatools-dbg ${PN}-isatools-doc" + +# libsensors files +FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d" +FILES_${PN}-libsensors-dbg = "${libdir}/.debug ${prefix}/src/debug" +FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}" +FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a" +FILES_${PN}-libsensors-doc = "${mandir}/man3" +RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors" + +# sensors command files +FILES_${PN}-sensors = "${bindir}/sensors" +FILES_${PN}-sensors-dbg = "${bindir}/.debug/sensors" +FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5" +RDEPENDS_${PN}-sensors = "${PN}-libsensors" + +# sensord logging daemon +FILES_${PN}-sensord = "${sbindir}/sensord ${sysconfdir}/init.d/sensord ${systemd_unitdir}/system/sensord.service" +FILES_${PN}-sensord-dbg = "${bindir}/.debug/sensord" +FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8" +RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool" +RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord" + +# fancontrol script files +FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${sysconfdir}/init.d/fancontrol" +FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8" +RDEPENDS_${PN}-fancontrol = "bash" +RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol" + +# sensors-detect script files +FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect" +FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8" +RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules" + +# sensors-conf-convert script files +FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert" +FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8" +RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules" + +# pwmconfig script files +FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig" +FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8" +RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol" + +# isadump and isaset helper program files +FILES_${PN}-isatools = "${sbindir}/isa*" +FILES_${PN}-isatools-dbg = "${sbindir}/.debug/isa*" +FILES_${PN}-isatools-doc = "${mandir}/man8/isa*" |