From 03a4f6f5c9a43baf1dd7d5e9b44e5113b90ba35b Mon Sep 17 00:00:00 2001 From: James Meyer Date: Tue, 4 Dec 2012 15:43:33 -0600 Subject: foldingathome: updated client to v7 refs #872 --- abs/extra/foldingathome/PKGBUILD | 56 +++++++++++++++------- abs/extra/foldingathome/foldingathome-v7.install | 12 +++++ abs/extra/foldingathome/foldingathome-v7.rc.d | 46 ++++++++++++++++++ abs/extra/foldingathome/foldingathome-v7.service | 12 +++++ abs/extra/foldingathome/foldingathome-v7/PKGBUILD | 45 +++++++++++++++++ .../foldingathome-v7/foldingathome-v7.install | 12 +++++ .../foldingathome-v7/foldingathome-v7.rc.d | 46 ++++++++++++++++++ .../foldingathome-v7/foldingathome-v7.service | 12 +++++ abs/extra/foldingathome/foldingathome.install | 47 ------------------ abs/extra/foldingathome/run | 26 ---------- 10 files changed, 223 insertions(+), 91 deletions(-) create mode 100644 abs/extra/foldingathome/foldingathome-v7.install create mode 100644 abs/extra/foldingathome/foldingathome-v7.rc.d create mode 100644 abs/extra/foldingathome/foldingathome-v7.service create mode 100644 abs/extra/foldingathome/foldingathome-v7/PKGBUILD create mode 100644 abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.install create mode 100644 abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.rc.d create mode 100644 abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.service delete mode 100644 abs/extra/foldingathome/foldingathome.install delete mode 100644 abs/extra/foldingathome/run diff --git a/abs/extra/foldingathome/PKGBUILD b/abs/extra/foldingathome/PKGBUILD index c78cb93..89f1eca 100644 --- a/abs/extra/foldingathome/PKGBUILD +++ b/abs/extra/foldingathome/PKGBUILD @@ -1,28 +1,48 @@ -# Contributor: Jason Taylor -# Contributor: seratne -# Contributor: Nick B +# Contributor: paul2lv [at] gmail dot com +# Maintainer: pkgname=foldingathome -pkgver=6.02 -pkgrel=7 +pkgver=7.2.9 +pkgrel=1 pkgdesc="Folding@Home is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases." arch=('i686' 'x86_64') url="http://folding.stanford.edu/" -license=('custom') -depends=('bash') -backup=('etc/conf.d/foldingathome') -install=foldingathome.install -source=(http://www.stanford.edu/group/pandegroup/folding/release/FAH$pkgver-Linux.tgz - run) +license=('CUSTOM') +depends=('glibc') +install=foldingathome-v7.install + +# Moronic server +DLAGENTS=("https::/usr/bin/curl -k -o %o %u") + +[ "$CARCH" = "i686" ] &&_source_arch="32bit" +[ "$CARCH" = "x86_64" ] && _source_arch="64bit" + +if [ "$CARCH" = "i686" ]; then + source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-32bit/v7.2/fahclient_7.2.9-32bit-release.tar.bz2 foldingathome-v7.rc.d foldingathome-v7.service) + md5sums=('f8a0b43bfc4110f2200b689d8d788962' '50481b4e31edb24519e855d770955eda' 'fe7c7652443e72830cf6d641846c07f6') + +elif [ "$CARCH" = "x86_64" ]; then + source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-64bit/v7.2/fahclient_7.2.9-64bit-release.tar.bz2 foldingathome-v7.rc.d foldingathome-v7.service) + md5sums=('d8d93d3436e5ebb52876c73cf375c9ac' '50481b4e31edb24519e855d770955eda' 'fe7c7652443e72830cf6d641846c07f6') +fi + build() { - cd $startdir/src/ + cd ${srcdir} - tar zxf FAH${pkgver}-Linux.tgz + install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHClient ${pkgdir}/opt/fah-v7/FAHClient + install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHCoreWrapper ${pkgdir}/opt/fah-v7/FAHCoreWrapper + install -D -c -m755 ${srcdir}/foldingathome-v7.rc.d ${pkgdir}/etc/rc.d/foldingathome-v7 + install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/sample-config.xml ${pkgdir}/opt/fah-v7/sample-config.xml - # At this stage, the mpiexec is not included because it requires x86_64. - install -D -c -m755 fah6 $startdir/pkg/usr/bin/fah6 || return 1 - install -D -m755 run $startdir/pkg/etc/sv/fah/run + chmod 755 ${pkgdir}/opt/fah-v7/FAHClient + chmod 755 ${pkgdir}/opt/fah-v7/FAHCoreWrapper + install -D -m644 fahclient_${pkgver}-${_source_arch}-release/copyright ${pkgdir}/usr/share/licenses/${pkgname}/copyright + install -D -m644 fahclient_${pkgver}-${_source_arch}-release/README ${pkgdir}/opt/fah-v7/README + install -D -m644 fahclient_${pkgver}-${_source_arch}-release/ChangeLog ${pkgdir}/opt/fah-v7/ChangeLog + install -D -m644 ${srcdir}/foldingathome-v7.service ${pkgdir}/etc/systemd/system/foldingathome-v7.service } -md5sums=('112b3d66909050f1bb990993a1464cb9' - 'cefaf5ba2f3e2fe81533b5ee4795dc78') + +md5sums=('d8d93d3436e5ebb52876c73cf375c9ac' + '50481b4e31edb24519e855d770955eda' + 'fe7c7652443e72830cf6d641846c07f6') diff --git a/abs/extra/foldingathome/foldingathome-v7.install b/abs/extra/foldingathome/foldingathome-v7.install new file mode 100644 index 0000000..6899bba --- /dev/null +++ b/abs/extra/foldingathome/foldingathome-v7.install @@ -0,0 +1,12 @@ +post_install() { + cat << 'EOM' + --> Please cd to /opt/fah-v7/ and execute ./FAHClient --configure + --> as root to configure your settings. If you are using systemd, + --> then run "systemctl enable foldingathome-v7.service" to enable + --> the folding service. If you are using initscripts, then add + --> "foldingathome-v7" to the list of daemons in /etc/rc.conf. + --> If you would like join the Arch Linux team, use team number + --> 45032. +EOM +} + diff --git a/abs/extra/foldingathome/foldingathome-v7.rc.d b/abs/extra/foldingathome/foldingathome-v7.rc.d new file mode 100644 index 0000000..91a395a --- /dev/null +++ b/abs/extra/foldingathome/foldingathome-v7.rc.d @@ -0,0 +1,46 @@ +#!/bin/bash +#/etc/rc.d/foldingathome-v7 +# +# Starts the Folding@Home-v7 client in the background + +. /etc/rc.conf +. /etc/rc.d/functions + +DAEMON=foldingathome-v7 +#ARGS= + +#[ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON + +PID=$(pidof -x -o %PPID /opt/fah-v7/FAHClient) +case "${1}" in + start) + stat_busy "Starting $DAEMON" + [ -z "${PID}" ] && /opt/fah-v7/FAHClient --config /opt/fah-v7/config.xml --exec-directory=/opt/fah-v7 --data-directory=/opt/fah-v7 &> /dev/null & + add_daemon $DAEMON + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + exit 1 + else + stat_done + exit 1 + fi + ;; + stop) + stat_busy "Stopping $DAEMON" + [ ! -z "${PID}" ] && kill ${PID} &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon $DAEMON + stat_done + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/abs/extra/foldingathome/foldingathome-v7.service b/abs/extra/foldingathome/foldingathome-v7.service new file mode 100644 index 0000000..4634582 --- /dev/null +++ b/abs/extra/foldingathome/foldingathome-v7.service @@ -0,0 +1,12 @@ +[Unit] +Description=Folding@home V7 distributed computing client +After=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/fah-v7 +ExecStart=/opt/fah-v7/FAHClient --config /opt/fah-v7/config.xml --exec-directory=/opt/fah-v7 --data-directory=/opt/fah-v7 + +[Install] +WantedBy=multi-user.target + diff --git a/abs/extra/foldingathome/foldingathome-v7/PKGBUILD b/abs/extra/foldingathome/foldingathome-v7/PKGBUILD new file mode 100644 index 0000000..c98ef7c --- /dev/null +++ b/abs/extra/foldingathome/foldingathome-v7/PKGBUILD @@ -0,0 +1,45 @@ +# Contributor: paul2lv [at] gmail dot com +# Maintainer: + +pkgname=foldingathome-v7 +pkgver=7.2.9 +pkgrel=1 +pkgdesc="Folding@Home is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases." +arch=('i686' 'x86_64') +url="http://folding.stanford.edu/" +license=('CUSTOM') +depends=('glibc') +install=foldingathome-v7.install + +# Moronic server +DLAGENTS=("https::/usr/bin/curl -k -o %o %u") + +[ "$CARCH" = "i686" ] &&_source_arch="32bit" +[ "$CARCH" = "x86_64" ] && _source_arch="64bit" + +if [ "$CARCH" = "i686" ]; then + source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-32bit/v7.2/fahclient_7.2.9-32bit-release.tar.bz2 foldingathome-v7.rc.d foldingathome-v7.service) + md5sums=('f8a0b43bfc4110f2200b689d8d788962' '50481b4e31edb24519e855d770955eda' 'fe7c7652443e72830cf6d641846c07f6') + +elif [ "$CARCH" = "x86_64" ]; then + source=(https://fah-web.stanford.edu/file-releases/public/release/fahclient/debian-testing-64bit/v7.2/fahclient_7.2.9-64bit-release.tar.bz2 foldingathome-v7.rc.d foldingathome-v7.service) + md5sums=('d8d93d3436e5ebb52876c73cf375c9ac' '50481b4e31edb24519e855d770955eda' 'fe7c7652443e72830cf6d641846c07f6') +fi + + +build() { + cd ${srcdir} + + install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHClient ${pkgdir}/opt/fah-v7/FAHClient + install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/FAHCoreWrapper ${pkgdir}/opt/fah-v7/FAHCoreWrapper + install -D -c -m755 ${srcdir}/foldingathome-v7.rc.d ${pkgdir}/etc/rc.d/foldingathome-v7 + install -D -c -m755 fahclient_${pkgver}-${_source_arch}-release/sample-config.xml ${pkgdir}/opt/fah-v7/sample-config.xml + + chmod 755 ${pkgdir}/opt/fah-v7/FAHClient + chmod 755 ${pkgdir}/opt/fah-v7/FAHCoreWrapper + install -D -m644 fahclient_${pkgver}-${_source_arch}-release/copyright ${pkgdir}/usr/share/licenses/${pkgname}/copyright + install -D -m644 fahclient_${pkgver}-${_source_arch}-release/README ${pkgdir}/opt/fah-v7/README + install -D -m644 fahclient_${pkgver}-${_source_arch}-release/ChangeLog ${pkgdir}/opt/fah-v7/ChangeLog + install -D -m644 ${srcdir}/foldingathome-v7.service ${pkgdir}/etc/systemd/system/foldingathome-v7.service +} + diff --git a/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.install b/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.install new file mode 100644 index 0000000..6899bba --- /dev/null +++ b/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.install @@ -0,0 +1,12 @@ +post_install() { + cat << 'EOM' + --> Please cd to /opt/fah-v7/ and execute ./FAHClient --configure + --> as root to configure your settings. If you are using systemd, + --> then run "systemctl enable foldingathome-v7.service" to enable + --> the folding service. If you are using initscripts, then add + --> "foldingathome-v7" to the list of daemons in /etc/rc.conf. + --> If you would like join the Arch Linux team, use team number + --> 45032. +EOM +} + diff --git a/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.rc.d b/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.rc.d new file mode 100644 index 0000000..91a395a --- /dev/null +++ b/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.rc.d @@ -0,0 +1,46 @@ +#!/bin/bash +#/etc/rc.d/foldingathome-v7 +# +# Starts the Folding@Home-v7 client in the background + +. /etc/rc.conf +. /etc/rc.d/functions + +DAEMON=foldingathome-v7 +#ARGS= + +#[ -r /etc/conf.d/$DAEMON ] && . /etc/conf.d/$DAEMON + +PID=$(pidof -x -o %PPID /opt/fah-v7/FAHClient) +case "${1}" in + start) + stat_busy "Starting $DAEMON" + [ -z "${PID}" ] && /opt/fah-v7/FAHClient --config /opt/fah-v7/config.xml --exec-directory=/opt/fah-v7 --data-directory=/opt/fah-v7 &> /dev/null & + add_daemon $DAEMON + if [ ! -z "$PID" -o $? -gt 0 ]; then + stat_fail + exit 1 + else + stat_done + exit 1 + fi + ;; + stop) + stat_busy "Stopping $DAEMON" + [ ! -z "${PID}" ] && kill ${PID} &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon $DAEMON + stat_done + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.service b/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.service new file mode 100644 index 0000000..4634582 --- /dev/null +++ b/abs/extra/foldingathome/foldingathome-v7/foldingathome-v7.service @@ -0,0 +1,12 @@ +[Unit] +Description=Folding@home V7 distributed computing client +After=network.target + +[Service] +Type=simple +WorkingDirectory=/opt/fah-v7 +ExecStart=/opt/fah-v7/FAHClient --config /opt/fah-v7/config.xml --exec-directory=/opt/fah-v7 --data-directory=/opt/fah-v7 + +[Install] +WantedBy=multi-user.target + diff --git a/abs/extra/foldingathome/foldingathome.install b/abs/extra/foldingathome/foldingathome.install deleted file mode 100644 index 20e48d1..0000000 --- a/abs/extra/foldingathome/foldingathome.install +++ /dev/null @@ -1,47 +0,0 @@ -post_install() { - # Check for an R5.5 fah installation. - r5_fah_dir=/myth/folding@home - r6_fah_dir=/myth/foldingathome/$(hostname) - if [ -d "$r5_fah_dir" ] ; then - if [ -d "$r6_fah_dir" ] ; then - cat << 'EOM' - --> You have an R5.5 and an R6 folding directory at the same time! - --> you should manually delete the R5.5 directory: - --> $r5_fah_dir - --> The directroy used on R6 will be: - --> $r6_fah_dir -EOM - else - mkdir -p /myth/foldingathome - mv $r5_fah_dir $r6_fah_dir - fi - else - if [ ! -d "$r6_fah_dir" ] ; then - mkdir -p $r6_fah_dir - cat > $r6_fah_dir/client.cfg << 'EOM' -[settings] -username=LinHES -team=50975 -passkey= -asknet=no -bigpackets=normal -machineid=1 - -[http] -active=no -host=localhost -port=8080 -EOM - fi - fi - rm -fr $r6_fah_dir/index.html - ln -s $r6_fah_dir/MyFolding.html $r6_fah_dir/index.html - ln -s $r6_fah_dir /data/srv/httpd/htdocs/foldingathome - /sbin/add_service.sh fah -} - -pre_remove() { - sv stop fah - /sbin/remove_service.sh fah -} - diff --git a/abs/extra/foldingathome/run b/abs/extra/foldingathome/run deleted file mode 100644 index cd4a072..0000000 --- a/abs/extra/foldingathome/run +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -export TERM=linux -. /etc/rc.conf -. /etc/rc.d/functions -stat_runit "Starting folding@home" - -FOLDING_DIR=/myth/foldingathome/$(hostname) - -if [ -d $FOLDING_DIR ] ; then - cd $FOLDING_DIR - # Ensure that the client configuration file has the same details as /etc/systemconfig - - source /etc/systemconfig - - if [ -n "$foldingusername" ] ; then - sed -i 's/username=.*$/username='$foldingusername'/g' $FOLDING_DIR/client.cfg - fi - - if [ -n "$foldingworksize" ] ; then - sed -i 's/bigpackets=.*$/bigpackets='$foldingworksize'/g' $FOLDING_DIR/client.cfg - fi - - # No need to direct output to a log file becase a log file - # will automatically be placed in $FOLDING_DIR - exec /usr/bin/fah6 &> /dev/null < /dev/null -fi -- cgit v0.12