From df946fe6ac1598774e89c0662315bfea4e2c4209 Mon Sep 17 00:00:00 2001 From: Daniel Nicoletti Date: Mon, 24 Aug 2009 12:44:17 +0100 Subject: [PATCH] Fixup the package types if we are emulating the simulate methods Signed-off-by: Richard Hughes --- src/pk-backend.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/pk-backend.c b/src/pk-backend.c index 680d10ead..0e6955d70 100644 --- a/src/pk-backend.c +++ b/src/pk-backend.c @@ -888,6 +888,19 @@ pk_backend_package (PkBackend *backend, PkInfoEnum info, const gchar *package_id ret = FALSE; goto out; } + + /* fix up available and installed when doing simulate roles */ + if (backend->priv->role == PK_ROLE_ENUM_SIMULATE_INSTALL_FILES || + backend->priv->role == PK_ROLE_ENUM_SIMULATE_INSTALL_PACKAGES || + backend->priv->role == PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES || + backend->priv->role == PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES) { + if (info == PK_INFO_ENUM_AVAILABLE) + info = PK_INFO_ENUM_INSTALLING; + else if (info == PK_INFO_ENUM_INSTALLED) + info = PK_INFO_ENUM_REMOVING; + } + + /* create a new package object AFTER we emulate the info value */ obj = pk_package_obj_new (info, id, summary_safe); if (obj == NULL) { egg_warning ("Failed to create object summary: '%s'", summary_safe);