mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-03 06:04:53 +00:00
Improve startup script, join "Team FreeBSD" by default
PR: 245506 Approved by: 0mp (maintainer)
This commit is contained in:
parent
beb1c1fe19
commit
a0f87bd33e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=531701
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= foldingathome
|
||||
DISTVERSION= 7.5.1-1
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= biology linux
|
||||
MASTER_SITES= https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v${DISTVERSION:R}/
|
||||
PKGNAMEPREFIX= linux-
|
||||
|
@ -30,6 +30,34 @@
|
||||
# PROVIDE: fahclient
|
||||
# REQUIRE: DAEMON LOGIN NETWORKING linux
|
||||
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf to enable nginx:
|
||||
# fahclient_enable (bool): Set to "NO" by default.
|
||||
# Set it to "YES" to enable fahclient.
|
||||
# fahclient_user (str): Default: "fahclient"
|
||||
# User to run fahclient as.
|
||||
# fahclient_chdir (str): Default: "%%FAHCLIENT_WORK_DIR%%"
|
||||
# Directory to chdir before starting fahclient.
|
||||
# fahclient_config (str): Default: "%%ETCDIR%%/config.xml"
|
||||
# Path to fahclient configuration file.
|
||||
# fahclient_donor (str): Default: "Anonymous"
|
||||
# Donor to attribute work units to.
|
||||
# Settings in fahclient_config take precedence.
|
||||
# fahclient_team (str): Default: "11743" (FreeBSD Team)
|
||||
# Team to attribute work units to.
|
||||
# Settings in fahclient_config take precedence.
|
||||
# fahclient_pidfile (str): Default: "%%FAHCLIENT_WORK_DIR%%/fahclient.pid"
|
||||
# Path to PID file.
|
||||
# fahclient_logfile (str): Default: "%%FAHCLIENT_WORK_DIR%%/log.txt"
|
||||
# Path to log file. Takes precedence over
|
||||
# settings in fahclient_config.
|
||||
# fahclient_flags (str): Default: ""
|
||||
# Extra flags passed to start command *before*
|
||||
# other options.
|
||||
# fahclient_extra_flags (str): Defaults to ""
|
||||
# Extra flags passed to start command *after*
|
||||
# other options.
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
name='fahclient'
|
||||
@ -42,6 +70,9 @@ load_rc_config 'fahclient'
|
||||
: "${fahclient_user:=fahclient}"
|
||||
: "${fahclient_chdir:=%%FAHCLIENT_WORK_DIR%%}"
|
||||
|
||||
: "${fahclient_donor:=Anonymous}"
|
||||
: "${fahclient_team:=11743}"
|
||||
|
||||
: "${fahclient_pidfile:=%%FAHCLIENT_WORK_DIR%%/fahclient.pid}"
|
||||
: "${fahclient_config:=%%ETCDIR%%/config.xml}"
|
||||
: "${fahclient_logfile:=%%FAHCLIENT_WORK_DIR%%/log.txt}"
|
||||
@ -49,18 +80,37 @@ load_rc_config 'fahclient'
|
||||
pidfile="${fahclient_pidfile}"
|
||||
command='%%FAHCLIENT_PROGRAM%%'
|
||||
# Some notes on the specified options:
|
||||
# - fahclient_flags are passed in before other options by the rc
|
||||
# framework.
|
||||
# - --user sets the donor work units are attributed to (config file takes
|
||||
# precedence).
|
||||
# - --team sets the team work units are attributed to (cfg file takes
|
||||
# precedence).
|
||||
# - --config is necessary to point the program to the correct configuration
|
||||
# file.
|
||||
# - --log sets the log file location (takes precedence over config file),
|
||||
# log is special in this respect.
|
||||
# - --chdir is used to switch to a desired work directory. The program is going
|
||||
# to create a lot of files in its current working directory so should not be
|
||||
# just any directory on the system.
|
||||
# - --pid-file specifies the location for the PID file.
|
||||
# - --daemon is to detach the program from the terminal and run it
|
||||
# in the background.
|
||||
command_args="--config ${fahclient_config} --chdir ${fahclient_chdir}"
|
||||
command_args="${command_args} --pid-file ${pidfile} --daemon"
|
||||
extra_commands="log"
|
||||
# - fahclient_extra_flags are passed in after all other options.
|
||||
|
||||
command_args="${command_args} --user=${fahclient_donor}"
|
||||
command_args="${command_args} --team=${fahclient_team}"
|
||||
command_args="${command_args} --config=${fahclient_config}"
|
||||
command_args="${command_args} --log=${fahclient_logfile}"
|
||||
command_args="${command_args} --chdir=${fahclient_chdir}"
|
||||
command_args="${command_args} --pid-file=${pidfile} --daemon"
|
||||
command_args="${command_args} ${fahclient_extra_flags}"
|
||||
extra_commands="log showconfig"
|
||||
log_cmd="tail -F -- ${fahclient_logfile}"
|
||||
showconfig_cmd="${command} ${fahclient_flags} ${command_args} --print"
|
||||
if [ -n "$fahclient_user" ]; then
|
||||
showconfig_cmd="su -m $fahclient_user -c 'sh -c \"$showconfig_cmd\"'"
|
||||
fi
|
||||
required_modules='linprocfs linsysfs linux64:linux64elf'
|
||||
|
||||
run_rc_command "$1"
|
||||
|
@ -10,12 +10,17 @@ Here is a list of steps to quickly get started with Folding@home on FreeBSD:
|
||||
|
||||
2. Mount linsysfs(5) in /compat/linux/sys.
|
||||
|
||||
3. Consider setting the user name and the team ID (e.g., "11743")
|
||||
in %%FAHCLIENT_CONFIG_XML%%.
|
||||
3. Enable the fahclient service:
|
||||
|
||||
4. Enable the fahclient service:
|
||||
sysrc fahclient_enable=YES
|
||||
|
||||
sysrc fahclient_enable="YES"
|
||||
4. Consider setting the user name and the team ID:
|
||||
|
||||
sysrc fahclient_user=myusername
|
||||
sysrc fahclient_team=0
|
||||
|
||||
Team 0 means "no team", by default fahclient joins team FreeBSD
|
||||
(11743).
|
||||
|
||||
5. Start the service:
|
||||
|
||||
@ -40,16 +45,35 @@ Additional notes
|
||||
Note, that usually the permissions are on unless the system
|
||||
configuration was modified by the administrator.
|
||||
|
||||
- The ID of the FreeBSD team is 11743. In order to join the team
|
||||
add the following line to %%FAHCLIENT_CONFIG_XML%%:
|
||||
- By default the FreeBSD team (team id 11743) is joined.
|
||||
This can be overridden by changing the configuration in rc.conf:
|
||||
|
||||
<team value="11743"/>
|
||||
sysrc fahclient_team=0
|
||||
|
||||
The service has to be restarted to pick up the change.
|
||||
|
||||
Statistics for the FreeBSD team can be viewed here:
|
||||
https://stats.foldingathome.org/team/11743
|
||||
|
||||
- Team and donor configuration values in %%FAHCLIENT_CONFIG_XML%% take
|
||||
precedence over those configured in rc.conf using sysrc.
|
||||
|
||||
- It's possible to specify additional flags in rc.conf. Those take
|
||||
precedence over what is configured in the config file, e.g., setting
|
||||
the maximum number of cpus to be used:
|
||||
|
||||
sysrc fahclient_flags+=" --cpus=7"
|
||||
|
||||
Flags that are set this way will be overridden by settings in
|
||||
%%FAHCLIENT_CONFIG_XML%%. You can set fahclient_extra_flags
|
||||
to override settings in %%FAHCLIENT_CONFIG_XML%%:
|
||||
|
||||
sysrc fahclient_extra_flags+=" --cpus=7"
|
||||
|
||||
- You can check the actual configuration values applied with:
|
||||
|
||||
service fahclient showconfig
|
||||
|
||||
- More information about configuring and running the Folding@home
|
||||
software is available on those websites:
|
||||
- https://foldingforum.org/
|
||||
|
Loading…
Reference in New Issue
Block a user