Apt / Aptitude: ¿cómo filtrar los packages que son imposibles de instalar?

Especialmente cuando se ejecuta Sid, hay muchos packages que no se pueden instalar ya que las dependencies cambian las versiones de ABI, o las dependencies mismas pueden haberse descartado. Sería bueno saber cómo filtrar estos packages para que un potencial mantenedor pueda verificar qué packages problemáticos hay en el repository.

Hasta ahora se me ocurrió:

#!/bin/sh apt-cache pkgnames|xargs apt-get -s install\ |sed "/ : /h;/installable/{x;/ .* :/{s/ \(.*\) :.*/\1/;b}};d" | sort 

No marca de forma recursiva los packages que dependen del package "no va a instalarse" X, donde X es un package que está marcado porque una de las dependencies es "no instalable". Por ejemplo, en lo siguiente:

 foo : Depends on bar but not going to be installed bar : Depends on baz but not installable 

bar se marcará pero foo no. Y no debería simplemente marcar todos los packages que tienen la línea "no van a ser instalados" porque podría ser una barra, es un package que existe pero rompe otro package instalado.

Solutions Collecting From Web of "Apt / Aptitude: ¿cómo filtrar los packages que son imposibles de instalar?"

Suponiendo que conozca Python, y si no lo hace hoy, es un buen día para comenzar … la documentation para las asociaciones apt python tiene un ejemplo trabajado que es relevante, aunque puede que no sea una solución completa.

 apt-get install python-apt python-apt-doc 

y mira /usr/share/doc/python-apt-doc/examples/missing-deps.py . Estoy usando squeeze de Debian.

Lo intenté

 python missing-deps.py 

y produce una pequeña list de packages. Mi comprensión de este script es que produce una list de packages que actualmente no se pueden desinstalar en Debian main. Sin embargo, no tengo a mano una installation inestable de Debian en este momento para probarla.