.. _buildout-manual: =================================== 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. 1. 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 :file:`sasl.h` :libxslt1-dev: è necessario per compilare lxml :libpq-dev: è necessario per compilare psycopg2 :libjpeg62 | libjpeg8: per PIL con render jpg 2. Occorre configurare una cache locale ed il puntatore ai repository .. code-block:: ini ~ $ 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 3. 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. 4. 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 .. _`script da noi usate`: http://hg.thundersystems.it/tools/thunder-buildout/file/8aac78356773/bin