[gnome-settings-daemon/rhel/account-and-subman-plugins: 18/23] subman: Add new no-installed-products state
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-settings-daemon/rhel/account-and-subman-plugins: 18/23] subman: Add new no-installed-products state
- Date: Tue, 13 Apr 2021 14:21:52 +0000 (UTC)
commit b636705b9feb151231586ff9c933b5ea36651591
Author: Ray Strode <rstrode redhat com>
Date: Sun Jan 24 11:24:36 2021 -0500
subman: Add new no-installed-products state
It's possible, though unlikley, the system has
no packages installed from Red Hat supported package sets.
This commit adds a new state to track that situation.
plugins/subman/gsd-subman-common.c | 2 ++
plugins/subman/gsd-subman-common.h | 1 +
plugins/subman/gsd-subscription-manager.c | 17 +++++++----------
3 files changed, 10 insertions(+), 10 deletions(-)
---
diff --git a/plugins/subman/gsd-subman-common.c b/plugins/subman/gsd-subman-common.c
index e515131e..eef5175d 100644
--- a/plugins/subman/gsd-subman-common.c
+++ b/plugins/subman/gsd-subman-common.c
@@ -32,5 +32,7 @@ gsd_subman_subscription_status_to_string (GsdSubmanSubscriptionStatus status)
return "disabled";
if (status == GSD_SUBMAN_SUBSCRIPTION_STATUS_PARTIALLY_VALID)
return "partially-valid";
+ if (status == GSD_SUBMAN_SUBSCRIPTION_STATUS_NO_INSTALLED_PRODUCTS)
+ return "no-installed-products";
return "unknown";
}
diff --git a/plugins/subman/gsd-subman-common.h b/plugins/subman/gsd-subman-common.h
index fccf9f6a..f8a3d9f4 100644
--- a/plugins/subman/gsd-subman-common.h
+++ b/plugins/subman/gsd-subman-common.h
@@ -30,6 +30,7 @@ typedef enum {
GSD_SUBMAN_SUBSCRIPTION_STATUS_INVALID,
GSD_SUBMAN_SUBSCRIPTION_STATUS_DISABLED,
GSD_SUBMAN_SUBSCRIPTION_STATUS_PARTIALLY_VALID,
+ GSD_SUBMAN_SUBSCRIPTION_STATUS_NO_INSTALLED_PRODUCTS,
GSD_SUBMAN_SUBSCRIPTION_STATUS_LAST
} GsdSubmanSubscriptionStatus;
diff --git a/plugins/subman/gsd-subscription-manager.c b/plugins/subman/gsd-subscription-manager.c
index 0838d490..46f8d35c 100644
--- a/plugins/subman/gsd-subscription-manager.c
+++ b/plugins/subman/gsd-subscription-manager.c
@@ -269,6 +269,13 @@ _client_subscription_status_update (GsdSubscriptionManager *manager, GError **er
/* save old value */
priv->subscription_status_last = priv->subscription_status;
+ if (!_client_installed_products_update (manager, error))
+ goto out;
+
+ if (priv->installed_products->len == 0) {
+ priv->subscription_status = GSD_SUBMAN_SUBSCRIPTION_STATUS_NO_INSTALLED_PRODUCTS;
+ goto out;
+ }
uuid = g_dbus_proxy_call_sync (priv->proxies[_RHSM_INTERFACE_CONSUMER],
"GetUuid",
@@ -590,8 +597,6 @@ _client_register_with_keys (GsdSubscriptionManager *manager,
return FALSE;
if (!_client_subscription_status_update (manager, error))
return FALSE;
- if (!_client_installed_products_update (manager, error))
- return FALSE;
_client_maybe__show_notification (manager);
/* success */
@@ -659,8 +664,6 @@ _client_register (GsdSubscriptionManager *manager,
return FALSE;
if (!_client_subscription_status_update (manager, error))
return FALSE;
- if (!_client_installed_products_update (manager, error))
- return FALSE;
_client_maybe__show_notification (manager);
return TRUE;
}
@@ -741,10 +744,6 @@ _subman_proxy_signal_cb (GDBusProxy *proxy,
g_warning ("failed to update subscription status: %s", error->message);
g_clear_error (&error);
}
- if (!_client_installed_products_update (manager, &error)) {
- g_warning ("failed to update installed products: %s", error->message);
- g_clear_error (&error);
- }
_client_maybe__show_notification (manager);
}
@@ -809,8 +808,6 @@ _client_load (GsdSubscriptionManager *manager, GError **error)
return FALSE;
if (!_client_subscription_status_update (manager, error))
return FALSE;
- if (!_client_installed_products_update (manager, error))
- return FALSE;
if (!_client_syspurpose_update (manager, error))
return FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]