From 2fa68269fa63c5aab2015e3ee6ee1d33185e6e0a Mon Sep 17 00:00:00 2001 From: Richard Jones Date: Fri, 8 May 2009 15:48:02 +0100 Subject: [PATCH] List installed applications (NOT WORKING). --- inspector/virt-inspector.pl | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/inspector/virt-inspector.pl b/inspector/virt-inspector.pl index a5ba005..c5c3813 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 "\n"; - # XXX Applications. + print "\n"; + my @apps = @{$os->{apps}}; + foreach (@apps) { + print "\n"; + print "$_->{name}$_->{version}\n"; + print "\n"; + } + print "\n"; + # XXX Kernel. + print "\n"; } -- 1.8.3.1