Re: [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]

 



On Fri, Apr 12, 2019 at 10:26 AM Daniel P. Berrangé <berrange@xxxxxxxxxx> wrote:
>
> On Fri, Apr 12, 2019 at 10:19:54AM +0200, Fabiano Fidêncio wrote:
> > 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);
>
> We should be printing info about variants in the machine readable
> section too IMHO - that's a pre-existing bug for media too.

I do agree.
It's going to be covered in a different patch set though.

>
> >      } 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
>
> Regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

_______________________________________________
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