Симуляция aptdaemon не обновляет зависимости
Я начал играть с aptdaemon
на Ubuntu 13.10 недавно, и я сбит с толку. Вызов simulate() для транзакции не обновляет список зависимостей. Отладка из aptd
показывает, что генерируется несколько событий, в том числе событие PropertyChanged для зависимостей, но мой обработчик не вызывается. Вот некоторый код, который демонстрирует проблему:
import aptdaemon.client
def printcall(*args, **kwargs):
print("call(*%r, **%r)" % (args, kwargs))
client = aptdaemon.client.AptClient()
# I have make installed, but not abiword.
txn = client.install_packages(["make", "abiword"])
txn.connect("dependencies-changed", printcall)
txn.simulate()
print(txn.dependencies)
print(txn.packages)
Для меня это печатает пустой список зависимостей (фактически, один список, содержащий 6 пустых списков), в то время как работает apt-get install abiword
из командной строки возникает несколько зависимостей. Так же dependencies-changed
событие никогда не запускается:
dbus.Struct((dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s'))), signature=None, variant_level=1)
dbus.Struct((dbus.Array([dbus.String(u'make'), dbus.String(u'abiword')], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s')), dbus.Array([], signature=dbus.Signature('s'))), signature=None, variant_level=1)
Это ошибка или я что-то упускаю (например, цикл обработки событий)?