¿Cómo hacer que los paquetes abarquen diferentes versiones de Ubuntu?

¿Cómo hacer que los paquetes abarquen diferentes versiones de Ubuntu?

Soy el autor de algún software que depende de libxx6 (en ubuntu 11.10), pero en 12.04, el paquete se convierte en libxx7 (7 no es un número de versión de Ubuntu), por lo que la dependencia se convierte en un problema.

¿Cómo puedo resolver esto? Estoy administrando un PPA y quiero solucionarlo antes del lanzamiento de Ubuntu 12.04.

Gracias !

Respuesta1

Si hay un paquete genérico sin versión en el que pueda confiar (como en el caso de Java: java-runtimevs. eg java6-runtime), confíe en eso. Si no lo hay, hay que crear paquetes especializados para las diferentes versiones de Ubuntu. Mire el archivo del paquete del que depende controly vea si es Providesalgo más genérico en el que pueda confiar.

Respuesta2

Suponiendo que su paquete se compilará con ambos libxx6y libxx7, simplemente nosotros libxx-deven el Build-Dependscampo de su debian/controlarchivo. Luego en el Dependscampo nosotros ${shlibs:Depends}. Esto se sustituirá automáticamente por la versión de la biblioteca compartida con la que se creó su paquete.

Puede encontrar información más detallada sobre las bibliotecas compartidas enCapítulo 8 del Manual de políticas de Debian.

Respuesta3

Si la misma fuente se basa en todas las versiones, entonces es muy fácil. Lo construyes (lo cargas) por separado para cada versión de Ubuntu. Tendrás que usar números de versión ligeramente diferentes; te sugiero agregar~releasename1

información relacionada