diff options
author | Greg Frost <gregfrost1@bigpond.com> | 2009-08-30 01:29:53 (GMT) |
---|---|---|
committer | Greg Frost <gregfrost1@bigpond.com> | 2009-08-30 01:29:53 (GMT) |
commit | a56552217f33d3ce4d72d65ca19056d45858a4ee (patch) | |
tree | 1dd5fe05379306ad4b0683b65e9da9db7c4a961f | |
parent | e179d165396f026fa6053c6c055d00d16b5eb141 (diff) | |
download | linhes_pkgbuild-a56552217f33d3ce4d72d65ca19056d45858a4ee.zip linhes_pkgbuild-a56552217f33d3ce4d72d65ca19056d45858a4ee.tar.gz linhes_pkgbuild-a56552217f33d3ce4d72d65ca19056d45858a4ee.tar.bz2 |
LinHES-config mythinstall foldingathome: initial inclusion of Folding@home
-rw-r--r-- | abs/core-testing/LinHES-config/PKGBUILD | 2 | ||||
-rwxr-xr-x | abs/core-testing/LinHES-config/mv_software.py | 6 | ||||
-rw-r--r-- | abs/core-testing/mythinstall/PKGBUILD | 3 | ||||
-rwxr-xr-x | abs/core-testing/mythinstall/installsettings.cpp | 72 | ||||
-rwxr-xr-x | abs/core-testing/mythinstall/installsettings.h | 3 | ||||
-rwxr-xr-x | abs/core-testing/mythinstall/xorgsettings.h | 3 | ||||
-rw-r--r-- | abs/extra-testing/community/foldingathome/PKGBUILD | 16 | ||||
-rw-r--r-- | abs/extra-testing/community/foldingathome/archpatch_foldingathome.diff | 110 | ||||
-rw-r--r--[-rwxr-xr-x] | abs/extra-testing/community/foldingathome/foldingathome.install | 56 |
9 files changed, 119 insertions, 152 deletions
diff --git a/abs/core-testing/LinHES-config/PKGBUILD b/abs/core-testing/LinHES-config/PKGBUILD index cbe41ab..de4e94b 100644 --- a/abs/core-testing/LinHES-config/PKGBUILD +++ b/abs/core-testing/LinHES-config/PKGBUILD @@ -1,6 +1,6 @@ pkgname=LinHES-config pkgver=2.0 -pkgrel=89 +pkgrel=90 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev ) pkgdesc="Install and configure your system" depends=(bc libstatgrab mysql-python expect curl dnsutils parted diff --git a/abs/core-testing/LinHES-config/mv_software.py b/abs/core-testing/LinHES-config/mv_software.py index 7421e08..0a96bb3 100755 --- a/abs/core-testing/LinHES-config/mv_software.py +++ b/abs/core-testing/LinHES-config/mv_software.py @@ -19,7 +19,7 @@ def setup_software(systemconfig, data_config): default_installed=("mythcontrols", "mythgallery", "mythmovies", "mythmusic", "mythsmolt", "mythvideo") - other_pkg=("miro", "xe", "romdb", "xine", "dvdcss", "webmin" , "fuppes", "mythappletrailers", "mythstream", "mythvodka") + other_pkg=("miro", "xe", "romdb", "xine", "dvdcss", "webmin" , "fuppes", "foldingathome", "mythappletrailers", "mythstream", "mythvodka") else: default_disabled = ("mythphone", "mytharchive", "mythbrowser", "mythnews", "mythgame", "mythflix", "mythweather", @@ -27,7 +27,7 @@ def setup_software(systemconfig, data_config): default_installed=("mythcontrols", "mythgallery", "mythmovies", "mythmusic", "mythsmolt", "mythvideo") - other_pkg=("miro", "xe", "romdb", "xine", "dvdcss", "webmin" , "fuppes") + other_pkg=("miro", "xe", "romdb", "xine", "dvdcss", "webmin" , "fuppes", "foldingathome") for pkg in default_disabled: pkgname=pkg+postfix @@ -56,4 +56,4 @@ def setup_software(systemconfig, data_config): mv_common.pacremove(pkg) except: logging.debug(" ERROR-- %s is not defined", pkg) - logging.info("__End Software\n ")
\ No newline at end of file + logging.info("__End Software\n ") diff --git a/abs/core-testing/mythinstall/PKGBUILD b/abs/core-testing/mythinstall/PKGBUILD index 75654f1..c614fac 100644 --- a/abs/core-testing/mythinstall/PKGBUILD +++ b/abs/core-testing/mythinstall/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Jams pkgname=mythinstall pkgver=1 -pkgrel=9 +pkgrel=10 pkgdesc="LinHES installer/systemconfig GUI." arch=i686 depends=() @@ -47,4 +47,3 @@ build() { ln -s MythVantage mythinstall cd - } - diff --git a/abs/core-testing/mythinstall/installsettings.cpp b/abs/core-testing/mythinstall/installsettings.cpp index 7315464..3942460 100755 --- a/abs/core-testing/mythinstall/installsettings.cpp +++ b/abs/core-testing/mythinstall/installsettings.cpp @@ -1277,6 +1277,62 @@ static HostCheckBox *Hostfuppes() return gc; }; +static HostCheckBox *Hostfoldingathome() +{ + HostCheckBox *gc = new HostCheckBox("Hostfoldingathome"); + gc->setLabel(QObject::tr("Folding@home")); + gc->setValue(false); + gc->setHelpText(QObject::tr("A distributed computing project which studies protein folding, misfolding, aggregation, and related diseases.")); + return gc; +}; + +static HostComboBox *Hostfoldingusername() +{ + // If there is an old R5.5 style folding directory /myth/folding@home, attempt + // to retrieve the old username. + + FILE *username_pipe; + username_pipe = + popen ( + "grep username= /myth/folding@home/client.cfg 2> /dev/null | " + "sed 's/username=//g'", "r"); + + if (username_pipe) + { + char username[200]; + if (fgets (username, sizeof (username), username_pipe)) + { + char *new_line; + username[sizeof(username)-1]=0; + if ((new_line = strchr (username, '\n'))) + new_line[0] = 0; + + cout << "found old username " << username << endl; + + gContext->SetSetting("Hostfoldingusername", username); + gContext->SaveSetting("Hostfoldingusername", username); + } + pclose (username_pipe); + } + + HostComboBox *gc = new HostComboBox("Hostfoldingusername",true); + gc->setLabel(QObject::tr("Folding Username")); + gc->setValue(""); + + gc->setHelpText(QObject::tr("The username associated to the work-units you return.")); + return gc; +}; + +static HostComboBox *Hostfoldingworksize() +{ + HostComboBox *gc = new HostComboBox("Hostfoldingworksize"); + gc->setLabel(QObject::tr("Work Packet Size")); + gc->addSelection("Big", "big"); + gc->addSelection("Normal", "normal"); + gc->addSelection("Small", "small"); + gc->setHelpText(QObject::tr("Acceptable size of work assignment and work result packets (bigger units may have large memory demands).")); + return gc; +}; static HostCheckBox *HostXscreensaver() { @@ -3880,6 +3936,9 @@ void writesettings () hostparm.ThisHostXine = gContext->GetSetting("HostXine"); hostparm.ThisHostwebmin = gContext->GetSetting("Hostwebmin"); hostparm.ThisHostfuppes = gContext->GetSetting("Hostfuppes"); + hostparm.ThisHostfoldingathome = gContext->GetSetting("Hostfoldingathome"); + hostparm.ThisHostfoldingusername = gContext->GetSetting("Hostfoldingusername"); + hostparm.ThisHostfoldingworksize = gContext->GetSetting("Hostfoldingworksize"); hostparm.ThisHostDDnslogin = gContext->GetSetting("HostDDnslogin"); hostparm.ThisHostDDnspassword = gContext->GetSetting("HostDDnspassword"); hostparm.ThisHostDDnshostname = gContext->GetSetting("HostDDnshostname"); @@ -4124,7 +4183,9 @@ void writesettings () myfile << "xine=\"" + hostparm.ThisHostXine + "\"\n"; myfile << "webmin=\"" + hostparm.ThisHostwebmin + "\"\n"; myfile << "fuppes=\"" + hostparm.ThisHostfuppes + "\"\n"; - + myfile << "foldingathome=\"" + hostparm.ThisHostfoldingathome + "\"\n"; + myfile << "foldingusername=\"" + hostparm.ThisHostfoldingusername + "\"\n"; + myfile << "foldingworksize=\"" + hostparm.ThisHostfoldingworksize + "\"\n"; @@ -4378,6 +4439,10 @@ MythInstallSettings::MythInstallSettings() ConfigurationGroup *GridShowPlugin5 = new GridConfigurationGroup(2); GridShowPlugin5->addChild(Hostfuppes()); + ConfigurationGroup *GridShowPlugin6 = new VerticalConfigurationGroup(true,true); + GridShowPlugin6->addChild(Hostfoldingathome()); + GridShowPlugin6->addChild(Hostfoldingusername()); + GridShowPlugin6->addChild(Hostfoldingworksize()); ConfigurationGroup *Mythvideoplugin = new HorizontalConfigurationGroup(); Mythvideoplugin->addChild(Hostpluginmythvideo()); @@ -4395,6 +4460,7 @@ MythInstallSettings::MythInstallSettings() addChild(GridShowPlugin3); addChild(GridShowPlugin4); addChild(GridShowPlugin5); + addChild(GridShowPlugin6); } } if ( displayuser ) @@ -4475,7 +4541,3 @@ MythInstallSettings::MythInstallSettings() }; - - - - diff --git a/abs/core-testing/mythinstall/installsettings.h b/abs/core-testing/mythinstall/installsettings.h index 55203f0..c140f3d 100755 --- a/abs/core-testing/mythinstall/installsettings.h +++ b/abs/core-testing/mythinstall/installsettings.h @@ -455,6 +455,9 @@ struct HostParms QString ThisHostXine; QString ThisHostwebmin; QString ThisHostfuppes; + QString ThisHostfoldingathome; + QString ThisHostfoldingusername; + QString ThisHostfoldingworksize; QString ThisHostDDnslogin; QString ThisHostDDnspassword; diff --git a/abs/core-testing/mythinstall/xorgsettings.h b/abs/core-testing/mythinstall/xorgsettings.h index 4a4ed34..46c4952 100755 --- a/abs/core-testing/mythinstall/xorgsettings.h +++ b/abs/core-testing/mythinstall/xorgsettings.h @@ -152,7 +152,7 @@ static HostComboBox *HostXres() if (strcmp (previous_mode, separator) == 0) continue; - strncpy (previous_mode, separator, 200); + strncpy (previous_mode, separator, sizeof(previous_mode)); gc->addSelection(separator, line_in); found_modes_in_xorg_log = TRUE; @@ -161,6 +161,7 @@ static HostComboBox *HostXres() defaults_added[def]=1; } } + pclose (modelines); } } diff --git a/abs/extra-testing/community/foldingathome/PKGBUILD b/abs/extra-testing/community/foldingathome/PKGBUILD index 411702c..ffd256e 100644 --- a/abs/extra-testing/community/foldingathome/PKGBUILD +++ b/abs/extra-testing/community/foldingathome/PKGBUILD @@ -4,7 +4,7 @@ pkgname=foldingathome pkgver=6.02 -pkgrel=1 +pkgrel=2 pkgdesc="Folding@Home is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases." arch=('i686') url="http://folding.stanford.edu/" @@ -13,16 +13,14 @@ depends=('bash') backup=('etc/conf.d/foldingathome') install=foldingathome.install source=(http://www.stanford.edu/group/pandegroup/folding/release/FAH$pkgver-Linux.tgz - archpatch_foldingathome.diff) + run) md5sums=('112b3d66909050f1bb990993a1464cb9' - '02f4ca64d552b442d484c51fa5f4228a') + '7e1b3f2a6768b4fbeb415922a1a9c2e6') build() { cd $startdir/src/ - patch -p1 <archpatch_foldingathome.diff - install -D -c -m755 fah6 $startdir/pkg/opt/fah/fah6 || return 1 - install -D -c -m755 $startdir/src/foldingathome.rc.d $startdir/pkg/etc/rc.d/foldingathome || return 1 - install -D -c -m644 $startdir/src/foldingathome.conf.d $startdir/pkg/etc/conf.d/foldingathome || return 1 - install -D -m644 foldingathome.license $startdir/pkg/usr/share/licenses/$pkgname/COPYING - + + # 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 } diff --git a/abs/extra-testing/community/foldingathome/archpatch_foldingathome.diff b/abs/extra-testing/community/foldingathome/archpatch_foldingathome.diff deleted file mode 100644 index 73410f1..0000000 --- a/abs/extra-testing/community/foldingathome/archpatch_foldingathome.diff +++ /dev/null @@ -1,110 +0,0 @@ -diff -Naur blank/foldingathome.conf.d 6.02-1/foldingathome.conf.d ---- blank/foldingathome.conf.d 1969-12-31 16:00:00.000000000 -0800 -+++ 6.02-1/foldingathome.conf.d 2008-08-21 16:59:05.000000000 -0700 -@@ -0,0 +1,12 @@ -+# -+# Optional user settings for foldingathome daemon -+# -+# If you prefer not to run fah as root then you can identifer a current or -+# specially created user here. -+ -+FAH_USER="" -+ -+# If you wish to associate this user with a specific group you can enter the -+# group name here. If left blank the default is "users". -+ -+FAH_GRP="" -diff -Naur blank/foldingathome.license 6.02-1/foldingathome.license ---- blank/foldingathome.license 1969-12-31 16:00:00.000000000 -0800 -+++ 6.02-1/foldingathome.license 2008-08-21 16:59:27.000000000 -0700 -@@ -0,0 +1,26 @@ -+Folding@Home distributed computing client -+Copyright 2001-2007. Stanford University. All Rights Reserved. -+ -+License Agreement: -+ -+Please carefully read the following terms and conditions before using this software. Use of this software -+indicates acceptance of this license agreement and disclaimer of all warranties. -+ -+Disclaimer of Warranty: -+ -+IN NO EVENT SHALL STANFORD UNIVERSITY BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, -+OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS -+DOCUMENTATION, EVEN IF STANFORD UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+STANFORD UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED -+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE AND ACCOMPANYING -+DOCUMENTATION PROVIDED HEREUNDER IS PROVIDED "AS IS". Folding@home HAS NO OBLIGATION TO PROVIDE -+MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -+ -+Restrictions: -+ -+You may use this software on a computer system only if you own the system or have the permission of the owner. -+You may not alter the software or associated data files. -+You may only use unmodified versions of Folding@home obtained through authorized distributors to connect -+to the Folding@Home servers. Use of other software to connect to the Folding@home servers is strictly prohibited. -+Distribution of this software is prohibited. It may only be obtained by downloading from Stanford's web site -+(http://folding.stanford.edu and pages linked therein) or the web site of one of our commercial partners (Sony, NVIDIA, and ATI). -diff -Naur blank/foldingathome.rc.d 6.02-1/foldingathome.rc.d ---- blank/foldingathome.rc.d 1969-12-31 16:00:00.000000000 -0800 -+++ 6.02-1/foldingathome.rc.d 2008-08-21 17:00:48.000000000 -0700 -@@ -0,0 +1,60 @@ -+#!/bin/bash -+#/etc/rc.d/foldingathome -+# -+# Starts the Folding@Home client in the background -+ -+. /etc/rc.conf -+. /etc/rc.d/functions -+. /etc/conf.d/foldingathome -+ -+PID=`pidof -o %PPID /opt/fah/fah6` -+case "$1" in -+ start) -+ stat_busy "Starting Folding@Home" -+ if [ -z "$PID" ]; then -+ if [ ! -z "$FAH_USER" ] ; then -+ if [ ! -d "/opt/fah/$FAH_USER" ] ; then -+ mkdir /opt/fah/$FAH_USER -+ chown $FAH_USER /opt/fah/$FAH_USER -+ if [ ! -z "$FAH_GRP" ] ; then -+ chgrp $FAH_GRP /opt/fah/$FAH_USER -+ else -+ chgrp users /opt/fah/$FAH_USER -+ fi -+ fi -+ cd /opt/fah/$FAH_USER -+ su $FAH_USER -c "nice --adjustment 19 /opt/fah/fah6 -verbosity 9 > /opt/fah/$FAH_USER/myfah.log" & -+ else -+ cd /opt/fah -+ nice --adjustment 19 /opt/fah/fah6 -verbosity 9 > /opt/fah/myfah.log & -+ fi -+ fi -+ if [ ! -z "$PID" -o $? -gt 0 ]; then -+ stat_fail -+ else -+ add_daemon foldingathome -+ stat_done -+ fi -+ ;; -+ -+ stop) -+ stat_busy "Stopping Folding@Home" -+ [ ! -z "$PID" ]&& kill $PID &> /dev/null -+ if [ $? -gt 0 ]; then -+ stat_fail -+ else -+ rm_daemon foldingathome -+ stat_done -+ fi -+ ;; -+ -+ restart) -+ $0 stop -+ sleep 1 -+ $0 start -+ ;; -+ -+ *) -+ echo $"Usage: $0 {start|stop|restart}" -+esac -+ diff --git a/abs/extra-testing/community/foldingathome/foldingathome.install b/abs/extra-testing/community/foldingathome/foldingathome.install index 8eedb6c..3ecc7c9 100755..100644 --- a/abs/extra-testing/community/foldingathome/foldingathome.install +++ b/abs/extra-testing/community/foldingathome/foldingathome.install @@ -1,30 +1,44 @@ -# arg 1: the new package version post_install() { - cat << 'EOM' - --> Please cd to /opt/fah/ and execute ./fah6 -smp -configonly - --> to configure your settings. Then add "foldingathome" to the list - --> of daemons in /etc/rc.conf. If you would like to join the Arch - --> Linux team, use team number 45032. To check current progress, - --> point your browser to file://opt/fah/MyFolding.html + # Check for an R5.5 fah installation. + r5_fah_dir=/myth/folding@home + r6_fah_dir=/myth/folding_$(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 +EOM + else + mv $r5_fah_dir $r6_fah_dir + fi + else + if [ ! -d "$r6_fah_dir" ] ; then + mkdir $r6_fah_dir + cat > $r6_fah_dir/client.cfg << 'EOM' +[settings] +username=LinHES +team=50975 +passkey= +asknet=no +bigpackets=normal +machineid=1 - --> It is strongly recommended that you run foldingathome as a user other - --> than root. You can identify a user in /etc/conf.d/foldingathome. - --> A directory called /opt/fah/$FAH_USER will be created." +[http] +active=no +host=localhost +port=8080 EOM -} + fi + fi -# arg 1: the new package version -# arg 2: the old package version -post_upgrade() { - post_install $1 + /sbin/add_service.sh fah + sleep 5 + /sbin/sv -v start fah } -# arg 1: the old package version pre_remove() { - /bin/true + /sbin/sv stop fah + /sbin/remove_service.sh fah } -op=$1 -shift - -$op $* |