Capítulo 9. Enviar el paquete

Tabla de contenidos

9.1. Enviar al repositorio de Debian
9.2. Incluir orig.tar.gz para la transferencia del paquete al repositorio.
9.3. Envíos discontinuados

Ahora que has probado tu nuevo paquete en profundidad, podrás transferirlo a un archivo público para compartirlo.

Cuando seas desarrollador oficial Debian [84], podrás transferir el paquete al repositorio de Debian [85]. Puedes hacer esto manualmente, pero es más fácil hacerlo con las herramientas automáticas ya disponibles como dupload(1) o dput(1). A continuación describiremos cómo hacerlo con dupload [86].

En primer lugar, debes generar un fichero de configuración de dupload. Puedes hacerlo editando el fichero general del sistema /etc/dupload.conf, o generando tu propio fichero ~/.dupload.conf con lo que tu quieras cambiar.

Consulta el manual de dupload.conf(5) para saber el significado de cada opción.

La opción $default_host es la más problemática; determina cuál de las colas de envíos se usará por omisión. «anonymous-ftp-master» es la primaria, pero es posible que quieras usar otra más rápida [87].

Si tienes conexión a Internet, puedes subir el paquete de la siguiente manera:

  dupload gentoo_0.9.12-1_i386.changes

dupload comprueba que las sumas MD5/SHA1/SHA256 de los archivos transferidos coinciden con las listadas en el fichero .changes, si no coinciden te avisará para que reconstruyas el paquete como se describe en Sección 6.1, “(Re)construcción completa” para poder enviarlo correctamente.

Si encuentras algún problema con la subida del paquete a ftp://ftp.upload.debian.org/pub/UploadQueue/, puedes arreglarlo subiendo manualmente un fichero *.commands firmado con GPG con la orden ftp [88]. Por ejemplo, utiliza hello.commands:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Uploader: Foo Bar <Foo.Bar@example.org>
Commands: 
 rm hello_1.0-1_i386.deb
 mv hello_1.0-1.dsx hello_1.0-1.dsc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

[...]
-----END PGP SIGNATURE-----

Cuando se envía por primera vez al archivo, se debe incluir el archivo orig.tar.gz con las fuentes originales. Si el número de revisión Debian del paquete no es ni 1 ni 0, debes ejecutar la orden dpkg-buildpackage con la opción -sa. Por otra parte, es posible excluir la inclusión del archivo fuente original orig.tar.gz con la opción -sd.

Para la orden dpkg-buildpackage:

$ dpkg-buildpackage -sa

Para la orden debuild:

$ debuild -sa

Para la orden pdebuild:

$ pdebuild --debbuildopts -sa

Por otra parte, con la opción -sd se evita la inclusión del archivo orig.tar.gz con las fuentes originales.

Si en el archivo debian/changelog hay diversas entradas correspondientes a diferentes versiones del paquete, pero alguna de ellas no se ha enviado al repositorio, deberás generar correctamente un archivo *_.changes que incluya todas las modificaciones desde la última versión presente en el repositorio. Puedes hacerlo ejecutando la orden dpkg-buildpackage con la opción -v seguida de la versión (p. ej. 1.2).

Para la orden dpkg-buildpackage:

$ dpkg-buildpackage -v1.2

Para la orden debuild:

$ debuild -v1.2

Para la orden pdebuild:

$ pdebuild --debbuildopts "-v1.2"


[85] Hay archivos públicamente accesibles, como http://mentors.debian.net/ que funcionan de forma similar al archivo Debian y facilitan un sistema de transferencia de paquetes para personas que no son desarrolladores oficiales («DD»). Tu puedes construirte un archivo personal utilizando las herramientas listadas en http://wiki.debian.org/HowToSetupADebianRepository. Así, esta sección también es útil si no eres «DD».

[88] Consulta ftp://ftp.upload.debian.org/pub/UploadQueue/README. Como alternativa, puedes usar la orden dcut del paquete dput.