Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Mar 2020 23:03:05 +0000 (UTC)
From:      Mateusz Piotrowski <0mp@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r528886 - in head: . biology biology/linux-foldingathome biology/linux-foldingathome/files biology/linux-foldingathome/scripts
Message-ID:  <202003212303.02LN359c084228@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: 0mp
Date: Sat Mar 21 23:03:05 2020
New Revision: 528886
URL: https://svnweb.freebsd.org/changeset/ports/528886

Log:
  Resurrect biology/linux-foldingathome
  
  Special thanks to netchild for inspiring bringing back this piece software
  to ports!
  
  Reviewed by:	netchild, pi, salvadore
  Differential Revision:	https://reviews.freebsd.org/D24127

Added:
  head/biology/linux-foldingathome/
     - copied from r514600, head/biology/linux-foldingathome/
  head/biology/linux-foldingathome/files/
  head/biology/linux-foldingathome/files/fahclient.in   (contents, props changed)
  head/biology/linux-foldingathome/files/pkg-message.in   (contents, props changed)
  head/biology/linux-foldingathome/pkg-plist   (contents, props changed)
Deleted:
  head/biology/linux-foldingathome/scripts/
Modified:
  head/GIDs
  head/LEGAL
  head/MOVED
  head/UIDs
  head/biology/Makefile
  head/biology/linux-foldingathome/Makefile
  head/biology/linux-foldingathome/distinfo

Modified: head/GIDs
==============================================================================
--- head/GIDs	Sat Mar 21 22:56:12 2020	(r528885)
+++ head/GIDs	Sat Mar 21 23:03:05 2020	(r528886)
@@ -186,7 +186,7 @@ prosody:*:242:
 ot-recorder:*:243:
 mastodon:*:244:
 routinator:*:245:
-# free: 246
+fahclient:*:246:fahclient
 fcron:*:247:
 # free: 248
 # free: 249

Modified: head/LEGAL
==============================================================================
--- head/LEGAL	Sat Mar 21 22:56:12 2020	(r528885)
+++ head/LEGAL	Sat Mar 21 23:03:05 2020	(r528886)
@@ -77,6 +77,7 @@ etqw*			games/linux-etqw-demo-server Redistribution li
 etqw*			games/linux-etqw-server Redistribution limited
 ezmlm-*			mail/ezmlm		No license -- see http://cr.yp.to/softwarelaw.html
 ezmlm-*			mail/ezmlm-idx		No license -- see http://cr.yp.to/softwarelaw.html
+fahclient-*		biology/linux-foldingathome Distribution without permission is prohibited
 fasta2*			biology/fasta		May not be sold or incorporated into a commercial product
 fasta3*			biology/fasta3		May not be sold or incorporated into a commercial product
 festival/festlex_OALD*	audio/festlex-oald	No commercial use

Modified: head/MOVED
==============================================================================
--- head/MOVED	Sat Mar 21 22:56:12 2020	(r528885)
+++ head/MOVED	Sat Mar 21 23:03:05 2020	(r528886)
@@ -13089,7 +13089,6 @@ audio/wmsmixer||2019-10-16|Has expired: Unfetchable, u
 audio/xmms2-scrobbler||2019-10-16|Has expired: Unfetchable, unmaintained
 benchmarks/filebench||2019-10-16|Has expired: Unfetchable, unmaintained
 biology/chemeq||2019-10-16|Has expired: Unfetchable, unmaintained
-biology/linux-foldingathome||2019-10-16|Has expired: Unfetchable, unmaintained
 cad/dxf2fig||2019-10-16|Has expired: Unfetchable, unmaintained
 comms/gsmlib||2019-10-16|Has expired: Unfetchable, unmaintained
 comms/nokryptia||2019-10-16|Has expired: Unfetchable, unmaintained

Modified: head/UIDs
==============================================================================
--- head/UIDs	Sat Mar 21 22:56:12 2020	(r528885)
+++ head/UIDs	Sat Mar 21 23:03:05 2020	(r528886)
@@ -191,7 +191,7 @@ prosody:*:242:242::0:0:Prosody Jabber Server:/nonexist
 ot-recorder:*:243:243::0:0:OwnTracks Recorder:/nonexistent:/usr/sbin/nologin
 mastodon:*:244:244::0:0:Mastodon User:/usr/local/www/mastodon:/bin/sh
 routinator:*:245:245::0:0:Routinator 3000 Pseudo User:/nonexistent:/usr/sbin/nologin
-# free: 246
+fahclient:*:246:246::0:0:Folding@home User:/nonexistent:/usr/sbin/nologin
 fcron:*:247:247::0:0:fcron pseudo-user:/nonexistent:/usr/sbin/nologin
 # free: 248
 # free: 249

Modified: head/biology/Makefile
==============================================================================
--- head/biology/Makefile	Sat Mar 21 22:56:12 2020	(r528885)
+++ head/biology/Makefile	Sat Mar 21 23:03:05 2020	(r528886)
@@ -68,6 +68,7 @@
     SUBDIR += libbigwig
     SUBDIR += libgtextutils
     SUBDIR += libsbml
+    SUBDIR += linux-foldingathome
     SUBDIR += mafft
     SUBDIR += mapm3
     SUBDIR += migrate

Modified: head/biology/linux-foldingathome/Makefile
==============================================================================
--- head/biology/linux-foldingathome/Makefile	Wed Oct 16 15:29:20 2019	(r514600)
+++ head/biology/linux-foldingathome/Makefile	Sat Mar 21 23:03:05 2020	(r528886)
@@ -2,41 +2,65 @@
 # $FreeBSD$
 
 PORTNAME=	foldingathome
-PORTVERSION=	5.04
-CATEGORIES=	biology
-MASTER_SITES=	http://www.stanford.edu/group/pandegroup/release/
+DISTVERSION=	7.5.1-1
+CATEGORIES=	biology linux
+MASTER_SITES=	https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v${DISTVERSION:R}/
 PKGNAMEPREFIX=	linux-
-DISTNAME=	FAH${PORTVERSION:S/.//}-Linux
-EXTRACT_SUFX=	.exe
+DISTNAME=	fahclient-${DISTVERSION}
+EXTRACT_SUFX=	.x86_64.rpm
 
-MAINTAINER=	ports@FreeBSD.org
-COMMENT=	Distributed client for Protein Folding
+MAINTAINER=	0mp@FreeBSD.org
+COMMENT=	Folding@home Client
 
-BROKEN=		unfetchable
-DEPRECATED=	Unfetchable, unmaintained
-EXPIRATION_DATE=	2019-10-16
+LICENSE=	FAHSL
+LICENSE_NAME=	Folding@home Software License
+LICENSE_FILE=	${WRKSRC}/usr/share/doc/fahclient/copyright
+LICENSE_PERMS=	no-dist-mirror no-dist-sell no-pkg-mirror no-pkg-sell \
+		auto-accept
 
-USES=		linux
-ONLY_FOR_ARCHS=	i386 amd64
-REINPLACE_ARGS=
-PLIST_FILES=	share/${PORTNAME}/${DISTNAME}${EXTRACT_SUFX} \
-		bin/FoldingAtHome
+LEGAL_TEXT=	Distribution without permission is prohibited
 
-do-extract:
-	${MKDIR} ${WRKSRC}
-	${CP} ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX} ${WRKSRC}
+ONLY_FOR_ARCHS=	amd64
+ONLY_FOR_ARCHS_REASON=	The i386 client has not been ported
 
