[OE-core] [PATCH] lmsensors: Initial commit.

Martin Jansa martin.jansa at gmail.com
Tue Oct 16 22:37:39 UTC 2012


On Tue, Oct 16, 2012 at 05:47:26PM -0400, Marc Ferland wrote:
> Adds the lm_sensors applications. These consists of:

Is it really needed in oe-core? why not meta-oe?

> *libsensors: the main application library
> *sensors: cmd line tool to list current sensors values
> *sensord: sensors logging daemon
> *fancontrol: fan speed regulation daemon
> *sensorsdetect: script to autodetect sensors
> *sensorsconfconvert: converts lm_sensorsv2 to lm_sensorsv3 config files
> *pwmconfig: script to configure fancontrol
> *isatools: get/set isa registers
> 
> This patch also adds the rrdtool program which is needed by sensord.
> ---
>  meta/recipes-bsp/lm_sensors/files/fancontrol       |    2 +
>  meta/recipes-bsp/lm_sensors/files/fancontrol.sh    |   48 ++++++
>  meta/recipes-bsp/lm_sensors/files/sensord.cgi      |   10 ++
>  meta/recipes-bsp/lm_sensors/files/sensord.conf     |   16 ++
>  meta/recipes-bsp/lm_sensors/files/sensord.sh       |   49 +++++++
>  meta/recipes-bsp/lm_sensors/files/sensors.conf     |    2 +
>  meta/recipes-bsp/lm_sensors/lmsensors_3.3.2.bb     |  150 ++++++++++++++++++++
>  meta/recipes-support/rrdtool/files/automake.patch  |   15 ++
>  meta/recipes-support/rrdtool/files/configure.patch |   19 +++
>  meta/recipes-support/rrdtool/rrdtool_1.4.7.bb      |   31 ++++
>  10 files changed, 342 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-bsp/lm_sensors/files/fancontrol
>  create mode 100644 meta/recipes-bsp/lm_sensors/files/fancontrol.sh
>  create mode 100644 meta/recipes-bsp/lm_sensors/files/sensord.cgi
>  create mode 100644 meta/recipes-bsp/lm_sensors/files/sensord.conf
>  create mode 100644 meta/recipes-bsp/lm_sensors/files/sensord.sh
>  create mode 100644 meta/recipes-bsp/lm_sensors/files/sensors.conf
>  create mode 100644 meta/recipes-bsp/lm_sensors/lmsensors_3.3.2.bb
>  create mode 100644 meta/recipes-support/rrdtool/files/automake.patch
>  create mode 100644 meta/recipes-support/rrdtool/files/configure.patch
>  create mode 100644 meta/recipes-support/rrdtool/rrdtool_1.4.7.bb
> 
> diff --git a/meta/recipes-bsp/lm_sensors/files/fancontrol b/meta/recipes-bsp/lm_sensors/files/fancontrol
> new file mode 100644
> index 0000000..1f03a2b
> --- /dev/null
> +++ b/meta/recipes-bsp/lm_sensors/files/fancontrol
> @@ -0,0 +1,2 @@
> +# fancontrol configuration file.
> +# Place your device specific configuration in this file.
> diff --git a/meta/recipes-bsp/lm_sensors/files/fancontrol.sh b/meta/recipes-bsp/lm_sensors/files/fancontrol.sh
> new file mode 100644
> index 0000000..f179310
> --- /dev/null
> +++ b/meta/recipes-bsp/lm_sensors/files/fancontrol.sh
> @@ -0,0 +1,48 @@
> +#! /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`
> +
> +. /etc/init.d/functions || exit 1
> +
> +# Exit if the package is not installed
> +[ -x "$FANCONTROL" ] || exit 0
> +
> +case "$1" in
> +    start)
> +        echo -n "Starting $DESC: $NAME... "
> +        /sbin/start-stop-daemon -S -x $FANCONTROL -b -- $FANCONTROL_ARGS
> +        echo "done."
> +        ;;
> +    stop)
> +        echo -n "Stopping $DESC: $NAME... "
> +        /sbin/start-stop-daemon -K -x $FANCONTROL
> +        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/recipes-bsp/lm_sensors/files/sensord.cgi b/meta/recipes-bsp/lm_sensors/files/sensord.cgi
> new file mode 100644
> index 0000000..b1aad05
> --- /dev/null
> +++ b/meta/recipes-bsp/lm_sensors/files/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/recipes-bsp/lm_sensors/files/sensord.conf b/meta/recipes-bsp/lm_sensors/files/sensord.conf
> new file mode 100644
> index 0000000..6b48cf6
> --- /dev/null
> +++ b/meta/recipes-bsp/lm_sensors/files/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/recipes-bsp/lm_sensors/files/sensord.sh b/meta/recipes-bsp/lm_sensors/files/sensord.sh
> new file mode 100644
> index 0000000..5a09cd3
> --- /dev/null
> +++ b/meta/recipes-bsp/lm_sensors/files/sensord.sh
> @@ -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/recipes-bsp/lm_sensors/files/sensors.conf b/meta/recipes-bsp/lm_sensors/files/sensors.conf
> new file mode 100644
> index 0000000..bb8c93d
> --- /dev/null
> +++ b/meta/recipes-bsp/lm_sensors/files/sensors.conf
> @@ -0,0 +1,2 @@
> +# sensors configuration file.
> +# Place your device specific configuration in this file.
> diff --git a/meta/recipes-bsp/lm_sensors/lmsensors_3.3.2.bb b/meta/recipes-bsp/lm_sensors/lmsensors_3.3.2.bb
> new file mode 100644
> index 0000000..009628e
> --- /dev/null
> +++ b/meta/recipes-bsp/lm_sensors/lmsensors_3.3.2.bb
> @@ -0,0 +1,150 @@
> +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"
> +PR = "r0"
> +DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool"
> +PROVIDES = "\
> +${PN}-libsensors \
> +${PN}-sensors \
> +${PN}-sensord \
> +${PN}-fancontrol \
> +${PN}-sensorsdetect \
> +${PN}-sensorsconfconvert \
> +${PN}-pwmconfig \
> +${PN}-isatools \
> +"
> +
> +SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2 \
> +           file://fancontrol \
> +           file://fancontrol.sh \
> +           file://sensors.conf \
> +           file://sensord.conf \
> +           file://sensord.sh \
> +           file://sensord.cgi \
> +"
> +
> +SRC_URI[md5sum] = "f357ba00b080ab102a170f7bf8bb2578"
> +SRC_URI[sha256sum] = "f13dd885406841a7352ccfb8b9ccb23c4c057abe3de4258da5444c149a9e3ae1"
> +
> +inherit update-rc.d
> +
> +INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord"
> +INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol.sh"
> +INITSCRIPT_NAME_${PN}-sensord = "sensord.sh"
> +INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
> +INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
> +
> +S = "${WORKDIR}/lm_sensors-${PV}"
> +
> +EXTRA_OEMAKE = 'LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" \
> +		MACHINE=${TARGET_ARCH} PREFIX=${prefix} CC="${CC}" AR="${AR}"'
> +
> +do_compile() {
> +    oe_runmake user PROG_EXTRA="sensors sensord"
> +}
> +
> +do_install() {
> +    oe_runmake user_install DESTDIR=${D}
> +    install -m 0755 ${S}/prog/sensord/sensord ${D}${bindir}
> +    install -m 0644 ${S}/prog/sensord/sensord.8 ${D}/usr/man/man8
> +    
> +    # move manuals into proper place
> +    install -d ${D}${mandir}
> +    rm -rf ${D}${mandir}/*
> +    mv ${D}/usr/man/* ${D}${mandir}
> +    rmdir ${D}/usr/man
> +
> +    # Install directories
> +    install -d ${D}${sysconfdir}
> +    install -d ${D}${sysconfdir}/init.d
> +    install -d ${D}${sysconfdir}/sensors.d
> +
> +    # Install sensors.conf
> +    install -m 0644 ${WORKDIR}/sensors.conf ${D}${sysconfdir}/sensors.d
> +
> +    # Install fancontrol config file
> +    install -m 0644 ${WORKDIR}/fancontrol ${D}${sysconfdir}
> +
> +    # Install fancontrol init script
> +    install -m 0755 ${WORKDIR}/fancontrol.sh ${D}${sysconfdir}/init.d
> +
> +    # Install sensord init script
> +    install -m 0755 ${WORKDIR}/sensord.sh ${D}${sysconfdir}/init.d
> +    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 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"
> +
> +# 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/sensors.conf"
> +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"
> +
> +# 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 = "${bindir}/sensord ${sysconfdir}/sensord.conf ${sysconfdir}/init.d/sensord.sh /www/*"
> +FILES_${PN}-sensord-dbg = "${bindir}/.debug/sensord"
> +FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8"
> +RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool lighttpd lighttpd-module-cgi"
> +
> +# fancontrol script files
> +FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${sysconfdir}/fancontrol ${sysconfdir}/init.d/fancontrol.sh"
> +FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8"
> +RDEPENDS_${PN}-fancontrol = "bash"
> +
> +# 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"
> +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*"
> diff --git a/meta/recipes-support/rrdtool/files/automake.patch b/meta/recipes-support/rrdtool/files/automake.patch
> new file mode 100644
> index 0000000..891c5c8
> --- /dev/null
> +++ b/meta/recipes-support/rrdtool/files/automake.patch
> @@ -0,0 +1,15 @@
> +Index: bindings/tcl/Makefile.am
> +===================================================================
> +--- rrdtool-1.4.7/bindings/tcl/Makefile.am	(révision 2287)
> ++++ rrdtool-1.4.7/bindings/tcl/Makefile.am	(copie de travail)
> +@@ -27,8 +27,8 @@
> + tclpkg_DATA = pkgIndex.tcl
> + tclpkg_SCRIPTS = ifOctets.tcl
> + else
> +-pkglib_DATA = pkgIndex.tcl
> +-pkglib_SCRIPTS = ifOctets.tcl
> ++pkgdata_DATA = pkgIndex.tcl
> ++pkgdata_SCRIPTS = ifOctets.tcl
> + endif
> + 
> + # Automake doen't like `tclrrd$(VERSION)$(TCL_SHLIB_SUFFIX)' as
> diff --git a/meta/recipes-support/rrdtool/files/configure.patch b/meta/recipes-support/rrdtool/files/configure.patch
> new file mode 100644
> index 0000000..f413bd2
> --- /dev/null
> +++ b/meta/recipes-support/rrdtool/files/configure.patch
> @@ -0,0 +1,19 @@
> +--- rrdtool-1.4.7/configure.ac	2012-01-24 05:08:48.000000000 -0500
> ++++ rrdtool-1.4.7.mine/configure.ac	2012-01-27 13:50:42.717578624 -0500
> +@@ -348,7 +348,6 @@
> + 	        AC_DEFINE(HAVE_ISFINITE)],[AC_MSG_RESULT(no)])])])
> + fi  
> + 
> +-AC_FULL_IEEE
> + 
> + CONFIGURE_PART(Resolve Portability Issues)
> + 
> +@@ -548,7 +547,7 @@
> + 
> + fi
> + EX_CHECK_ALL(glib-2.0,   glib_check_version,            glib.h,                 glib-2.0,    2.28.7, ftp://ftp.gtk.org/pub/glib/2.28/, "")
> +-EX_CHECK_ALL(xml2,       xmlParseFile,                  libxml/parser.h,        libxml-2.0,        2.7.8,  http://xmlsoft.org/downloads.html, /usr/include/libxml2)
> ++EX_CHECK_ALL(xml2,       xmlParseFile,                  libxml/parser.h,        libxml-2.0,        2.7.8,  http://xmlsoft.org/downloads.html, "")
> + 
> + if test "$EX_CHECK_ALL_ERR" = "YES"; then
> +   AC_MSG_ERROR([Please fix the library issues listed above and try again.])
> diff --git a/meta/recipes-support/rrdtool/rrdtool_1.4.7.bb b/meta/recipes-support/rrdtool/rrdtool_1.4.7.bb
> new file mode 100644
> index 0000000..4b60622
> --- /dev/null
> +++ b/meta/recipes-support/rrdtool/rrdtool_1.4.7.bb
> @@ -0,0 +1,31 @@
> +DESCRIPTION = "High performance data logging and graphing system for time series data."
> +HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
> +SECTION = "utils"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
> +
> +DEPENDS = "libpng zlib cairo glib-2.0 pango libxml2 virtual/gettext"
> +RDEPENDS = "liberation-fonts"
> +
> +PR = "r0"
> +
> +SRC_URI = "http://oss.oetiker.ch/rrdtool/pub/rrdtool-${PV}.tar.gz \
> +           file://configure.patch \
> +           file://automake.patch \
> +           "
> +
> +inherit autotools
> +
> +EXTRA_OECONF = "--enable-shared \
> +                --program-prefix='' \
> +                --disable-libdbi \
> +                --disable-libwrap \
> +                --disable-perl \
> +                --disable-ruby \
> +                --disable-lua \
> +                --disable-tcl \
> +                --disable-python \
> +                "
> +
> +SRC_URI[md5sum] = "ffe369d8921b4dfdeaaf43812100c38f"
> +SRC_URI[sha256sum] = "956aaf431c955ba88dd7d98920ade3a8c4bad04adb1f9431377950a813a7af11"
> -- 
> 1.7.5.4
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20121017/70e4314e/attachment-0002.sig>


More information about the Openembedded-core mailing list