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,21 +67,27 @@ 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
sudo bin/mbpfan
If installed, manually run with
sudo mbpfan
sudo mbpfan
If installed and using the init file, run with (Ubuntu example)
sudo service mbpfan start
sudo service mbpfan start
Starting at boot
@ -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,27 +115,43 @@ 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
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:
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
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
sudo systemctl enable mbpfan.service
Usage
-------
Usage: ./mbpfan OPTION(S)
-h Show the help screen
-f Run in foreground
-t Run the tests
-v Be (a lot) verbose
Usage: ./mbpfan OPTION(S)
-h Show the help screen
-f Run in foreground
-t Run the tests
-v Be (a lot) verbose
License

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();