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>