diff --git a/biology/linux-foldingathome/Makefile b/biology/linux-foldingathome/Makefile index 656e4a1bcaa9..93c320c4176c 100644 --- a/biology/linux-foldingathome/Makefile +++ b/biology/linux-foldingathome/Makefile @@ -1,63 +1,62 @@ PORTNAME= foldingathome -DISTVERSION= 7.6.21 +DISTVERSION= 8.4.9 CATEGORIES= biology linux -MASTER_SITES= https://download.foldingathome.org/releases/v7/public/fahclient/centos-6.7-64bit/release/ +MASTER_SITES= https://download.foldingathome.org/releases/public/fah-client/debian-10-64bit/release/ PKGNAMEPREFIX= linux- -DISTNAME= fahclient-${DISTVERSION}-1 -EXTRACT_SUFX= .x86_64.rpm +DISTNAME= fah-client_${DISTVERSION}-64bit-release +EXTRACT_SUFX= .tar.bz2 MAINTAINER= 0mp@FreeBSD.org COMMENT= Folding@home Client WWW= https://foldingathome.org/ # Distribution without permission is prohibited LICENSE= FAHSL LICENSE_NAME= Folding@home Software License -LICENSE_FILE= ${WRKSRC}/usr/share/doc/fahclient/copyright +LICENSE_FILE= ${WRKSRC}/${DISTNAME}/LICENSE LICENSE_PERMS= no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell \ auto-accept ONLY_FOR_ARCHS= amd64 ONLY_FOR_ARCHS_REASON= has not been ported to this architecture -USES= dos2unix linux -DOS2UNIX_FILES= usr/share/doc/fahclient/* +USES= linux:rl9 +USE_LINUX= systemd-libs USE_RC_SUBR= fahclient ETCDIR= ${PREFIX}/etc/fahclient DOCSDIR= ${PREFIX}/share/doc/fahclient NO_BUILD= yes SUB_FILES= pkg-message SUB_LIST= FAHCLIENT_CONFIG_XML=${_FAHCLIENT_CONFIG_XML} \ FAHCLIENT_PROGRAM=${_FAHCLIENT_PROGRAM} \ FAHCLIENT_WORK_DIR=${_FAHCLIENT_WORK_DIR} NO_WRKSUBDIR= yes USERS= fahclient GROUPS= fahclient PLIST_SUB= FAHCLIENT_WORK_DIR=${_FAHCLIENT_WORK_DIR} PORTDOCS= CHANGELOG.md README.md OPTIONS_DEFINE= DOCS _FAHCLIENT_CONFIG_XML= ${ETCDIR}/config.xml _FAHCLIENT_WORK_DIR= /var/db/fahclient -_FAHCLIENT_PROGRAM= ${PREFIX}/bin/FAHClient +_FAHCLIENT_PROGRAM= ${PREFIX}/bin/fah-client do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/usr/bin/FAHClient ${STAGEDIR}${PREFIX}/bin/ - ${INSTALL_PROGRAM} ${WRKSRC}/usr/bin/FAHCoreWrapper ${STAGEDIR}${PREFIX}/bin/ + ${INSTALL_PROGRAM} ${WRKSRC}/${DISTNAME}/fah-client ${STAGEDIR}${PREFIX}/bin/ @${MKDIR} ${STAGEDIR}${ETCDIR} - ${INSTALL_DATA} ${WRKSRC}/usr/share/doc/fahclient/sample-config.xml \ + ${INSTALL_DATA} ${FILESDIR}/config.xml.sample \ ${STAGEDIR}${_FAHCLIENT_CONFIG_XML}.sample @${MKDIR} ${STAGEDIR}${_FAHCLIENT_WORK_DIR} post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/usr/share/doc/fahclient/|} \ + ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/${DISTNAME}/|} \ ${STAGEDIR}${DOCSDIR} .include diff --git a/biology/linux-foldingathome/distinfo b/biology/linux-foldingathome/distinfo index 33d4bcc5607a..39784f4f8008 100644 --- a/biology/linux-foldingathome/distinfo +++ b/biology/linux-foldingathome/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1624640434 -SHA256 (fahclient-7.6.21-1.x86_64.rpm) = a9f8b5073cd800cc63e32c623a8b4d7487c4e19a1e84760202e451b997d95073 -SIZE (fahclient-7.6.21-1.x86_64.rpm) = 3779272 +TIMESTAMP = 1739437601 +SHA256 (fah-client_8.4.9-64bit-release.tar.bz2) = 2acccbeda05649f6f913d29f91a22308e88ec3e117499f636a18dc56244d6cf1 +SIZE (fah-client_8.4.9-64bit-release.tar.bz2) = 3649371 diff --git a/biology/linux-foldingathome/files/config.xml.sample b/biology/linux-foldingathome/files/config.xml.sample new file mode 100644 index 000000000000..9efd165f6abf --- /dev/null +++ b/biology/linux-foldingathome/files/config.xml.sample @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + diff --git a/biology/linux-foldingathome/files/fahclient.in b/biology/linux-foldingathome/files/fahclient.in index 6b42171980fe..8cc7e80e0d7d 100644 --- a/biology/linux-foldingathome/files/fahclient.in +++ b/biology/linux-foldingathome/files/fahclient.in @@ -1,110 +1,115 @@ #! /bin/sh - # SPDX-License-Identifier: BSD-2-Clause # # Copyright (c) 2020 Mateusz Piotrowski <0mp@FreeBSD.org> # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # 1. Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # 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' rcvar='fahclient_enable' load_rc_config 'fahclient' # Default settings. : "${fahclient_enable:=NO}" : "${fahclient_user:=fahclient}" : "${fahclient_chdir:=%%FAHCLIENT_WORK_DIR%%}" +: "${fahclient_svcj_options:=net_basic}" : "${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}" pidfile="${fahclient_pidfile}" procname="%%FAHCLIENT_PROGRAM%%" command="/usr/sbin/daemon" -command_args="-o ${fahclient_logfile} -p ${pidfile} -- ${procname}" +command_args="-p ${pidfile} -- ${procname}" # 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. # - --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. # - fahclient_extra_flags are passed in after all other options. _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} --chdir=${fahclient_chdir}" +_fahclient_command_args="${_fahclient_command_args} --log=${fahclient_logfile}" +_fahclient_command_args="${_fahclient_command_args} --log-rotate-dir=$(dirname ${fahclient_logfile})" +_fahclient_command_args="${_fahclient_command_args} --log-to-screen=false" _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="${procname} ${fahclient_flags} ${_fahclient_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' +cd ${fahclient_chdir} run_rc_command "$1" diff --git a/biology/linux-foldingathome/files/pkg-message.in b/biology/linux-foldingathome/files/pkg-message.in index 01766900a847..3df201f3a973 100644 --- a/biology/linux-foldingathome/files/pkg-message.in +++ b/biology/linux-foldingathome/files/pkg-message.in @@ -1,83 +1,88 @@ [ { type: install message: <