### Navigation

- index
- modules
- toc
- next
- previous
- jmb.core 0.8.6 documentation »
- Setup e gestione progetti »

# 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 `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

       ~ $ 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

### Navigation

- index
- modules
- toc
- next
- previous
- jmb.core 0.8.6 documentation »
- Setup e gestione progetti »