summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-05-08 15:48:02 +0100
committerRichard Jones <rjones@redhat.com>2009-05-08 15:48:02 +0100
commit2fa68269fa63c5aab2015e3ee6ee1d33185e6e0a (patch)
tree74c4dd158f4ada5458b4ba75206d4874f22dc910
parent15e0fd573a87488c66cb3a6f0da01f3ab5f2f6ed (diff)
downloadlibguestfs-2fa68269fa63c5aab2015e3ee6ee1d33185e6e0a.tar.gz
libguestfs-2fa68269fa63c5aab2015e3ee6ee1d33185e6e0a.tar.xz
libguestfs-2fa68269fa63c5aab2015e3ee6ee1d33185e6e0a.zip
List installed applications (NOT WORKING).
-rwxr-xr-xinspector/virt-inspector.pl30
1 files changed, 25 insertions, 5 deletions
diff --git a/inspector/virt-inspector.pl b/inspector/virt-inspector.pl
index a5ba0050..c5c38135 100755
--- a/inspector/virt-inspector.pl
+++ b/inspector/virt-inspector.pl
@@ -586,7 +586,7 @@ sub check_for_applications
"%{name} %{epoch} %{version} %{release} %{arch}\n"]);
foreach (@lines) {
if (m/^(.*) (.*) (.*) (.*) (.*)$/) {
- $epoch = $2;
+ my $epoch = $2;
$epoch = "" if $epoch eq "(none)";
my $app = {
name => $1,
@@ -600,9 +600,15 @@ sub check_for_applications
}
}
} elsif ($os eq "windows") {
- # This sucks ... XXX
- XXX
+ # XXX
+ # I worked out a general plan for this, but haven't
+ # implemented it yet. We can iterate over /Program Files
+ # looking for *.EXE files, which we download, then use
+ # i686-pc-mingw32-windres on, to find the VERSIONINFO
+ # section, which has a lot of useful information.
}
+
+ $oses{$root_dev}->{apps} = \@apps;
}
sub check_for_kernels
@@ -688,7 +694,12 @@ sub output_text_os
if exists $filesystems->{$_}{content};
}
- # XXX Applications.
+ print " Applications:\n";
+ my @apps = @{$os->{apps}};
+ foreach (@apps) {
+ print " $_->{name} $_->{version}\n"
+ }
+
# XXX Kernel.
}
@@ -734,8 +745,17 @@ sub output_xml_os
}
print "</filesystems>\n";
- # XXX Applications.
+ print "<applications>\n";
+ my @apps = @{$os->{apps}};
+ foreach (@apps) {
+ print "<application>\n";
+ print "<name>$_->{name}</name><version>$_->{version}</version>\n";
+ print "</application>\n";
+ }
+ print "</applications>\n";
+
# XXX Kernel.
+
print "</operatingsystem>\n";
}