Bucles de activación del paquete Deb

Bucles de activación del paquete Deb

Tengo un problema recurrente con los paquetes .deb personalizados y sus activadores. Hemos creado algunos "metapaquetes" para nuestras implementaciones para forzar y verificar algunas configuraciones. La idea es mantener muchos servidores con la "misma" configuración sin necesidad de verificar manualmente cada actualización. Llamémoslos como ejemplo:grafana-confyconfiguración de búsqueda elástica.

Para ejecutar los scripts de reconfiguración cuando el "paquete secundario" se actualiza, utilizamos los siguientes activadores.

  • grafana-confdesencadenantes:
interest /usr/share/grafana
interest grafana-reconfigure

  • configuración de búsqueda elásticadesencadenantes:
interest /usr/share/elasticsearch/bin
interest elastic-reconfigure

De vez en cuando, funciona como se esperaba, pero en algunos escenarios dpkg dice que hay un bucle de activación. En este caso, si elasticsearchy grafanase actualiza en la misma transacción, obtenemos los siguientes mensajes:

[...]
Processing triggers for ureadahead (0.100.0-21) ...  
Processing triggers for dbus (1.12.16-2ubuntu2.3) ...
Setting up unrelated-package (1.2.1) ...           
dpkg: cycle found while processing triggers:                    
 chain of packages whose triggers are or may be responsible:    
  elasticsearch-conf -> grafana-conf
 packages' pending triggers which are or may be unresolvable:
  grafana-conf: /usr/share/grafana
  elasticsearch-conf: /usr/share/elasticsearch/bin
  initramfs-tools: update-initramfs
dpkg: error processing package grafana-conf (--configure):
 triggers looping, abandoned
dpkg: cycle found while processing triggers:
 chain of packages whose triggers are or may be responsible:
  elasticsearch-conf -> elasticsearch-conf -> elasticsearch-conf
 packages' pending triggers which are or may be unresolvable:
  elasticsearch-conf: /usr/share/elasticsearch/bin
  initramfs-tools: update-initramfs
dpkg: error processing package elasticsearch-conf (--configure):
 triggers looping, abandoned
Processing triggers for initramfs-tools (0.136ubuntu6.7) ...
[...]
Errors were encountered while processing:
 grafana-conf
 elasticsearch-conf

Hemos probado muchas variaciones de los desencadenantes, pero no entendemos qué está fallando allí. Leer documentos de Debian/deb dice que todo debería funcionar.

¿Alguien puede ayudarnos a comprender qué error (probablemente básico) nos estamos perdiendo? ¡Gracias de antemano!

Ps: El disparador con nombre grafana-reconfigurese llama en el script postinst inferior degrafana-conf. Intentamos eliminar dicha llamada pero los bucles siguen apareciendo. Por supuesto, dpkg-triggernunca se llama dentro de la llamada "desencadenante". El disparador con nombre elastic-reconfigureno se utiliza en absoluto.

Ps2: en algunos otros escenarios tengo un bucle como:grafana-conf -> grafana-conf -> grafana-conf

información relacionada