biology/linux-foldingathome: Update to 7.6.21

Unfortunately, this version of FAHClient is not able to daemonize
successfully anymore. Even though the --daemon flag is passed, FAHClient
does not detach from the controlling terminal. In addition to that it
does not go into background. The --log seems to be broken as well as
since all the logs are printed to the terminal instead of the log file.

In order to alleviate those problems, use daemon(8).

PR:		250463
Changes:	https://foldingforum.org/viewtopic.php?t=36307
This commit is contained in:
Mateusz Piotrowski 2021-06-25 19:08:02 +02:00
parent 1fa71395f9
commit 3716d1981f
3 changed files with 15 additions and 19 deletions

View File

@ -1,7 +1,7 @@
# Created by: Yonatan <onatan@gmail.com>
PORTNAME= foldingathome
DISTVERSION= 7.6.13
DISTVERSION= 7.6.21
CATEGORIES= biology linux
MASTER_SITES= https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v${DISTVERSION:R}/
PKGNAMEPREFIX= linux-

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1589030361
SHA256 (fahclient-7.6.13-1.x86_64.rpm) = 5abb3288a052890555c5b823f4a283593e122aadffbb0790879f58e266fcc28f
SIZE (fahclient-7.6.13-1.x86_64.rpm) = 3679564
TIMESTAMP = 1624640434
SHA256 (fahclient-7.6.21-1.x86_64.rpm) = a9f8b5073cd800cc63e32c623a8b4d7487c4e19a1e84760202e451b997d95073
SIZE (fahclient-7.6.21-1.x86_64.rpm) = 3779272

View File

@ -76,7 +76,9 @@ load_rc_config 'fahclient'
: "${fahclient_logfile:=%%FAHCLIENT_WORK_DIR%%/log.txt}"
pidfile="${fahclient_pidfile}"
command='%%FAHCLIENT_PROGRAM%%'
procname="%%FAHCLIENT_PROGRAM%%"
command="/usr/sbin/daemon"
command_args="-o ${fahclient_logfile} -p ${pidfile} -- ${procname}"
# Some notes on the specified options:
# - fahclient_flags are passed in before other options by the rc
# framework.
@ -86,26 +88,20 @@ command='%%FAHCLIENT_PROGRAM%%'
# 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.
# - 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}"
_fahclient_command_args=
_fahclient_command_args="${_fahclient_command_args} --user=${fahclient_donor}"
_fahclient_command_args="${_fahclient_command_args} --team=${fahclient_team}"
_fahclient_command_args="${_fahclient_command_args} --config=${fahclient_config}"
_fahclient_command_args="${_fahclient_command_args} --chdir=${fahclient_chdir}"
_fahclient_command_args="${_fahclient_command_args} ${fahclient_extra_flags}"
command_args="${command_args} ${_fahclient_command_args}"
extra_commands="log showconfig"
log_cmd="tail -F -- ${fahclient_logfile}"
showconfig_cmd="${command} ${fahclient_flags} ${command_args} --print"
showconfig_cmd="${procname} ${fahclient_flags} ${_fahclient_command_args} --print"
if [ -n "$fahclient_user" ]; then
showconfig_cmd="su -m $fahclient_user -c 'sh -c \"$showconfig_cmd\"'"
fi