Last active
August 29, 2015 14:16
-
-
Save egabancho/5b8125328c5898c0a0c6 to your computer and use it in GitHub Desktop.
WIP: Install Invenio master using virtualenv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| set -e | |
| export WORKON_HOME=~/Work/envs | |
| source /usr/local/bin/virtualenvwrapper.sh | |
| #Create virtualenv and workdir | |
| mkvirtualenv $1 | |
| cdvirtualenv | |
| mkdir src; cd src | |
| git-new-workdir ~/Work/src/invenio invenio master | |
| #Clone Tibor's dev scripts | |
| cdvirtualenv bin/ | |
| git clone https://github.com/tiborsimko/invenio-devscripts.git | |
| ln -s ./invenio-devscripts/* . | |
| unlink README.org | |
| #Update activate script | |
| cdvirtualenv bin/ | |
| cat <<EOT >> activate | |
| MYSQL_ADMIN_USER=root | |
| MYSQL_ADMIN_PASS= | |
| export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache | |
| export PYVER=`python -c "import sys;print '%s.%s' % (sys.version_info[0],sys.version_info[1])"` | |
| export CFG_INVENIO_SRCDIR=$HOME/Work/src/invenio | |
| export CFG_INVENIO_PREFIX=$HOME/Work/envs/master | |
| export CFG_INVENIO_USER=`whoami` | |
| export [email protected] | |
| export CFG_INVENIO_HOSTNAME=`hostname -s` | |
| export CFG_INVENIO_DOMAINNAME=`domainname` | |
| export CFG_INVENIO_PORT_HTTP=4000 | |
| export CFG_INVENIO_PORT_HTTPS=4000 | |
| # Database | |
| export CFG_INVENIO_DATABASE_HOST=localhost | |
| export CFG_INVENIO_DATABASE_NAME=$1 | |
| export CFG_INVENIO_DATABASE_USER=$1 | |
| export CFG_INVENIO_DATABASE_PASS="my123p\$ss" | |
| # Debugging mail server | |
| export CFG_MISCUTIL_SMTP_HOST=127.0.0.1 | |
| export CFG_MISCUTIL_SMTP_PORT=1025 | |
| #Odd stuff from libxml2 | |
| export C_INCLUDE_PATH=/usr/local/Cellar/libxml2/2.9.2/include/libxml2:$C_INCLUDE_PATH | |
| alias mi="${CFG_INVENIO_PREFIX}/bin/invenio-make-install" | |
| alias kw="${CFG_INVENIO_PREFIX}/bin/invenio-check-kwalitee --check-some" | |
| EOT | |
| workon master | |
| cdvirtualenv src/invenio/ | |
| git pull | |
| pip install -r requirements.txt | |
| pip install invenio-devserver honcho | |
| mysql -u $MYSQL_ADMIN_USER --password=$MYSQL_ADMIN_PASS -e "DROP DATABASE IF EXISTS $CFG_INVENIO_DATABASE_NAME" | |
| mysql -u $MYSQL_ADMIN_USER --password=$MYSQL_ADMIN_PASS -h $CFG_INVENIO_DATABASE_HOST -e "CREATE DATABASE IF NOT EXISTS $CFG_INVENIO_DATABASE_NAME DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" | |
| mysql -u $MYSQL_ADMIN_USER --password=$MYSQL_ADMIN_PASS -h $CFG_INVENIO_DATABASE_HOST -e "GRANT ALL PRIVILEGES ON $CFG_INVENIO_DATABASE_NAME.* TO $CFG_INVENIO_DATABASE_USER@localhost IDENTIFIED BY '$CFG_INVENIO_DATABASE_PASS'" | |
| mysqladmin -u $MYSQL_ADMIN_USER --password=$MYSQL_ADMIN_PASS flush-privileges | |
| mysql.server restart | |
| # If warning: macro 'AM_GNU_GETTEXT' not found in library appears | |
| # In Mac OS X be sure to run brew link gettext --force | |
| brew link gettext --force | |
| aclocal && automake --add-missing && autoconf | |
| ./configure --prefix=$CFG_INVENIO_PREFIX --with-python=$CFG_INVENIO_PREFIX/bin/python | |
| ln -s $CFG_INVENIO_PREFIX/lib/python/invenio $CFG_INVENIO_PREFIX/lib/python$PYVER/site-packages/invenio | |
| make | |
| make install | |
| make install-mathjax-plugin | |
| make install-jquery-plugins | |
| make install-ckeditor-plugin | |
| #brew unlink gettext | |
| cdvirtualenv | |
| cat <<EOT >> etc/invenio-local.conf | |
| [Invenio] | |
| CFG_BIBSCHED_PROCESS_USER = egabancho | |
| CFG_DATABASE_HOST = localhost | |
| CFG_DATABASE_PORT = 3306 | |
| CFG_DATABASE_NAME = master | |
| CFG_DATABASE_USER = master | |
| CFG_DATABASE_PASS = my123p\$ss | |
| CFG_SITE_URL = http://localhost:4000 | |
| # For production environments, change http to https in next line | |
| CFG_SITE_SECURE_URL = http://localhost:4000 | |
| CFG_SITE_ADMIN_EMAIL = [email protected] | |
| CFG_SITE_SUPPORT_EMAIL = [email protected] | |
| CFG_SITE_NAME = Atlantis Fictive Institute of Science | |
| CFG_SITE_NAME_INTL_fr = Atlantis Institut des Sciences Fictives | |
| EOT | |
| inveniocfg --update-all | |
| inveniocfg --create-tables | |
| # Depending on mysql version an error can pop up | |
| # ERROR 1101 (42000) at line 3328: BLOB/TEXT column 'setDescription' can't have a default value | |
| # ERROR: failed execution of /Users/egabancho/Work/envs/master/bin/dbexec < /Users/egabancho/Work/envs/master/lib/sql/invenio/tabcreate.sql | |
| inveniocfg --load-webstat-conf | |
| inveniocfg --create-demo-site | |
| inveniocfg --load-demo-records | |
| # vim etc/Procfile | |
| # web: serve | |
| # cache: redis-server | |
| # | |
| # vim bin/master-start | |
| # lsof -i :4000 | sed -n 2p | cut -d' ' -f3 | xargs kill -9 | |
| # honcho --procfile $VIRTUAL_ENV/etc/Procfile start |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment