= Development =

`crmsh` is a free software project, and is open to contributors. 
Patches, comments, documentation, testing and so on are
all very much welcome!

== Tools ==

++++
<ul class="nav">
<li><a href="https://savannah.nongnu.org/projects/crmsh/"><i class="fa fa-gears fa-3x fa-fw"></i> Project Page</a></li>
<li><a href="http://hg.savannah.nongnu.org/hgweb/crmsh/"><i class="fa fa-archive fa-3x fa-fw"></i> Source Repository</a></li>
<li><a href="http://lists.linux-ha.org/mailman/listinfo/linux-ha"><i class="fa fa-envelope fa-3x fa-fw"></i> Mailing List</a></li>
<li><a href="https://savannah.nongnu.org/bugs/?group=crmsh"><i class="fa fa-bug fa-3x fa-fw"></i> Issue Tracker</a></li>
<li><a href="irc://freenode.net/#linux-ha"><i class="fa fa-comments fa-3x fa-fw"></i> IRC: #linux-ha</a></li>
</ul>
++++

== Building crmsh ==

The source code for `crmsh` is kept in a 
http://mercurial.selenic.com[Mercurial] repository 
hosted at http://nongnu.org[nongnu]. Use the 
command-line tool +hg+ to get a working copy:

----
hg clone http://hg.savannah.nongnu.org/hgweb/crmsh/
----

`crmsh` needs the source code to `cluster-glue` and `pacemaker` when
installing. On openSUSE, these are packaged as `libglue-devel` and
`libpacemaker-devel`.

.Building
----
./autogen.sh
./configure
make
make install
----

=== Unit tests ===

The test suite uses nose. On most distributions, this can be installed
by installing the package +python-nose+, or using +pip+.

To run the unit test suite, go to the source code directory of `crmsh`
and call:

----
./test/unit-tests.sh
----

=== Regression tests ===

`crmsh` comes with a regression test suite. The regression tests need
to run after installation, on a system which has pacemaker
installed. To execute the tests, call:

----
/usr/share/crmsh/tests/regression.sh
cat crmtestout/regression.out
----
