diff options
| author | Patrick Griffis <tingping@tingping.se> | 2018-08-20 19:15:53 -0400 |
|---|---|---|
| committer | Patrick Griffis <tingping@tingping.se> | 2018-08-20 19:28:10 -0400 |
| commit | b1ae27215bdf9011d9702fdaa574d2c581434a87 (patch) | |
| tree | 1fe31b935538bbda534bdbfc1f16e76895ae1aed | |
| parent | 7b8e9ea4a17ccaf3418c48294ae13b784d19cb63 (diff) | |
| download | flatpak-tingping/tag.tar.gz | |
transaction: Print tags on installtingping/tag
This is specifically useful for the `properietary` tag that is
used on flathub.
| -rw-r--r-- | app/flatpak-cli-transaction.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/flatpak-cli-transaction.c b/app/flatpak-cli-transaction.c index 5ccc0227..3820c42a 100644 --- a/app/flatpak-cli-transaction.c +++ b/app/flatpak-cli-transaction.c @@ -435,6 +435,28 @@ append_bus (GPtrArray *talk, } static void +append_tags (GPtrArray *tags_array, + GKeyFile *metadata, + GKeyFile *old_metadata) +{ + gsize i, size = 0; + g_auto(GStrv) tags = g_key_file_get_string_list (metadata, FLATPAK_METADATA_GROUP_APPLICATION, "tags", + &size, NULL); + g_auto(GStrv) old_tags = NULL; + + if (old_metadata) + old_tags = g_key_file_get_string_list (old_metadata, FLATPAK_METADATA_GROUP_APPLICATION, "tags", + NULL, NULL); + + for (i = 0; i < size; i++) + { + const char *tag = tags[i]; + if (old_tags == NULL || !g_strv_contains ((const char * const *)old_tags, tag)) + g_ptr_array_add (tags_array, g_strdup (tag)); + } +} + +static void print_perm_line (FlatpakTablePrinter *printer, const char *title, GPtrArray *items) @@ -469,6 +491,7 @@ print_permissions (FlatpakTablePrinter *printer, g_autoptr(GPtrArray) session_bus_own = g_ptr_array_new_with_free_func (g_free); g_autoptr(GPtrArray) system_bus_talk = g_ptr_array_new_with_free_func (g_free); g_autoptr(GPtrArray) system_bus_own = g_ptr_array_new_with_free_func (g_free); + g_autoptr(GPtrArray) tags = g_ptr_array_new_with_free_func (g_free); if (metadata == NULL) return; @@ -508,6 +531,10 @@ print_permissions (FlatpakTablePrinter *printer, print_perm_line (printer, old_metadata ? _("new system dbus ownership") : _("system dbus ownership"), system_bus_own); + append_tags (tags, metadata, old_metadata); + print_perm_line (printer, + old_metadata ? _("new tags") : _("tags"), + tags); } static gboolean |
