From: Richard Jones Date: Fri, 8 May 2009 14:48:02 +0000 (+0100) Subject: List installed applications (NOT WORKING). X-Git-Tag: 1.0.22~8 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=2fa68269fa63c5aab2015e3ee6ee1d33185e6e0a;p=libguestfs.git List installed applications (NOT WORKING). --- 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"; }