Esta guía para elaborar nuevo paquete deb motiva a los desarrolladores a elaborar futuras aplicaciones de Deepin (así como la basada en Debian). Ten en cuenta que este tiene una función más específica que los archivos tar.gz
o los casi portátiles al usar Appimage.
Cómo elaborar nuevo paquete deb
Estructurar carpetas
- Crea la carpeta principal. Para efectos prácticos se llamara
miapp
. - Después crea una subcarpeta
DEBIAN
. Crear un archivomiapp/DEBIAN/control
(sin sufijo) para añadir información del paquete. - Ahora introduce lo siguiente:
Package: miapp
Version: 1.0
Section: custom
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: Deepin en Espanol
Description: Mi primera aplicación
- Establece la ruta
miapp/usr/bin/
para indicar dónde estarán los binarios al momento de instalar. - Para eso, prueba a crear el primer archivo c++ y compílalo. Después exporta la carpeta antes mencionada.
Convertir código binario a deb
Para convertir el código binario a paquete DEB, y facilitar la instalación a los usuarios, se suele recurrir a estos pasos:
- Instala el metapaquete build-essential, que incluye a g++, para compilar los binarios.
- Ve a la carpeta miapp.
- Ejecuta el comando
dpkg-deb --build miapp
en la carpeta correspondiente. - El resultado sería
miapp-1.0_amd64.deb
. - Revisa con el gestor de archivos si se creó el paquete con el sufijo
.deb
.
Es probable que durante estos pasos se necesite definir el entorno gráfico, sea QT o GTK. La documentación completa está en la web de Debian. Existen herramientas para facilitar la compilación como Debreate y Ubucompilator (descontinuado).
Para subir a los repositorios de Debian, tendrás que cumplir las políticas, además de no romper paquetes. Pero no es prioritario, existen opciones para crear un propio repositorio.
Probar un paquete
Para probar el empaquetado basta con abrir desde GDebi o el instalador de Deepin. También puedes hacerlo desde la terminal:
sudo dpkg -i miapp
Más información
Puedes descargar el documento pdf en este acceso a descarga (requiere registro pero se conserva como respaldo) o la versión más reciente.
Lectura adicional
- Página web de la documentación
- Estructura de un contenedor
- Sugerencia desde Ubuntu