blob: fefccf5cf2a2c8c13823054e6fcd558dd7daf986 [file] [log] [blame]
============
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