Buildout: installazione manuale¶
Per chi usa debian/ubuntu nn ha senso fare l’installazione manuale altro che per comprender i passaggi. Queste istruzioni dovrebbero funzionare su tutte le distro Linux e Mac Os fatte le debite modifiche sulle librerie da installare e sulle modalità specifiche di ogni distro.
Per potere compilare i vari pacchetti che possono servire suggeriscodi installare:
python-dev, libpq-dev, postgresql-server-dev-8.4 | postgresql-dev , libxslt1-dev, libsasl2-dev, libjpeg62 | libjpeg8, libjpeg8-dev | libjpeg62-dev, libfreetype6, libfreetype6-dev, zlib1g-dev, python-uno, mercurial, libldap2-dev
in particolare:
- libsasl2-dev
serve per compilare ldap, richiesto da django-ldap-groups e fornisce
sasl.h
- libxslt1-dev
è necessario per compilare lxml
- libpq-dev
è necessario per compilare psycopg2
- libjpeg62 | libjpeg8
per PIL con render jpg
Occorre configurare una cache locale ed il puntatore ai repository
~ $ cat ~/.buildout/default.cfg- [buildout] eggs-directory = /home/tuonome/.buildout/eggs download-cache = /home/tuonome/.buildout/download-cache [thunder] jmb2 = /usr/local/src/hg/thunder/jmb2 # jmb2 = http://dev@hg.thundersystems.it/jumbo2/ # jmb2 = http://read:letmeread@hg.thundersystems.it/jumbo2/ extra-paths = /home/local/.buildout/extra-path
La sezione
[thunder]
imposta invece la posizione dei repository. Delle 3 versioeni proposte per la variabile jmb2:la prima punta alla copia locale invece che a quella remota per ovvii vantaggi di velocità. Ricordate che così facendo non esiste un meccanismo automatico per aggiornare la copia locale
la seconda suppone che abbiate una chiave sul server di Thunder
la terza è una opzione in sola lettura
Crea una cartella con dei link a librerie che vuoi vengano viste dal sistema isolato ma che non vuoi dovere compilare in buildout. Useremo questa princialmente per evitare di ricompilare la libreria
uno
di OpenOffice/LibreOffice:mkdir ~/.buildout/extra-path cd ~/.buildout/extra-path ln -s /usr/lib/python2.7/dist-packages/uno.py ln -s /usr/lib/python2.7/dist-packages/unohelper.py
Nota che buildout NON espande
~
che va quindi scritta in esplicito. La cartella della cache e quella delle egg non sono indispensabili ma accelerano immensamente il deploy.Mettete in una cartella locale che sia nel PATH di sistema o che sia stata da voi aggiunta nel PATH (ad es. in .bashrc PATH=$PATH:~/.jmb-bin) una copia di tutte le script da noi usate
Ad esempio:
mkdir -p ~/src/jmb cd ~/src/jmb hg clone http://read@hg.thundersystems.it/tools/thunder-buildout echo 'PATH=$PATH:~/src/jmb/thunder-buildout/bin' >> ~/.bashrc . ~/.bashrc