Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Apr 2020 16:03:24 +0000 (UTC)
From:      Michael Gmelin <grembo@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r531701 - in head/biology/linux-foldingathome: . files
Message-ID:  <202004141603.03EG3OqZ087009@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: grembo
Date: Tue Apr 14 16:03:24 2020
New Revision: 531701
URL: https://svnweb.freebsd.org/changeset/ports/531701

Log:
  Improve startup script, join "Team FreeBSD" by default
  
  PR:		245506
  Approved by:	0mp (maintainer)

Modified:
  head/biology/linux-foldingathome/Makefile
  head/biology/linux-foldingathome/files/fahclient.in
  head/biology/linux-foldingathome/files/pkg-message.in

Modified: head/biology/linux-foldingathome/Makefile
==============================================================================
--- head/biology/linux-foldingathome/Makefile	Tue Apr 14 15:49:36 2020	(r531700)
+++ head/biology/linux-foldingathome/Makefile	Tue Apr 14 16:03:24 2020	(r531701)
@@ -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-

Modified: head/biology/linux-foldingathome/files/fahclient.in
==============================================================================
--- head/biology/linux-foldingathome/files/fahclient.in	Tue Apr 14 15:49:36 2020	(r531700)
+++ head/biology/linux-foldingathome/files/fahclient.in	Tue Apr 14 16:03:24 2020	(r531701)
@@ -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"

Modified: head/biology/linux-foldingathome/files/pkg-message.in
==============================================================================
--- head/biology/linux-foldingathome/files/pkg-message.in	Tue Apr 14 15:49:36 2020	(r531700)
+++ head/biology/linux-foldingathome/files/pkg-message.in	Tue Apr 14 16:03:24 2020	(r531701)
@@ -10,13 +10,18 @@ Here is a list of steps to quickly get started with Fo
 
 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:
 
 		service fahclient start
@@ -40,15 +45,34 @@ 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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004141603.03EG3OqZ087009>