¿Cómo forzar a anular files al crear el package deb?

Estoy tratando de crear un package deb de programX.Y, es posible que en el sistema destino exista el mismo progtwig pero otra versión (progtwigX.Z) si genero un package de deb con:

dpkg-buildpackage -us -uc --source-option=--include-binaries --source-option=-isession 

Cuando bash instalar el pacakge en un sistema que tiene otra versión de progtwig (progtwigX.Z) obtengo:

 dpkg: error processing programX.Y.deb (--install): trying to overwrite `/usr/lib/XXX', which is also in package programX.Z 

Sé que, si apruebo, sobreescribo la fuerza, resuelvo el problema, pero no quiero esa solución.

La pregunta es cómo puedo crear un package Deb de una versión de progtwig que pueda instalarse en el sistema y forzar la sobreescritura automáticamente. Un ejemplo podría ser Python. Python3 tiene muchas versiones (3.1, 3.2, 3.3, 3.4, 3.5 …). Quiero instalar mi package personalizado de python versión 3.6 en el sistema que ha instalado python3.4.

¿Es posible?

No puede crear un package que tenga el equivalente de --force-overwrite , pero hay otras soluciones.

  • Un package puede mover un file conflictivo fuera del path; esto se conoce como desviación y se maneja con dpkg-divert .
  • Los files que son comunes a dos packages (que los hacen entrar en conflicto) se envían típicamente en un tercero (suponiendo que sean idénticos). Esta podría ser la solución adecuada para su problema /usr/lib/XXX .
  • Varias versiones de un package pueden ser co-installables, y si es necesario, un pnetworkingeterminado elegido ya sea utilizando alternativas, o un package "pnetworkingeterminado". Este es el enfoque adoptado para los packages de intérpretes de Python, el comstackdor de GCC … Actualmente en Debian inestable, Python 3.5 y 3.6 están disponibles y se pueden instalar uno al lado del otro; el Python 3 (3.5) pnetworkingeterminado se determina utilizando enlaces simbólicos en el set de packages python3 .