¿Convención de nomenclatura de paquetes de Debian?

12

Todo es muy confuso. Existen diferentes ejemplos, por ejemplo:

<package-name>_<epoch>:<upstream-version>-<debian.version>-<architecture>.deb

fuente: nombres de archivo del paquete debian

¿La sección 5.6.12 Versión o el Manual de políticas de Debian también están relacionados con el nombre del archivo real del paquete? ¿O solo a los campos en el archivo de control?

En este tema wiki sobre formatos de repositorio, en realidad no dice nada sobre convenciones, lo mismo en la guía de mejores prácticas para desarrolladores .

Tal vez solo estoy buscando algo incorrecto, ayúdame y dime dónde encontrar las convenciones de nombres de paquetes de Debian. Me interesa especialmente dónde poner el nombre en código de Debian. Quiero hacer algo como esto:

<package-name>_<version>.<revision>-<debiancodename>_<architecture>.deb

donde <debiancodename>es justo squeezeo wheezy.

Preexo
fuente
La sección de la política solo se refiere al archivo de cambios. Solo cambie el nombre deby ajuste el .changesarchivo
Ulrich Dangel
significa que no hay convenciones sobre los nombres de archivo para archivos .deb?
Preexo
1
@prexo hay pero no hay una definición formal. Y si desea ajustar el nombre del archivo, simplemente cambie el nombre del deb y ajuste el archivo de cambios. Si no realiza una carga, sería suficiente simplemente cambiar el nombre del archivo deb
Ulrich Dangel
¡Gracias! sí, no estoy cargando, así que el problema está resuelto;) responda con eso y tal vez sobre cuán estrictas son las convenciones y lo aceptaré como respuesta :)
Preexo

Respuestas:

11

Tengo entendido que desea distribuir / implementar un paquete en múltiples distribuciones basadas en Debian.

En el mundo Debian / Ubuntu, no debe proporcionar un .debarchivo individual para descargar e instalar. En su lugar, debe proporcionar un repositorio APT. (en el mundo de Fedora / Red Hat / CentOS, haría un consejo similar para proporcionar un repositorio YUM). No solo resuelve el problema de cómo nombrar el archivo deb, sino que el repositorio es una forma efectiva de proporcionar una versión más reciente de su paquete, que incluye la corrección de errores y las actualizaciones de seguridad. La creación de un repositorio APT está más allá del propósito de esta página / pregunta, solo busque "cómo configurar un repositorio apto"

Ahora volviendo a su pregunta: "convención de nomenclatura de paquetes":

Cuando genere el paquete dpkg-buildpackage, el paquete se nombrará de forma estándar. Citando la página de manual de dpkg-name :

Un nombre de paquete completo consiste en package_version_architecture.package-type como se especifica en el archivo de control del paquete.

package_version_architecture.package-type

La Política de Debian es el lugar correcto para conocer la sintaxis de los archivos de control: nombre (para los paquetes fuente y binarios), versión , arquitectura , tipo de paquete .

No hay ninguna disposición para establecer la distribución, porque así no es como va la cosa.

Si necesita compilar la misma versión de un paquete para múltiples distribuciones , cambiará el versioncampo (en el archivo debian/changelogy debian/control). Algunas personas usan el nombre de distribución en el campo de versión. por ejemplo openssl :

0.9.8o-4squeeze14 
1.0.1e-2+deb7u14
1.0.1k-1 

Si eso es lo que quiere hacer, asegúrese de leer debian-policy acerca debian_revisionde la versión .

Franklin Piat
fuente