inspector: Add product_name field to output.
[libguestfs.git] / inspector / virt-inspector
index 13673af..e5c3990 100755 (executable)
@@ -54,10 +54,6 @@ para-virtualized (PV), what applications are installed and more.
 Virt-inspector can produce output in several formats, including a
 readable text report, and XML for feeding into other programs.
 
 Virt-inspector can produce output in several formats, including a
 readable text report, and XML for feeding into other programs.
 
-Virt-inspector should only be run on I<inactive> virtual machines.
-The program tries to determine that the machine is inactive and will
-refuse to run if it thinks you are trying to inspect a running domain.
-
 In the normal usage, use C<virt-inspector domname> where C<domname> is
 the libvirt domain (see: C<virsh list --all>).
 
 In the normal usage, use C<virt-inspector domname> where C<domname> is
 the libvirt domain (see: C<virsh list --all>).
 
@@ -358,6 +354,7 @@ sub output_text_os
     print $os->{arch}, " " if exists $os->{arch};
     print $os->{major_version} if exists $os->{major_version};
     print ".", $os->{minor_version} if exists $os->{minor_version};
     print $os->{arch}, " " if exists $os->{arch};
     print $os->{major_version} if exists $os->{major_version};
     print ".", $os->{minor_version} if exists $os->{minor_version};
+    print " (", $os->{product_name}, ")" if exists $os->{product_name};
     print " ";
     print "on ", $os->{root_device}, ":\n";
 
     print " ";
     print "on ", $os->{root_device}, ":\n";
 
@@ -411,13 +408,15 @@ sub output_text_os
         print "    $_->{name} $_->{version}\n"
     }
 
         print "    $_->{name} $_->{version}\n"
     }
 
-    print __"  Kernels:\n";
-    my @kernels = @{$os->{kernels}};
-    foreach (@kernels) {
-        print "    $_->{version} ($_->{arch})\n";
-        my @modules = @{$_->{modules}};
-        foreach (@modules) {
-            print "      $_\n";
+    if ($os->{kernels}) {
+        print __"  Kernels:\n";
+        my @kernels = @{$os->{kernels}};
+        foreach (@kernels) {
+            print "    $_->{version} ($_->{arch})\n";
+            my @modules = @{$_->{modules}};
+            foreach (@modules) {
+                print "      $_\n";
+            }
         }
     }
 
         }
     }
 
@@ -449,6 +448,7 @@ sub output_xml_os
 
     foreach ( [ "name" => "os" ],
               [ "distro" => "distro" ],
 
     foreach ( [ "name" => "os" ],
               [ "distro" => "distro" ],
+              [ "product_name" => "product_name" ],
               [ "arch" => "arch" ],
               [ "major_version" => "major_version" ],
               [ "minor_version" => "minor_version" ],
               [ "arch" => "arch" ],
               [ "major_version" => "major_version" ],
               [ "minor_version" => "minor_version" ],
@@ -523,7 +523,10 @@ sub output_xml_os
     foreach (@apps) {
         $xml->startTag("application");
         $xml->dataElement("name", $_->{name});
     foreach (@apps) {
         $xml->startTag("application");
         $xml->dataElement("name", $_->{name});
+        $xml->dataElement("epoch", $_->{epoch}) if defined $_->{epoch};
         $xml->dataElement("version", $_->{version});
         $xml->dataElement("version", $_->{version});
+        $xml->dataElement("release", $_->{release});
+        $xml->dataElement("arch", $_->{arch});
         $xml->endTag("application");
     }
     $xml->endTag("applications");
         $xml->endTag("application");
     }
     $xml->endTag("applications");
@@ -550,23 +553,23 @@ sub output_xml_os
     }
 
     if ($os->{kernels}) {
     }
 
     if ($os->{kernels}) {
-       $xml->startTag("kernels");
-       my @kernels = @{$os->{kernels}};
-       foreach (@kernels) {
-           $xml->startTag("kernel",
-                          "version" => $_->{version},
-                          "arch" => $_->{arch});
-           $xml->startTag("modules");
-           my @modules = @{$_->{modules}};
-           foreach (@modules) {
-               $xml->dataElement("module", $_);
-           }
-           $xml->endTag("modules");
-           $xml->dataElement("path", $_->{path}) if(defined($_->{path}));
-           $xml->dataElement("package", $_->{package}) if(defined($_->{package}));
-           $xml->endTag("kernel");
-       }
-       $xml->endTag("kernels");
+        $xml->startTag("kernels");
+        my @kernels = @{$os->{kernels}};
+        foreach (@kernels) {
+            $xml->startTag("kernel",
+                           "version" => $_->{version},
+                           "arch" => $_->{arch});
+            $xml->startTag("modules");
+            my @modules = @{$_->{modules}};
+            foreach (@modules) {
+                $xml->dataElement("module", $_);
+            }
+            $xml->endTag("modules");
+            $xml->dataElement("path", $_->{path}) if(defined($_->{path}));
+            $xml->dataElement("package", $_->{package}) if(defined($_->{package}));
+            $xml->endTag("kernel");
+        }
+        $xml->endTag("kernels");
     }
 
     if (exists $os->{root}->{registry}) {
     }
 
     if (exists $os->{root}->{registry}) {