~facundo/encuentro/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Procedimiento para generar el .exe
----------------------------------

Del lado de linux, sólo un paso: preparar un directorio con "el programa
a empaquetar":

    bzr export algunlado .

Ir a ese "algunlado" y borrar a discreción un montón de cosas que a
priori no nos interesa distribuir:

    anuncio.txt
    encuentro.desktop
    MANIFEST.in
    pasos_release.txt
    pylintrc
    server
    setup.py
    source_encuentro.py
    test
    tests
    web

El resto es del lado Windows. Antes que nada ver que el programa corra ok.
Llevar el programa a empaquetar a "c:\encuentro", e instalar las
dependencias:

    easy_install requests
    FIXME: completar con instrucciones para las otras dependencias


Probar! Si todo está ok, seguimos adelante. Descomprimir PyInstaller 2
en "c:\pyinst". Se puede bajar de aquí:

    http://sourceforge.net/projects/pyinstaller/files/2.0/pyinstaller-2.0.zip/download

Luego entrar a ese dir y hacer:

    python pyinstaller.py c:\encuentro\bin\encuentro

Nos va a dejar toda una estructura. Patchear el ...

    c:\pyinst\encuentro\encuentro.spec

...con el .spec del repo.

También hay que fixear el soporte para PyQt. Editar
support/rthooks/pyi_rth_qt4plugins.py en PyInstaller y agregar al
principio de todo:

    import sip
    sip.setapi(u'QDate', 2)
    sip.setapi(u'QDateTime', 2)
    sip.setapi(u'QString', 2)
    sip.setapi(u'QTextStream', 2)
    sip.setapi(u'QTime', 2)
    sip.setapi(u'QUrl', 2)
    sip.setapi(u'QVariant', 2)

Ejecutar finalmente:

    python pyinstaller.py encuentro\encuentro.spec

Ya debería estar. Para probar, ir a la carpeta encuentro\dist\encuentro y
ejecutar el encuentro.exe.


Armar el instalador
------------------

Instalar NSIS dsde acá:

    http://nsis.sourceforge.net/Download


Asegurarnos de tener lo que preparamos antes en los dirs correspondientes:

  c:\encuentro
  c:\pyinst\encuentro\dist

Crear un dir c:\makeinst, y poner ahí el script 'install_script.nsi' (que
está en el repo), y actualizar el nro de versión en este mismo archivo.

Luego, desde el navegador de archivos, hacerle botón derecho,
"Compile NSIS Script".  Eso nos debería dejar, en ese mismo directorio,
un "Encuentro_Setup.exe" o muy similar.