¿Desea crear paquetes para su propio uso, en una computadora específica o para que otros lo usen?
andol
1
¿Qué idioma es el software que desea empaquetar?
Umang
44
Tengo el mismo problema. La mayoría de los tutoriales y guías comienzan con "get the upstream tarball". A partir de este momento estamos perdidos. Tenemos una cosa simple que queremos implementar, no hay tarball aguas arriba, no hay código fuente. es solo un archivo de guerra, algunos scripts y algunos archivos jar. ¿Qué es la bola de alquitrán aguas arriba todo alrededor, y alguien ha visto una guía NO se utiliza uno, que es amplio (por ejemplo, se ocupa de los problemas de los usuarios)
Si desea crear "paquetes virtuales" (agrupar dependencias), vale la pena echar un vistazo a equivs-build
Rolf
Respuestas:
103
Este es un buen CÓMO para crear un .debarchivo básico . Es adecuado para crear .debarchivos para uso personal, pero no lo suficientemente estrictos si desea que el paquete se incluya en Debian / Ubuntu, para eso debe leer la Guía del nuevo desarrollador de Debian y / o la Guía de empaquetado de Ubuntu (que creo que usted ' ya lo intenté).
Una buena herramienta para verificar el .debcumplimiento de su archivo es lintian(instalable desde los repositorios).
Hubo dos sesiones aquí en las salas de chat de Ask Ubuntu.
Esto compila muy bien lo que se necesita para comenzar con el empaquetado, pero en el CÓMO echo de menos la información para incluir el icono de la aplicación en el archivo deb (y no he encontrado nada sobre eso en otro lugar). ¿Alguna pista sobre cómo hacerlo?
nightcod3r
14
¿Con qué partes tienes problemas? Aunque complicado, la guía parecía bastante clara cuando la seguía.
Lo que me confundió es, ¿es este proceso el mismo sin importar el idioma de origen o la estructura de directorios?
Seth
99
El quid es que no tenemos un .tar.gz. queremos empaquetar una aplicación que escribimos. Ninguna guía parece cubrir esto, todos comienzan con un "tarball aguas arriba" que no tenemos.
checkinstall proporciona una forma rápida de compilar el paquete binario debin (.deb) a partir de un método de instalación de origen. Sin embargo, no proporciona un paquete debian adecuado (creado a partir de un paquete fuente debian).
João Pinto
OH hombre ... tuve que usar eso ANTES de compilar ... eso es como horas de compilación.
Piotr Kula
5
Publicado originalmente en StackOverFlow , esta guía es para software precompilado o interpretado:
La forma correcta de construir un paquete deb es usar, dpkg-buildpackagepero a veces es un poco complicado. En su lugar, puede usar dpkg -b <folder>y creará su paquete Debian.
Estos son los conceptos básicos para crear un paquete Debian dpkg -b <folder>con cualquier binario o con cualquier tipo de script que se ejecute automáticamente sin necesidad de compilación manual (Python, Bash, Pearl, Ruby):
Cree los archivos y carpetas para recrear la siguiente estructura:
Los scripts ubicados en /usr/bin/se llaman directamente desde la terminal, tenga en cuenta que no agregué una extensión al script. También puede notar que la estructura del paquete deb será la estructura del programa una vez que esté instalado. Entonces, si sigue esta lógica si su programa tiene un solo archivo, puede ubicarlo directamente debajo ProgramName-Version/usr/bin/your_script, pero si tiene varios archivos, debe ubicarlos debajo ProgramName-Version/usr/share/ProgramName/all your filesy colocar solo un archivo debajo /usr/bin/para llamar a sus scripts desde/usr/share/ProgramName/
Cambie todos los permisos de carpeta a root:
chown root:root -R /path/to/ProgramName-Version
Cambia los permisos del script:
chmod 0755 /path/to/the/script
Finalmente, puede ejecutar: ¡ dpkg -b /path/to/the/ProgramName-Versiony se creará su paquete deb! (También puede agregar los scripts post / pre inst y todo lo que desee, funciona como un paquete Debian normal)
Aquí hay un ejemplo del controlarchivo. Solo necesita copiarlo / pegarlo en un archivo vacío llamado "control" y ponerlo en la carpeta DEBIAN.
Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
Here you put the long description, indented by 1 space.
Hace unos días, para mi primera aplicación, creé el paquete DEB siguiendo este tutorial. Muy claro y mi aplicación empaquetada con éxito. Sí, al menos es lo más simple para mí.
Puede compararlo con la Guía de empaquetado de Debian.
"Simple" no significa "completo". Hay muchas políticas que un tutorial básico de empaquetado de .deb no cubrirá para diferentes tipos de programas y, por lo tanto, el empaquetado no es tan fácil como un simple "tutorial simple".
Thomas Ward
Definitivamente simple. Comencé y pude crear mi primer paquete de Debian en cuestión de minutos. Todavía hay muchos detalles con los que lidiar (mensajes de mala calidad del paquete de lintian) pero un excelente punto de partida.
Respuestas:
Este es un buen CÓMO para crear un
.deb
archivo básico . Es adecuado para crear.deb
archivos para uso personal, pero no lo suficientemente estrictos si desea que el paquete se incluya en Debian / Ubuntu, para eso debe leer la Guía del nuevo desarrollador de Debian y / o la Guía de empaquetado de Ubuntu (que creo que usted ' ya lo intenté).Una buena herramienta para verificar el
.deb
cumplimiento de su archivo eslintian
(instalable desde los repositorios).Hubo dos sesiones aquí en las salas de chat de Ask Ubuntu.
Los fundamentos del empaquetado en Ubuntu (Empaquetado: Parte 1)
Empaquetado de Ubuntu para PPA de Launchpad (Empaquetado: Parte 2)
fuente
¿Con qué partes tienes problemas? Aunque complicado, la guía parecía bastante clara cuando la seguía.
Sumario rápido:
.tar.gz
dh_make
fuente
debuild
fallará con " debsign: error de gpg! Anulando .... ".Incluso puede usar
dpkg-deb
para crear paquetes simples.Aquí hay un buen tutorial de Ubuntuforums .
fuente
La forma más fácil de empaquetar algo es usar checkinstall .
fuente
Publicado originalmente en StackOverFlow , esta guía es para software precompilado o interpretado:
La forma correcta de construir un paquete deb es usar,
dpkg-buildpackage
pero a veces es un poco complicado. En su lugar, puede usardpkg -b <folder>
y creará su paquete Debian.Estos son los conceptos básicos para crear un paquete Debian
dpkg -b <folder>
con cualquier binario o con cualquier tipo de script que se ejecute automáticamente sin necesidad de compilación manual (Python, Bash, Pearl, Ruby):Cree los archivos y carpetas para recrear la siguiente estructura:
Los scripts ubicados en
/usr/bin/
se llaman directamente desde la terminal, tenga en cuenta que no agregué una extensión al script. También puede notar que la estructura del paquete deb será la estructura del programa una vez que esté instalado. Entonces, si sigue esta lógica si su programa tiene un solo archivo, puede ubicarlo directamente debajoProgramName-Version/usr/bin/your_script
, pero si tiene varios archivos, debe ubicarlos debajoProgramName-Version/usr/share/ProgramName/all your files
y colocar solo un archivo debajo/usr/bin/
para llamar a sus scripts desde/usr/share/ProgramName/
Cambie todos los permisos de carpeta a root:
Cambia los permisos del script:
Finalmente, puede ejecutar: ¡
dpkg -b /path/to/the/ProgramName-Version
y se creará su paquete deb! (También puede agregar los scripts post / pre inst y todo lo que desee, funciona como un paquete Debian normal)Aquí hay un ejemplo del
control
archivo. Solo necesita copiarlo / pegarlo en un archivo vacío llamado "control" y ponerlo en la carpeta DEBIAN.fuente
No, la guía de empaque más simple y clara en este mundo es
Empaquetado de aplicaciones Java para Ubuntu y otros Debian
Hace unos días, para mi primera aplicación, creé el paquete DEB siguiendo este tutorial. Muy claro y mi aplicación empaquetada con éxito. Sí, al menos es lo más simple para mí.
Puede compararlo con la Guía de empaquetado de Debian.
fuente