Compilar paquetes de eXe para diferentes sistemas

Inicio Forums Desarrolladores / Desenvolupadors / Garatzaileak / Desenvolvedores / Developers Compilar paquetes de eXe para diferentes sistemas

This topic contains 8 respuestas, has 3 voices, and was last updated by  pedro.pena Hace 9 años, 4 meses.

  • Author
    Entradas
  • #454

    pedro.pena
    Member

    Buenas,
    En https://forja.cenatic.es/forum/forum.php?thread_id=200436&forum_id=632&group_id=197 hay un hilo en el que se habla del tema. Copio y pego las instrucciones para Debian/Ubuntu (los comandos apt-get requieren privilegios de administración):
    “svn checkout –username anonsvn –password anonsvn https://svn.forja.cenatic.es/iteexe/trunk iteexe”
    “cd iteexe”
    “dpkg-checkbuilddeps” (se obtendrá un listado de dependencias de construcción / you will get a construction dependencies list)
    “apt-get install lista_de_dependencias_de_construcción_sin_cumplir” (ejecutar en caso de que las haya)
    “apt-get install construction_dependencies_list_without_complying” (to perform if any)
    “dpkg-buildpackage -us -uc -b” (para construir el paquete deb que se construirá en el directorio padre / to build the deb package, in the parent dierctory)
     
    Un saludo.

  • #455

    pedro.pena
    Member

    Recientemente he tenido que preparar un entorno de construcción de paquetes para Windows 7. Por lo tanto lo tengo más fresco. Es un proceso más complejo que en sistemas Linux (preparad bocadillo, café, etc). Los pasos han sido:
    -Instalar Python 2.5.
    -Instalar Setuptools http://pypi.python.org/pypi/setuptools para Python 2.5.
    -Instalar un compilador de C (en realidad eXe no lo necesita, es para compilar sus dependencias). Yo he usado http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express. Reiniciar.
    -Para obtener las dependencias, dentro del código fuente de eXe, hay un script (tools/getSource.py) dónde al final aparece un diccionario (python) en el que están los enlaces y versiones concretas que es recomendable usar. Tan solo falta una: chardet. Algunos enlaces no funcionan, pero googleando un poco se pueden encontrar. Una vez descargados, se descomprimen y normalmente con “python2.5 setup.py build” y “python2.5 setup.py install” se deberían instalar (cruzad los dedos). Algunos de estos módulos necesitan compilar cosas y tratarán de encontrar el compilador de C que hemos instalado anteriormente. Esto es lo que puede dar más problemas. Algunas dependencias ya están compiladas para windows en las páginas de sus respectivos proyectos o podemos googlear por si alguién lo ha hecho. Recordad siempre instalar para python2.5.
    La dependencia de chardet (y en realidad todas especificando la versión que nos interesa) se pueden instalar mediante:
    easy_install chardet
    El comando easy_install lo provee las Setuptools que hemos instalado antes. Su ubicación no la recuerdo exactamente, pero estaba dentro de C:\Python2.5. 
    -Una vez instaladas todas las dependencias, podemos ejecutar “python2.5 make.py” del directorio installs/windows del código fuente de eXe. Dicho script make.py hace uso de las herramientas py2exe (http://www.py2exe.org/) y nsis (http://nsis.sourceforge.net/Main_Page). En el propio make.py hay que editar la ruta dónde se haya instalado nsis. Éste último paso no lo tengo fresco y creo recordar que tuve que utilizar una versión antigua de py2exe.
    Ánimo y paciencia.
    Un saludo.

  • #456

    pedro.pena
    Member

    Para Mac hace mucho tiempo que preparé el entorno. Si para Windows me costó un poco para Mac fue una odisea.
    Básicamente los principios son los mismos que para Windows. Versión 2.5 para Python y compilar sus dependencias si no encontramos binarios en Internet.
    El problema aquí es el compilador de C. Usé Xcode (https://developer.apple.com/xcode/). Hay que registrarse y bajarlo entero (creo recordar que era una ISO de DVD), para solamente usar el compilador de linea de comandos.
    Desgraciadamente no recuerdo más detalles. Pero pronto tendré que actualizar el entorno de empaquetado a Python 2.7 y podré actualizar información sobre éste sistema.
    Un saludo.

  • #458

    pjimenez
    Member

    Gracias por la información Pedro, me viene de perlas!
     
    Un saludo.

  • #466

    pjimenez
    Member

    Hola de nuevo.
    Pedro, como adelanteste la generación del paquete para windows ha sido bastante problemática y para linux ha sido un paseo. Para macos aún no he tenido la oportunidad de probarla.
    En linux he seguido el proceso que comentaste a pie juntillas y en windows no exactamente. En mi caso he compilado con mingw32. Además he tenido algunos problemas con chardet, en concreto con su inclusión en los instaladores.
    Un saludo.

  • #539

    pjimenez
    Member

    Hola Pedro.
    Otra pregunta con respecto a este tema. Verás, el .deb lo estoy generando en mi máquina de trabajo donde tengo un Ubuntu 64 bits. Necesitaría además generar un paquete para una distribución de 32 bits. Sabes si es posible generar este paquete directamente en mi instalación de 64.
    Gracias y un saludo.

  • #540

    pedro.pena
    Member

    Hola,
    Se puede generar desde la Ubuntu de 64 bits. Para ello hay que usar pbuilder y pdebuild. Tienes más información en https://wiki.ubuntu.com/PbuilderHowto.
    Solamente ten en cuenta lo siguiente. Cuando crees el entorno chroot de complación con “pbuilder create” asegúrate de establecer el parámetro “–architecture i386”.
    Esto también es útil para compilar los paquetes de 64 bits ya que así no tienes que intalar dependencias de construcción de paquetes en tu distribución base.
    Después con pdebuild eliges el entorno chroot con el que deseas compilar el paquete. Puedes tener para diferentes arquitecturas, versiones de Ubuntu (lucid, oneiric, precise) o incluso de Debian.
    Un saludo.

  • #541

    pjimenez
    Member

    Ok, gracias Pedro, voy a echarle un vistazo. 

The topic ‘Compilar paquetes de eXe para diferentes sistemas’ is closed to new replies.