Package: invenio-fabric
Invenio Fabric==============Fabric library tasks for working with InvenioRequirements:* Fabric 1.4+: http://docs.fabfile.org* Virtualenv: http://pypi.python.org/pypi/virtualenv* Virtualenvwrapper: http://pypi.python.org/pypi/virtualenvwrapperOptional:* Pythonbrew: https://github.com/utahta/pythonbrew*Important:* Invenio Fabric requires you to already have system dependencies installed (e.g. OpenOffice etc). Please see http://invenio-software.org/wiki/Installation or e.g. https://github.com/lnielsen-cern/invenio-vagrant/blob/master/provision-ubuntu.sh for how to install system dependencies on your system.*Python 2.4:* If you are planning to use Pythonbrew with Python 2.4, you must install virtualenv 1.7.2 (or lower), as virtualenv 1.8 dropped support for Python 2.4.Requirements============* Install VirtualenvRun ``pip install virtualenv`` or install via your favourite package manager (e.g. ``sudo aptitude install python-virtualenv``).* Install Virtualenvwrapper```pip install virtualenvwrapperexport WORKON_HOME=~/envsmkdir -p $WORKON_HOMEsource /usr/local/bin/virtualenvwrapper.sh```Add line 2 and 4 to your shell startup file. Also note that depending on your system ``virtualenvwrapper.sh`` might be installed at a different location than /usr/local/bin. For more elaborate documentation, see http://virtualenvwrapper.readthedocs.org/en/latest/install.html* Install Pythonbrew (optional)Pythonbrew is optional, but it allows your to install several different python versions without messing up your system Python. To install Pythonbrew run:```curl -kL http://xrl.us/pythonbrewinstall | bash```and add following to your shell startup file.```[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc```For more elaborate installation instructions please see https://github.com/utahta/pythonbrew. You should now be able to run e.g. ``pythonbrew list`` or to install Python 2.4.6 run ``pythonbrew install 2.4.6``.Installation============Create a new virtualenv (optional):```mkvirtualenv fabenvworkon fabenv```Then install invenio-fabric via PyPI:```pip install invenio-fabricexport CFG_SRCDIR=~/private/src```Add the last line to your shell startup file.*Important:* ``CFG_SRCDIR`` should not point to your Invenio source directory, but to one level above. Also, your Invenio source code directory should be named ``invenio``. See directory layout below.```$ export CFG_SRCDIR=~/src$ cd CFG_SRCDIR$ ls -1invenio$ cd CFG_SRCDIR/invenio/$ ls -1ABOUT-NLSaclocal.m4AUTHORSautom4te.cacheChangeLogconfigconfig.guess...```Note, you do not need to specify ``CFG_SRCDIR``, in which case the Fabric task will checkout a fresh copy from the GIT repository.Usage example=============To install Invenio master branch```workon fabenvcdvirtualenvcd share/atlantis/fab loc bootstrapfab loc invenio_create_demositeworkon atlantiscdvirtualenvserve```or alternatively to bootstrap Invenio next:```fab loc:py=27,ref=next bootstrapfab loc:py=27,ref=next devserver_install_flaskworkon atlantis27nextrundevserver.py```fabfile.py==========Invenio Fabric is only a library of Fabric tasks, so for most projects you need to create yourown ``fabfile.py``. For a complete example for Atlantis Institute of Fictive Scienceplease see ``examples/atlantis/``.Following is an example of basic ``fabfile.py`` for Atlantis.```from fabric.api import taskfrom inveniofab.api import *import os@taskdef loc(activate=True, py=None, ref=None, **kwargs):""" Local environment (example: loc:py=24,ref=maint-1.1) """if 'name' not in kwargs:kwargs['name'] = env_make_name('atlantis', py or '', ref or '')env = env_create('loc', activate=activate, python=py, **kwargs)return env_override(env, 'invenio', ref)```With that you have the following commands available:```apache_restart           Restart Apacheapache_start             Restart Apacheapache_stop              Restart Apachebootstrap                Bootstrap Invenio installationdevserver_conf           Upload and update Invenio configurationdevserver_install_flask  Install a Flask devserverdrop                     Remove installationdump                     Archive installationinstall                  Install changesinvenio_conf             Upload and update Invenio configurationinvenio_create_demosite  Create Invenio demo siteinvenio_createdb         Create Invenio tablesinvenio_upgrade          Upgrade Invenioload                     Load archived installationloc                      Local environment (example: loc:py=24,ref=maint-1.1)mysql_copy               Copy database from latest available dump.mysql_createdb           Create database and usermysql_dropdb             Drop database and usermysql_dump               Dump database to filemysql_load               Load MySQL dump filerepo_configure           Configure repositoryrepo_install             Run configure and makerepo_make                Run make in repositoryrepo_prepare             Prepare source code after fresh checkoutrepo_setup               Clone repositoryrepo_update              Pull repository updatestest_clean               Clean Invenio logs and temporary filestest_dump                Dump a test environmenttest_load                Load test environmenttest_reset_admin         Reset admin passwordvenv_create              Create virtualenv environmentvenv_drop                Drop virtualenv environmentvenv_dump                Archive a virtualenvvenv_load                Load an archived virtualenvvenv_pyuno_install       Install Python OpenOffice bindingvenv_requirements        Install Python requirements```Command Reference=================Many commands takes some parameters. For now, please look in the source code, until I get time to document them.