|  | ============ | 
|  | Installation | 
|  | ============ | 
|  |  | 
|  | For Debian users (including Ubuntu) | 
|  | ----------------------------------- | 
|  | |reclass| has been `packaged for Debian`_. To use it, just install it with | 
|  | APT:: | 
|  |  | 
|  | $ apt-get install reclass | 
|  |  | 
|  | .. _packaged for Debian: http://packages.debian.org/search?keywords=reclass | 
|  |  | 
|  | Other distributions | 
|  | ------------------- | 
|  | Developers of other distributions are cordially invited to package |reclass| | 
|  | themselves and `ping me <mailto:reclass@pobox.madduck.net>`_ to have details | 
|  | included here. Or send a patch! | 
|  |  | 
|  | From source | 
|  | ----------- | 
|  | |reclass| is currently maintained `on Github | 
|  | <http://github.com/madduck/reclass>`_, so to obtain the source, run:: | 
|  |  | 
|  | $ git clone https://github.com/madduck/reclass.git | 
|  |  | 
|  | or:: | 
|  |  | 
|  | $ git clone ssh://git@github.com:madduck/reclass.git | 
|  |  | 
|  | Before you can use |reclass|, you need to install it into a place where Python | 
|  | can find it. Unless you installed a package from your distribution, the | 
|  | following step should install the package to /usr/local:: | 
|  |  | 
|  | $ python setup.py install | 
|  |  | 
|  | If you want to install to a different location, use --prefix like so:: | 
|  |  | 
|  | $ python setup.py install --prefix=/opt/local | 
|  |  | 
|  | .. todo:: | 
|  |  | 
|  | These will install the ``reclass-salt`` and ``reclass-ansible`` adapters to | 
|  | ``$prefix/bin``, but they should go to ``$prefix/share/reclass``. How can | 
|  | setup.py be told to do so? It would be better for consistency if this was | 
|  | done "upstream", rather than fixed by the distros. | 
|  |  | 
|  | Just make sure that the destination is in the Python module search path, which | 
|  | you can check like this:: | 
|  |  | 
|  | $ python -c 'import sys; print sys.path' | 
|  |  | 
|  | More options can be found in the output of | 
|  |  | 
|  | :: | 
|  |  | 
|  | $ python setup.py install --help | 
|  | $ python setup.py --help | 
|  | $ python setup.py --help-commands | 
|  | $ python setup.py --help [cmd] | 
|  |  | 
|  | If you just want to run |reclass| from source, e.g. because you are going to be | 
|  | making and testing changes, install it in "development mode":: | 
|  |  | 
|  | $ python setup.py develop | 
|  |  | 
|  | To uninstall (the rm call is necessary due to `a bug in setuptools`_):: | 
|  |  | 
|  | $ python setup.py develop --uninstall | 
|  | $ rm /usr/local/bin/reclass* | 
|  |  | 
|  | `Uninstallation currently isn't possible`_ for packages installed to | 
|  | /usr/local as per the above method, unfortunately. The following should do:: | 
|  |  | 
|  | $ rm -r /usr/local/lib/python*/dist-packages/reclass* /usr/local/bin/reclass* | 
|  |  | 
|  | .. _a bug in setuptools: http://bugs.debian.org/714960 | 
|  | .. _Uninstallation currently isn't possible: http://bugs.python.org/issue4673 | 
|  |  | 
|  | .. include:: substs.inc |