Empaquetado

Empaquetando migasfree

Nadie es como otro. Ni mejor ni peor. Es otro. Y si dos están de acuerdo, es por un malentendido.

—Jean-Paul Sartre

El proceso consiste, básicamente, en bajarte el fuente del proyecto y ejecutar el comando bin/create-package

Nota

Si quieres la versión de desarrollo puedes bajar master.zip en vez de latest.zip

Creación del paquete migasfree-server (.deb)

Abre una terminal como root y baja el código fuente de migasfree:

wget https://github.com/migasfree/migasfree/archive/latest.zip

Necesitaremos tener instalado unzip para descomprimir el fichero zip:

apt-get install unzip

Descomprimimos el fichero latest.zip:

unzip latest.zip
rm latest.zip

Ahora tendrás una carpeta llamada migasfree-latest.

Creamos a continuacion el paquete migasfree-server. Para ello necesitamos tener instalado el paquete python-stdeb:

apt-get install python-stdeb

Nos situamos en la carpeta bin del proyecto y ejecutamos el script create-package:

cd migasfree-latest/bin
./create-package
cd ../..

Ahora en la carpeta deb_dist tenemos el paquete deb que instalamos:

dpkg -i migasfree-latest/deb_dist/migasfree-server_*_all.deb

Por problemas de dependencias, seguramente se dejará sin configurar el servidor de migasfree. Para instalar las dependencias que faltan, haremos:

apt-get -f install

Creación del paquete migasfree-client (.deb)

Abre una terminal como root y baja el código fuente del cliente migasfree:

wget https://github.com/migasfree/migasfree-client/archive/latest.zip

Necesitaremos tener instalado unzip para descomprimir el fichero zip:

apt-get install unzip

Descomprimimos el fichero latest.zip:

unzip latest.zip
rm latest.zip

Ahora tendrás una carpeta llamada migasfree-client-latest.

Creamos a continuación el paquete migasfree-client. Para ello necesitamos tener instalado el paquete python-stdeb:

apt-get install python-stdeb

Nos situamos en la carpeta bin del proyecto y ejecutamos el script create-package:

cd migasfree-client-latest/bin
./create-package
cd ../..

Ahora en la carpeta deb_dist tenemos el paquete deb que instalamos:

dpkg -i migasfree-client-latest/deb_dist/migasfree-client_*_all.deb

Por problemas de dependencias, seguramente se dejará sin configurar el cliente de migasfree. Para instalar las dependencias que faltan, haremos:

apt-get -f install

Otras Distribuciones a las implementadas

Si al ejecutar ./create-package te aparece:

Error

Computer distro is not available. Aborting package creation.

entonces, consigue el nombre de tu Distribución:

_DISTRO=$(python -c "import platform; print platform.linux_distribution()[0].strip()")

y crea un nuevo fichero cuyo nombre sea $_DISTRO en el directorio setup.cfg.d para paquetería rpm:

touch ../setup.cfg.d/$_DISTRO #

o en el directorio stdeb.cfg.d para paquetería deb:

touch ../stdeb.cfg.d/$_DISTRO

Finalmente, copia dentro de este fichero el contenido de otro fichero de una Distribución similar y modifica las dependencias necesarias.

Una vez realizado este proceso vuelve a ejecutar ./create-package

Empaquetando proyectos python

La diferencia entre el pasado, el presente y el futuro es sólo una ilusión persistente.

—Albert Einstein

Es muy posible que en la distribución en la que has instalado el servidor migasfree no encuentres los paquetes que se requieren para instalar el servidor, bien porque simplemente no están disponibles o bien porque la versión disponible no es suficientemente reciente como para ejecutar el servidor.

En este capítulo vas a empaquetar django como ejemplo y el método que usarás es válido para la mayoría de proyectos escritos en python.

Creación del paquete django en distros basadas en paquetería apt

Descarga el código del proyecto django cuya versión necesites y descomprímelo:

wget https://www.djangoproject.com/download/1.6.2/tarball/ -O Django-1.6.2.tar.gz
tar xzvf Django-1.6.2.tar.gz
cd Django-1.6.2

Asegúrate que tienes instalado el paquete python-stdeb:

apt-get install python-stdeb

Ahora crea el paquete:

python setup.py --command-packages=stdeb.command bdist_deb

En la carpeta deb_dist tendrás el paquete deb.

Más información en https://wiki.debian.org/Python/Packaging

Creación del paquete django en distros basadas en paquetería rpm

Descarga el código del proyecto django cuya versión necesites y descomprímelo:

wget https://www.djangoproject.com/download/1.6.2/tarball/ -O Django-1.6.2.tar.gz
tar xzvf Django-1.6.2.tar.gz
cd Django-1.6.2

Ahora crea el paquete:

python setup.py bdist_rpm

En la carpeta dist tendrás el paquete rpm.

Para más información puedes consultar http://docs.python.org/2.0/dist/creating-rpms.html