-do-build:
-	${BRANDELF} -t Linux ${WRKSRC}/${DISTNAME}${EXTRACT_SUFX}
-	${CHMOD} 755 ${WRKSRC}/${DISTNAME}${EXTRACT_SUFX}
+USES=		dos2unix linux
+DOS2UNIX_FILES=	usr/share/doc/fahclient/*
+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
+
 do-install:
-	${MKDIR} ${STAGEDIR}${PREFIX}/bin
-	${REINPLACE_CMD} -e "s|DATADIR|${DATADIR}|" ${SCRIPTDIR}/FoldingAtHome \
-		| ${REINPLACE_CMD} -e "s|BINNAME|${DISTNAME}${EXTRACT_SUFX}|" \
-		> ${STAGEDIR}${PREFIX}/bin/FoldingAtHome
-	${CHMOD} 755 ${STAGEDIR}${PREFIX}/bin/FoldingAtHome
-	${MKDIR} ${STAGEDIR}${DATADIR}
-	${CP} ${WRKSRC}/${DISTNAME}${EXTRACT_SUFX} ${STAGEDIR}${DATADIR}/
+	${INSTALL_PROGRAM} ${WRKSRC}/usr/bin/FAHClient ${STAGEDIR}${PREFIX}/bin/
+	${INSTALL_PROGRAM} ${WRKSRC}/usr/bin/FAHCoreWrapper ${STAGEDIR}${PREFIX}/bin/
+	@${MKDIR} ${STAGEDIR}${ETCDIR}
+	${INSTALL_DATA} ${WRKSRC}/usr/share/doc/fahclient/sample-config.xml \
+		${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/|} \
+		${STAGEDIR}${DOCSDIR}
 
 .include <bsd.port.mk>

Modified: head/biology/linux-foldingathome/distinfo
==============================================================================
--- head/biology/linux-foldingathome/distinfo	Wed Oct 16 15:29:20 2019	(r514600)
+++ head/biology/linux-foldingathome/distinfo	Sat Mar 21 23:03:05 2020	(r528886)
@@ -1,2 +1,3 @@
-SHA256 (FAH504-Linux.exe) = c491b23af1edee41db474545c0a084f3f4cf4ccf50bceb56da499df63eb38464
-SIZE (FAH504-Linux.exe) = 250964
+TIMESTAMP = 1584818074
+SHA256 (fahclient-7.5.1-1.x86_64.rpm) = da579fa02df66fc6fb48dc2bc81c4b6f46fe4f6696afe20d70b9bd5e5941837f
+SIZE (fahclient-7.5.1-1.x86_64.rpm) = 3025708

Added: head/biology/linux-foldingathome/files/fahclient.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/linux-foldingathome/files/fahclient.in	Sat Mar 21 23:03:05 2020	(r528886)
@@ -0,0 +1,66 @@
+#! /bin/sh -
+#
+# $FreeBSD$
+#
+# 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
+
+. /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_pidfile:=%%FAHCLIENT_WORK_DIR%%/fahclient.pid}"
+: "${fahclient_config:=%%ETCDIR%%/config.xml}"
+: "${fahclient_logfile:=%%FAHCLIENT_WORK_DIR%%/log.txt}"
+
+pidfile="${fahclient_pidfile}"
+command='%%FAHCLIENT_PROGRAM%%'
+# Some notes on the specified options:
+# - --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.
+# - --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"
+log_cmd="tail -F -- ${fahclient_logfile}"
+required_modules='linprocfs linsysfs linuxcommon'
+
+run_rc_command "$1"

Added: head/biology/linux-foldingathome/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/linux-foldingathome/files/pkg-message.in	Sat Mar 21 23:03:05 2020	(r528886)
@@ -0,0 +1,56 @@
+[
+{ type: install
+  message: <<EOM
+Quick start
+===========
+
+Here is a list of steps to quickly get started with Folding@home on FreeBSD:
+
+1.	Mount linprocfs(5) in /compat/linux/proc.
+
+2.	Mount linsysfs(5) in /compat/linux/sys.
+
+3.	Enable the fahclient service:
+
+		sysrc fahclient_enable="YES"
+
+4.	Start the service:
+
+		service fahclient start
+
+At this point, the daemon should be up and folding.
+
+Additional notes
+================
+
+-	The current status of folding can be inspected by running
+	the following command:
+
+		service fahclient log
+
+-       The default working directory for fahclient is %%FAHCLIENT_WORK_DIR%%.
+	In order to function properly, fahclient requires its working directory
+	to be on a partition/dataset with execute permissions on.  For example
+	if /var/db is on a ZFS dataset with exec=off, then %%FAHCLIENT_WORK_DIR%%
+	needs to have exec=on.
+
+	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%%:
+
+		<team value="11743"/>
+
+	The service has to be restarted to pick up the change.
+
+	Statistics for the FreeBSD team can be viewed here:
+	https://apps.foldingathome.org/teamstats/team11743.html
+
+-	More information about configuring and running the Folding@home
+	software is available on those websites:
+	-	https://foldingforum.org/
+	-	https://foldingathome.org/support/faq/
+EOM
+}
+]

Added: head/biology/linux-foldingathome/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/linux-foldingathome/pkg-plist	Sat Mar 21 23:03:05 2020	(r528886)
@@ -0,0 +1,5 @@
+bin/FAHClient
+bin/FAHCoreWrapper
+@dir(fahclient,fahclient,) %%ETCDIR%%
+@sample(fahclient,fahclient,) %%ETCDIR%%/config.xml.sample
+@dir(fahclient,fahclient,) %%FAHCLIENT_WORK_DIR%%



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