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 delatest.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