List application in Debian based vm images
authorGuido Günther <agx@sigxcpu.org>
Wed, 24 Feb 2010 08:07:56 +0000 (09:07 +0100)
committerRichard Jones <rjones@redhat.com>
Wed, 24 Feb 2010 15:30:41 +0000 (15:30 +0000)
Hi,
attached patch adds the code to list applications installed in Debian
based vm images.
Cheers,
 -- Guido

>From 9427a14725b33415058a0713923c62bd231504ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Tue, 23 Feb 2010 21:05:02 +0100
Subject: [PATCH 2/2] Add application listing for Debian

perl/lib/Sys/Guestfs/Lib.pm

index c7b5e7e..e8796ad 100644 (file)
@@ -1453,6 +1453,23 @@ sub _check_for_applications
                     push @apps, $app
                 }
             }
+        } elsif (defined $package_format && $package_format eq "deb") {
+            my @lines = $g->command_lines
+                (["dpkg-query",
+                  "-f", '${Package} ${Version} ${Architecture} ${Status}\n',
+                  "-W"]);
+            foreach (@lines) {
+                if (m/^(.*) (.*) (.*) (.*) (.*) (.*)$/) {
+                    if ( $6 eq "installed" ) {
+                        my $app = {
+                            name => $1,
+                            version => $2,
+                            arch => $3
+                        };
+                        push @apps, $app
+                    }
+                }
+            }
         }
     } elsif ($osn eq "windows") {
         # XXX