== Introduction == h-client, a client for an h-source server (such as https://h-node.org) == Requirements == * h-client can run on any GNU/Linux system. However, the h-node.org server accepts submissions only for the following GNU/Linux distributions: - BLAG - Debian GNU/Linux - Dragora GNU/Linux-libre - Freenix - gNewSense - Guix System - Hyperbola GNU/Linux-libre - Musix GNU+Linux - Parabola GNU/Linux-libre - Pureos - Trisquel - Ututo S * linux-libre or the debian kernel * pciutils (for lspci) * usbutils (for lsusb) * python3 * python-pycurl (aka: python3-pycurl) * python-gobject (aka: python3-gi) For development, the following tools are used: * python-distribute (python-setuptools) * python-pyflakes (TODO: adapt for python3 equivalent) * python-pylint (TODO: adapt for python3 equivalent) * python-pep8 (TODO: adapt for python3 equivalent) * python-coverage (TODO: adapt for python3 equivalent) To make translation files or to use translations when installing from SVN GNU Make and Gettext are also needed. == Installation == Extract the tarball inside a folder of your filesystem. Move to the just extracted folder. Optionally run the following command to prepare translation files: $ make Type the following command to install the package: $ python ./setup.py install --user --optimize=1 $ sudo make prefix=/usr install-data Instead of the --user option installing to ~/.local, you may use --prefix to specify different path prefix to use. == Use the client == Type the following command: $ ~/.local/bin/h-client or add the directory to PATH (e.g. in your ~/.bashrc) $ export PATH=~/.local/bin:$PATH" to ) , then you can simply type: `h-client`. == Unit tests == To run the unit tests of h-client, type the following command: $ python ./setup.py test or, to also get HTML report of which statements were run: $ make check To run a single test: $ python -m unittest tests_hclient.<TEST_MODULE>.<TEST_CLASS>.<TEST_METHOD> eg: $ python -m unittest tests_hclient.machine.CreatingDevicesTestCase.test_dict == Translating == To add a translation, add its language code xx_YY (as used in the LANG environment variable) to the L10N variable in the Makefile. Run "make" and edit po/xx_YY.po to include translations. Run "make" again to use the translation for running the program or to update it with texts changed in the program. == License == h-client, a client for an h-source server (such as https://h-node.com) Copyright (C) 2011 Antonio Gallo h-client is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. h-client is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with h-client. If not, see <http://www.gnu.org/licenses/>.