[Libguestfs] [PATCH 2/5] debian: Get installed package list in the ph_init handler.

Richard W.M. Jones rjones at redhat.com
Tue Oct 18 13:21:00 UTC 2011


From: "Richard W.M. Jones" <rjones at redhat.com>

Use the Debian ph_init handler to get the list of installed
packages.
---
 src/febootstrap_debian.ml |   23 +++++++++--------------
 1 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/src/febootstrap_debian.ml b/src/febootstrap_debian.ml
index e4b42af..85c9b7e 100644
--- a/src/febootstrap_debian.ml
+++ b/src/febootstrap_debian.ml
@@ -28,25 +28,20 @@ open Febootstrap_cmdline
 (* Create a temporary directory for use by all the functions in this file. *)
 let tmpdir = tmpdir ()
 
-let get_installed_pkgs =
-  let pkgs = ref None in
-  let rec f () =
-    match !pkgs with
-    | None ->
-      pkgs :=
-        Some (run_command_get_lines
-                "dpkg-query --show --showformat='${Package}\\n'");
-      f ()
-    | Some pkgs -> pkgs
-  in
-  f
-
 let debian_detect () =
   file_exists "/etc/debian_version" &&
     Config.aptitude <> "no" && Config.apt_cache <> "no" && Config.dpkg <> "no"
 
+let installed_pkgs = ref []
+
 let debian_init () =
-  ()
+  installed_pkgs :=
+    run_command_get_lines "dpkg-query --show --showformat='${Package}\\n'"
+
+let get_installed_pkgs () =
+  match !installed_pkgs with
+    | [] -> assert false
+    | pkgs -> pkgs
 
 let rec debian_resolve_dependencies_and_download names =
   let cmd =
-- 
1.7.6




More information about the Libguestfs mailing list