[libosinfo PATCH 3/3] osinfo-detect: Be aware of tree's os variants

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In the same way done for medias, make the tree detection aware of
os-variants.

https://gitlab.com/libosinfo/libosinfo/issues/25

Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx>
---
 tools/osinfo-detect.c | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/tools/osinfo-detect.c b/tools/osinfo-detect.c
index a753bfa..4eef703 100644
--- a/tools/osinfo-detect.c
+++ b/tools/osinfo-detect.c
@@ -201,9 +201,37 @@ static void print_os_tree(OsinfoOs *os, OsinfoTree *tree, OsinfoTree *matched_tr
         if (bootiso)
             g_print("OSINFO_TREE_BOOT_ISO=%s\n", bootiso);
     } else {
-        const gchar *name = osinfo_product_get_name(OSINFO_PRODUCT(os));
+        OsinfoOsVariantList *variants;
+        const gchar *name;
+        guint num_variants;
+
+        variants = osinfo_tree_get_os_variants(matched_tree);
+        num_variants = osinfo_list_get_length(OSINFO_LIST(variants));
+        if (num_variants == 1) {
+            OsinfoEntity *variant;
+
+            variant = osinfo_list_get_nth(OSINFO_LIST(variants), 0);
+            name = osinfo_os_variant_get_name(OSINFO_OS_VARIANT(variant));
+        } else {
+            name = osinfo_product_get_name(OSINFO_PRODUCT(os));
+        }
 
         g_print(_("Tree is an installer for OS '%s'\n"), name);
+
+        if (num_variants > 1) {
+            guint i;
+
+            g_print(_("Available OS variants on tree:\n"));
+            for (i = 0; i < num_variants; i++) {
+                OsinfoEntity *variant;
+
+                variant = osinfo_list_get_nth(OSINFO_LIST(variants), i);
+                name = osinfo_os_variant_get_name(OSINFO_OS_VARIANT(variant));
+                g_print("%s\n", name);
+            }
+        }
+
+        g_clear_object(&variants);
     }
 }
 
-- 
2.20.1

_______________________________________________
Libosinfo mailing list
Libosinfo@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libosinfo




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux