Skip to content

Instantly share code, notes, and snippets.

@yacn
Created June 24, 2018 15:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yacn/2a48cb7e095ebe2ae96698c0f0e2983f to your computer and use it in GitHub Desktop.
Save yacn/2a48cb7e095ebe2ae96698c0f0e2983f to your computer and use it in GitHub Desktop.
Folding@home client, controller, viewer solus packaging
# file: client/actions.py
#!/usr/bin/python
# Created For Solus Operating System
from pisi.actionsapi import get, pisitools, shelltools
NoStrip = ["/usr"]
IgnoreAutodep = True
def setup():
shelltools.system("pwd")
shelltools.system("ar xf fahclient_%s_amd64.deb" % (get.srcVERSION()))
shelltools.system("tar xvf data.tar.xz")
def install():
pisitools.insinto("/", "usr")
# file: client/files/fahclient.service
[Unit]
Description=FAHClient downloads/runs work units
After=network.target
[Service]
User=fahclient
Type=simple
Environment=CONFIG=/etc/fahclient/config.xml
ExecStart=/usr/bin/FAHClient
[Install]
WantedBy=multi-user.target
<!-- file: client/files/sample-config.xml -->
<config>
<!--
This is a sample XML configuration file for the Folding@home
console client. This configuration file format is explained
in detail in the Client User's Guide.
Copy this file to 'config.xml' and edit.
To set your user name, team and passkey just edit the text
in quotes below.
-->
<!-- User Information -->
<user value="anonymous"/> <!-- Enter your user name here -->
<team value="0"/> <!-- Your team number -->
<passkey value=""/> <!-- 32 hexadecimal characters if provided -->
<power value="light"/>
<gpu value="false"/> <!-- If true, attempt to autoconfigure GPUs -->
<fold-anon value="false"/>
<!-- Folding Slots
No folding slot configuration is necessary. The client will
automaticlaly choose a good configuration for you. However, here
are some examples:
<slot id="0" type="CPU"/>
or
<slot id="0" type="CPU"/>
<slot id="1" type="GPU"/>
All slots in a configuration MUST have unique ids.
-->
<!-- Granting Remote FAHControl Access
To grant remote access to FAHControl and the remote command server add
the following:
<allow>127.0.0.1 x.x.x.x</allow>
<password>PASS</password>
Where x.x.x.x is the IP address of the computer which should be granted
remote access and PASS is you choose to further secure the connection.
-->
<!-- Granting Remote Web Access
If you would like to grant remote Web access then you need these two
configuration lines:
<allow>127.0.0.1 x.x.x.x</allow>
<web-allow>127.0.0.1 x.x.x.x</web-allow>
Where x.x.x.x is the IP address of the computer which should be granted
remote access. You may also need to open port 7396 on your firewall.
You can then access the Web interface remotely by going to this address:
http://y.y.y.y:7396/
Where y.y.y.y is the IP address of this computer.
-->
</config>
<!-- file: client/pspec.xml -->
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://solus-project.com/standard/pisi-spec.dtd">
<PISI>
<Source>
<Name>fahclient</Name>
<Packager>
<Name>Automated Packaging</Name>
<Email>noreply@solus-project.com</Email>
</Packager>
<Summary>Folding@Home Console Client</Summary>
<Description>Folding@home is a distributed computing project using volunteered computer resources.
This package contains the console client which is used to download
and run Folding@home work units. To monitor and control the console
client it is best to use either Web Control via your browser, or the
Graphical User Interface called FAHControl, provided in a separate package.</Description>
<License>Custom - https://foldingathome.org/support/faq/opensource/</License>
<Archive sha1sum="999acff211c18aa44676e1c3560857ae5e1ed591" type="binary">https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.5/fahclient_7.5.1_amd64.deb</Archive>
<BuildDependencies>
<Dependency>bzip2</Dependency>
<Dependency>zlib</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>fahclient</Name>
<Files>
<Path fileType="*">/</Path>
</Files>
<AdditionalFiles>
<AdditionalFile owner="root" permission="0644" target="/etc/fahclient/config.xml">sample-config.xml</AdditionalFile>
<AdditionalFile owner="root" permission="0644" target="/usr/lib64/systemd/system/fahclient.service">fahclient.service</AdditionalFile>
</AdditionalFiles>
</Package>
<History>
<Update release="1">
<Date>06-24-2018</Date>
<Version>7.5.1</Version>
<Comment>Add to repo</Comment>
<Name>Isaac Boehman</Name>
<Email>isaac@boehman.me</Email>
</Update>
</History>
</PISI>
# file: control/actions.py
#!/usr/bin/python
# Created For Solus Operating System
from pisi.actionsapi import get, pisitools, shelltools
NoStrip = ["/usr"]
IgnoreAutodep = True
def setup():
shelltools.system("pwd")
shelltools.system("ar xf fahcontrol_%s-1_all.deb" % (get.srcVERSION()))
shelltools.system("tar xvf data.tar.xz")
def install():
pisitools.insinto("/usr", "usr/bin")
pisitools.insinto("/usr/lib/python2.7/site-packages",
"usr/lib/python2.7/dist-packages/fah")
pisitools.insinto("/usr/lib/python2.7/site-packages",
"usr/lib/python2.7/dist-packages/FAHControl-0.0.0.egg-info")
pisitools.insinto("/usr", "usr/share")
<!-- file: control/pspec.xml -->
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://solus-project.com/standard/pisi-spec.dtd">
<PISI>
<Source>
<Name>fahcontrol</Name>
<Packager>
<Name>Automated Packaging</Name>
<Email>noreply@solus-project.com</Email>
</Packager>
<Summary>Folding@Home Client Control</Summary>
<Description>Folding@home is a distributed computing project using volunteered computer resources.
This package contains FAHControl, a graphical monitor and control
utility for the Folding@home client. It gives an overview of running
projects on the local and optional (remote) machines. Starting,
stopping and pausing of the running projects is also possible, as is
viewing the logs. It provides an Advanced view with
additional information and settings for enthusiats and gurus.</Description>
<License>Custom - https://foldingathome.org/support/faq/opensource/</License>
<Archive sha1sum="d89a51fe224633d2c651694e1fd5c566d2a2572e" type="binary">https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v7.5/fahcontrol_7.5.1-1_all.deb</Archive>
</Source>
<BuildDependencies>
<Dependency>gnome-python</Dependency>
</BuildDependencies>
<Package>
<Name>fahcontrol</Name>
<Files>
<Path fileType="*">/</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>06-24-2018</Date>
<Version>7.5.1</Version>
<Comment>Add to repo</Comment>
<Name>Isaac Boehman</Name>
<Email>isaac@boehman.me</Email>
</Update>
</History>
</PISI>
#!/bin/bash
for component in "client" "control" "viewer"; do
sudo eopkg bi --ignore-safety $component/fah${component}*.eopkg
sudo eopkg it --ignore-safety $component/fah${component}*.eopkg
done
#!/bin/bash
for component in "client" "control" "viewer"; do
sudo eopkg remove fah$component
done
# file: viewer/actions.py
#!/usr/bin/python
# Created For Solus Operating System
from pisi.actionsapi import get, pisitools, shelltools
NoStrip = ["/usr"]
IgnoreAutodep = True
def setup():
shelltools.system("pwd")
shelltools.system("ar xf fahviewer_%s_amd64.deb" % (get.srcVERSION()))
shelltools.system("tar xvf data.tar.xz")
def install():
pisitools.insinto("/", "usr")
<!-- file: viewer/pspec.xml -->
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://solus-project.com/standard/pisi-spec.dtd">
<PISI>
<Source>
<Name>fahviewer</Name>
<Packager>
<Name>Automated Packaging</Name>
<Email>noreply@solus-project.com</Email>
</Packager>
<Summary>Folding@home 3D Simulation Viewer</Summary>
<Description>Folding@home is a distributed computing project using volunteered computer resources.
This package contains the 3D simulation viewer. It can connect to
local or remote FAHClients and visualize the running simulations.</Description>
<License>Custom - https://foldingathome.org/support/faq/opensource/</License>
<Archive sha1sum="b0581a312d585d0cffe4e2edfa71503dea3f586c" type="binary">https://download.foldingathome.org/releases/public/release/fahviewer/debian-stable-64bit/v7.5/fahviewer_7.5.1_amd64.deb</Archive>
</Source>
<BuildDependencies>
<Dependency>bzip2</Dependency>
<Dependency>expat</Dependency>
<Dependency>freeglut</Dependency>
<Dependency>libglu</Dependency>
<Dependency>zlib</Dependency>
</BuildDependencies>
<Package>
<Name>fahviewer</Name>
<Files>
<Path fileType="*">/</Path>
</Files>
</Package>
<History>
<Update release="1">
<Date>06-24-2018</Date>
<Version>7.5.1</Version>
<Comment>Add to repo</Comment>
<Name>Isaac Boehman</Name>
<Email>isaac@boehman.me</Email>
</Update>
</History>
</PISI>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment