Added Gentoo support and enhanced README.md

This commit is contained in:
Daniel Graziotin 2012-08-23 11:08:17 +02:00
commit 03ac20500b
6 changed files with 113 additions and 39 deletions

View file

@ -1,12 +1,13 @@
MAINTAINERS AND CONTRIBUTORS
----------------------------
AUTHORS, CONTRIBUTORS, MAINTAINERS
----------------------------------
Daniel Graziotin <dgraziotin AT task3 DOT cc>
Ismail Khatib <ikhatib AT gmail DOT com>
Trevor Joynson
Magnus Stubman <magnus AT stubman DOT eu>
ORIGINARY AUTHORS
-----------------
Allan McRae mbpfan <http://allanmcrae.com/2010/05/simple-macbook-pro-fan-daemon>
rvega <https://github.com/rvega/Fan-Control-Daemon>

View file

@ -17,18 +17,48 @@ This enhanced version assumes any number of processors and fans (max. 10).
* Users can configure it using the file /etc/mbpfan.conf
Supported GNU/Linux Distributions
---------------------------------
We provide scripts to to load mbpfan daemon at system boot for many distros.
Please note that the support is provided by volunteers. mbpfan needs test and bug reports.
Supported distributions:
- Ubuntu
- Debian
- Fedora
- RedHat
- CentOS
- Gentoo
Tested Macbook Models
---------------------
- MacBook Pro 8.1 13" (Intel i7 - Linux 3.2)
- MacBook Pro 6,2 15" (Intel i7 - Linux 3.2)
- MacBook Pro 2,2 15" (Intel Core 2 Duo - Linux 3.4.4)
Warning
-------
Be sure to load the kernel modules **applesmc** and **coretemp**.
Compile Instructions
---------------------
Compile with
make
Manually compile with
gcc -o bin/mbpfan src/mbpfan.c -lm
Install Instructions
--------------------
Install with
sudo make install
It copies mbpfan to /usr/sbin and mbpfan.conf to /etc
@ -37,20 +67,26 @@ It copies mbpfan to /usr/sbin and mbpfan.conf to /etc
Run The Tests (Recommended)
---------------------------
It is recommended to run the tests after installing the program
sudo ./bin/mbpfan -t
or
sudo make tests
Run Instructions
----------------
If not installed, run with
sudo bin/mbpfan
If installed, manually run with
sudo mbpfan
If installed and using the init file, run with (Ubuntu example)
sudo service mbpfan start
@ -60,6 +96,7 @@ Starting at boot
For upstart based init systems (Ubuntu), an example upstart job has been
provided for use in place of the LSB-style init script.
To use, execute:
sudo cp mbpfan.upstart /etc/init/mbpfan.conf
sudo start mbpfan
@ -68,7 +105,9 @@ An init file suitable for /lib/lsb/init-functions (Debian)
is located in the main folder of the source files, called mbpfan.init.debian
Rename it to mbpfan, give it execution permissions (chmod +x mbpfan)
and move it to /etc/init.d
Then, add it to the default runlevels with sudo update-rc.d mbpfan defaults
Then, add it to the default runlevels with (as root):
sudo update-rc.d mbpfan defaults
**Redhat, CentOS, Fedora**
An init file suitable for /etc/rc.d/init.d/functions
@ -76,23 +115,39 @@ An init file suitable for /etc/rc.d/init.d/functions
mbpfan.init.redhat. Also rename it to mbpfan, give it execution permissions
and move it to /etc/init.d
To add the script to the default runlevels, run the following as root:
chkconfig --level 2345 mbpfan on && chkconfig --level 016 mbpfan off
**Gentoo**
An init file is available for gentoo users: mbpfan.init.gentoo
To install, run as root:
cp mbpfan.init.gentoo /etc/init.d/mbpfan
To automatically run mbpfan at boot, run as root:
rc-update add mbpfan default
**systemd**
As a special bonus, a service file for systemd is also included. To use it,
execute the following as root:
execute the following (as root):
sudo cp mbpfan.service /usr/lib/systemd/system
sudo ln -s /usr/lib/systemd/system/mbpfan.service /etc/systemd/system/mbpfan.service
sudo systemctl daemon-reload
sudo systemctl start mbpfan.service
To start the service automatically at boot, also execute the following:
sudo systemctl enable mbpfan.service
Usage
-------
Usage: ./mbpfan OPTION(S)
-h Show the help screen
-f Run in foreground
-t Run the tests

18
mbpfan.init.gentoo Executable file
View file

@ -0,0 +1,18 @@
#!/sbin/runscript
depend() {
use logger
}
start() {
ebegin "Starting mbpfan"
start-stop-daemon --start --quiet --exec /usr/sbin/mbpfan
eend $?
}
stop() {
ebegin "Stopping mbpfan"
start-stop-daemon --stop --quiet --exec /usr/sbin/mbpfan
eend $?
}

View file

@ -10,16 +10,6 @@
int tests_run = 0;
struct s_sensors {
char* path;
char* fan_output_path;
char* fan_manual_path;
unsigned int temperature;
struct s_sensors *next;
};
typedef s_sensors t_sensors;
static char *test_sensor_paths()
{
t_sensors* sensors = retrieve_sensors();

View file

@ -5,6 +5,16 @@
#define mu_run_test(test) do { char *message = test(); tests_run++; \
if (message) return message; } while (0)
struct s_sensors {
char* path;
char* fan_output_path;
char* fan_manual_path;
unsigned int temperature;
struct s_sensors *next;
};
typedef s_sensors t_sensors;
extern int tests_run;
static char *test_sensor_paths();