summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/thermal_daemon/README17
-rw-r--r--system/thermal_daemon/README.Slackware13
-rw-r--r--system/thermal_daemon/doinst.sh16
-rw-r--r--system/thermal_daemon/thermal_daemon.SlackBuild12
4 files changed, 37 insertions, 21 deletions
diff --git a/system/thermal_daemon/README b/system/thermal_daemon/README
index 9cca31e08c..1510ad7c1b 100644
--- a/system/thermal_daemon/README
+++ b/system/thermal_daemon/README
@@ -1,16 +1,13 @@
The Linux Thermal Daemon program from 01.org
-Thermald deals with thermal issues for intel processor families codenamed
-intel sandy-bridge and above.
-Its is a Linux daemon used to prevent the overheating of systems.
-This daemon monitors temperature and applies compensation using available
-cooling methods.
+Thermald deals with thermal issues for intel processor families
+codenamed intel sandy-bridge and above. It is a Linux daemon
+used to prevent the overheating of systems. This daemon monitors
+temperature and applies compensation using available cooling methods.
-Prerequisites:
+Prerequisites: intel p-state driver and kernel 3.10+
-Uses intel p-state driver and works with kernels 3.10 and above.
-
-Prefers kernel with
+Prefers kernel with:
Intel RAPL power capping driver : Available from Linux kernel 3.13.rc1
Intel P State driver (Available in Linux kernel stable release)
Intel Power clamp driver (Available in Linux kernel stable release)
@@ -18,6 +15,4 @@ Prefers kernel with
CONFIG_X86_MSR, so that x86 MSR can be read/write from user space
to control RAPL if no RAPL powecap class driver is not present.
- Default
If none of the above is available uses cpufreq to control P states.
-
diff --git a/system/thermal_daemon/README.Slackware b/system/thermal_daemon/README.Slackware
index 601b654e72..c0460ec5b2 100644
--- a/system/thermal_daemon/README.Slackware
+++ b/system/thermal_daemon/README.Slackware
@@ -1,12 +1,15 @@
-Since this is a daemon, it should be started at boot via /etc/rc.d/rc.local :
-/usr/bin/thermald
+Since this is a daemon, it should be started at boot via /etc/rc.d/rc.local:
+ /usr/bin/thermald
+
+It might be necessary to create /var/run/thermald/ first (depending on your
+local system setup)
Also it would need to be stopped before shutdown, so an entry could be added
-to /etc/rc.d/rc.local_shutdown as well :
-killall thermald
+to /etc/rc.d/rc.local_shutdown as well:
+ killall thermald
CONFIG_X86_MSR is listed as an (optional) dependency, msr-tools
can be installed from http://01.org/msr-tools via src2pkg (www.src2pkg.net/)
If you installed a previous version of thermald, you may need to uninstall
-it one and then re-install this one instead of upgrading.
+it and then install this one instead of using upgradepkg
diff --git a/system/thermal_daemon/doinst.sh b/system/thermal_daemon/doinst.sh
new file mode 100644
index 0000000000..95d2cdd197
--- /dev/null
+++ b/system/thermal_daemon/doinst.sh
@@ -0,0 +1,16 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/thermald/thermal-conf.xml.new
+config etc/thermald/thermal-cpu-cdev-order.xml.new
+
diff --git a/system/thermal_daemon/thermal_daemon.SlackBuild b/system/thermal_daemon/thermal_daemon.SlackBuild
index c77fbb1958..9457eed88a 100644
--- a/system/thermal_daemon/thermal_daemon.SlackBuild
+++ b/system/thermal_daemon/thermal_daemon.SlackBuild
@@ -86,9 +86,12 @@ find -L . \
make
make install DESTDIR=$PKG
-#Remove /etc/init and systemd stuff
+# Remove /etc/init but keep dbus config
rm -r $PKG/etc/init
-rm -r $PKG/etc/dbus-1
+
+# Don't clobber configs
+mv $PKG/etc/thermald/thermal-conf.xml $PKG/etc/thermald/thermal-conf.xml.new
+mv $PKG/etc/thermald/thermal-cpu-cdev-order.xml $PKG/etc/thermald/thermal-cpu-cdev-order.xml.new
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -97,13 +100,12 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- COPYING README.txt \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING README.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}