How to install folding at home (Folding@home FAHControl) on Ubuntu 19.10

I'm trying to install folding at home, and running into an issue with FAHControl package

$ sudo dpkg -i fahcontrol_7.5.1-1_all.deb
Selecting previously unselected package fahcontrol.
(Reading database ... 318495 files and directories currently installed.)
Preparing to unpack fahcontrol_7.5.1-1_all.deb ...
Unpacking fahcontrol (7.5.1-1) ...
dpkg: dependency problems prevent configuration of fahcontrol:
 fahcontrol depends on python-gnome2; however:
  Package python-gnome2 is not installed.

dpkg: error processing package fahcontrol (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.32.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu1) ...
Processing triggers for mime-support (3.63ubuntu1) ...
Errors were encountered while processing:
 fahcontrol

I don't see python-gnome2 available for eoan, so what is the best way to proceed?

I see in the installation guide that FAHControl isn't required, but would be nice to get it working.


Solution 1:

The work-around mentioned in the link above to sudo apt-mark manual python-gnome2 will not work for 19.10 because that package does not exist in the ubuntu repo :(

Forcing the deps with --force-depends does not work for the same reason, python-gnome2 does not exist.

This is worked on my Ubuntu 19.10 Desktop...YMMV

Step 1 (prerequisites)

Make sure you have these packages installed

sudo apt install python # installs python2.7
sudo apt install python-gtk2 # used by the GUI
sudo apt install equivs # improvement by @Chemary, Tx!

Step 2 (create control file)

Now we need to trick Ubuntu into thinking it has python-gnome2. To do this we will use "equivs". Lot's of good docs on it, but here's a brief rundown:

equivs-control python-gnome2

This creates a DEB control file called python-gnome2 (see example below) in the current directory that you will need to edit. Or you can use this one...feel free to put in your own name/email and stuff...leave everything else

Step 3 (edit control file)

Using any text editor change the created control file like this. It will be in your current directory (assuming your working from the terminal) and will be called python-gnome2

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: python-gnome2
Version: 1:42
Maintainer: Jack Ford <[email protected]>
Architecture: all
Description: A fake package to make FAHControl install

Step 4 (build a fake package)

Then build a fake package with the control file you just edited

equivs-build python-gnome2

This will create a DEB package in the current directory called python-gnome2_42_all.deb ...assuming your control file looks like the sample above.

Step 5 (install)

Now you can install your fake package and fahcontrol successfully and your Apt tree will not be broken. Run these commands from the current directory.

sudo dpkg -i ./python-gnome2_*_all.deb # improvement by @Chemary, Tx!
sudo dpkg -i ./fahcontrol_7.5.1-1_all.deb 

Note: If you downloaded fahcontrol_7.5.1-1_all.deb file to say your Downloads directory, then you would need to install it from there e.g.

sudo dpkg -i ~/Downloads/fahcontrol_7.5.1-1_all.deb

Step 6 (save the world!)

Then run it like this from the terminal

FAHControl

Or use from your application launcher. Mine looks like this

enter image description here

Hope that helps!

Solution 2:

There is one simple solution, which works kind of like the equivs-build from Michael, but is a bit more elegant I would say.

Instead of creating a fake dependency package, just change the dependencies of the original FAHControl package. You can do that with dpkg, which should be on every Debian/Ubuntu based distro. I tried it on my machine with MX Linux.

1. Unpack the binary part of the package:

dpkg-deb -x fahcontrol_7.5.1-1_all.deb temp-dir

2. Unpack the control part of the package:

dpkg-deb -e fahcontrol_7.5.1-1_all.deb temp-dir/DEBIAN

3. Edit control file

Open the file temp-dir/DEBIAN/controland change python-gnome2 to python-gtk2.

4. Put it into a new deb package:

dpkg-deb -b temp-dir fahcontrol_7.5.1-1_custom.deb

5. Install the package.

The nice thing of this way - besides working without installing additional tools - is, that you don't introduce an empty unused package into your system.

Solution 3:

This is their current workaround, it worked for me for a few hours then it stopped

FAHControl on Ubuntu 19 / Debian 10 and variants