All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaromir Capik <jcapik@redhat.com>
To: lm-sensors@vger.kernel.org
Subject: [lm-sensors] [PATCH] systemd units rework
Date: Fri, 24 Jan 2014 13:56:16 +0000	[thread overview]
Message-ID: <377005152.12649802.1390571776676.JavaMail.root@redhat.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1378 bytes --]

Hello guys.

The attached patch fixes several things our users complained about.

The patch introduces 3 wrappers for the service files and example
/etc/sysconfig/* configuration files

The lm_sensors-modprobe*wrapper scriptlets change the way how
the modprobe failures look like as the users had no idea that
the failures are caused by missing configuration and that
led to frequent bug reports. The wrapper checks whether the
modprobe is called with any arguments and leaves a hint
message when no modules are passed to the modprobe.

Te sensord-service-wrapper enhances the sensord service so that
it supports all relevant switches needed by the users which
were previously omitted and thus unsupported.

The service files now contain a placeholder for the target
wrapper directory and distribution build scripts can do
the substitution easily with two sed calls ...

Example for RPM based distributions:
sed -i "s|\@WRAPPER_DIR\@|%{_libexecdir}/%{name}|" sensord.service
sed -i "s|\@WRAPPER_DIR\@|%{_libexecdir}/%{name}|" lm_sensors.service

The patch is applicable on the latest trunk.
Please, check it and apply if you find it worthy.

Thank you.

Regards,
Jaromir.

--
Jaromir Capik
Red Hat Czech, s.r.o.
Software Engineer / Secondary Arch

Email: jcapik@redhat.com
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkynova 99/71, 612 45, Brno, Czech Republic
IC: 27690016 

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: systemd-units-rework.patch --]
[-- Type: text/x-patch; name=systemd-units-rework.patch, Size: 4122 bytes --]

Index: prog/init/lm_sensors-modprobe-r-wrapper
===================================================================
--- prog/init/lm_sensors-modprobe-r-wrapper	(revision 0)
+++ prog/init/lm_sensors-modprobe-r-wrapper	(working copy)
@@ -0,0 +1,8 @@
+#!/bin/sh
+if [ $# -ne 0 ]; then
+  /usr/sbin/modprobe -abr $@
+else
+  echo "No sensors with loadable kernel modules configured."
+  echo "Please, run 'sensors-detect' as root in order to search for available sensors."
+  exit 1
+fi
Index: prog/init/lm_sensors-modprobe-wrapper
===================================================================
--- prog/init/lm_sensors-modprobe-wrapper	(revision 0)
+++ prog/init/lm_sensors-modprobe-wrapper	(working copy)
@@ -0,0 +1,8 @@
+#!/bin/sh
+if [ $# -ne 0 ]; then
+  /usr/sbin/modprobe -ab $@
+else
+  echo "No sensors with loadable kernel modules configured."
+  echo "Please, run 'sensors-detect' as root in order to search for available sensors."
+  exit 1
+fi
Index: prog/init/lm_sensors.service
===================================================================
--- prog/init/lm_sensors.service	(revision 6214)
+++ prog/init/lm_sensors.service	(working copy)
@@ -1,13 +1,13 @@
 [Unit]
-Description=Initialize hardware monitoring sensors
+Description=Hardware Monitoring Sensors
 
 [Service]
 EnvironmentFile=/etc/sysconfig/lm_sensors
 Type=oneshot
 RemainAfterExit=yes
-ExecStart=-/sbin/modprobe -qab $BUS_MODULES $HWMON_MODULES
+ExecStart=-@WRAPPER_DIR@/lm_sensors-modprobe-wrapper $BUS_MODULES $HWMON_MODULES
 ExecStart=/usr/bin/sensors -s
-ExecStop=-/sbin/modprobe -qabr $BUS_MODULES $HWMON_MODULES
+ExecStop=-@WRAPPER_DIR@/lm_sensors-modprobe-r-wrapper $BUS_MODULES $HWMON_MODULES
 
 [Install]
 WantedBy=multi-user.target
Index: prog/init/lm_sensors.sysconfig
===================================================================
--- prog/init/lm_sensors.sysconfig	(revision 0)
+++ prog/init/lm_sensors.sysconfig	(working copy)
@@ -0,0 +1,2 @@
+# /etc/sysconfig/lm_sensors - Defines modules loaded by the lm_sensors service
+# Run 'sensors-detect' to generate this config file
Index: prog/init/sensord-service-wrapper
===================================================================
--- prog/init/sensord-service-wrapper	(revision 0)
+++ prog/init/sensord-service-wrapper	(working copy)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+. /etc/sysconfig/sensord
+
+ARGS=""
+[ "$INTERVAL" = "" ] || ARGS=`echo "$ARGS -i $INTERVAL"`
+[ "$LOG_INTERVAL" = "" ] || ARGS=`echo "$ARGS -l $LOG_INTERVAL"`
+[ "$RRD_INTERVAL" = "" ] || ARGS=`echo "$ARGS -t $RRD_INTERVAL"`
+[ "$RRD_LOGFILE" = "" ] || ARGS=`echo "$ARGS -r $RRD_LOGFILE"`
+[ "$RRD_NO_AVG" = "1" ] && ARGS=`echo "$ARGS -T"`
+[ "$LOAD_AVG" = "1" ] && ARGS=`echo "$ARGS -a"`
+
+/usr/sbin/sensord -f daemon $ARGS
Index: prog/init/sensord.service
===================================================================
--- prog/init/sensord.service	(revision 6214)
+++ prog/init/sensord.service	(working copy)
@@ -1,12 +1,12 @@
 [Unit]
-Description=Log hardware monitoring data
+Description=Hardware Monitoring Data Logger
 After=lm_sensors.service
 
 [Service]
-EnvironmentFile=/etc/sysconfig/sensord
+EnvironmentFile=-/etc/sysconfig/sensord
 Type=forking
 PIDFile=/var/run/sensord.pid
-ExecStart=/usr/sbin/sensord -i $INTERVAL -l $LOG_INTERVAL -f daemon
+ExecStart=@WRAPPER_DIR@/sensord-service-wrapper
 
 [Install]
 WantedBy=multi-user.target
Index: prog/init/sensord.sysconfig
===================================================================
--- prog/init/sensord.sysconfig	(revision 0)
+++ prog/init/sensord.sysconfig	(working copy)
@@ -0,0 +1,21 @@
+# configuration for harware sensors monitoring daemon
+# use suffix "m" for minutes, "s" for seconds, "h" for hours
+# 0 turns the 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
+
+# Switch RRD in non-average mode ... 1 - enabled, 0 - disabled (default)
+# RRD_NO_AVG=1
+
+# Include load average in RRD ... 1 - enabled, 0 - disabled (default)
+# LOAD_AVG=1

[-- Attachment #3: Type: text/plain, Size: 153 bytes --]

_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

             reply	other threads:[~2014-01-24 13:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-24 13:56 Jaromir Capik [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-07-03 13:55 [lm-sensors] [PATCH] systemd units rework Jean Delvare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=377005152.12649802.1390571776676.JavaMail.root@redhat.com \
    --to=jcapik@redhat.com \
    --cc=lm-sensors@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.