From: Richard W.M. Jones Date: Tue, 18 Oct 2011 13:11:14 +0000 (+0100) Subject: debian: Get installed package list in the ph_init handler. X-Git-Tag: 3.12~4 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=1e70cc1d9b1630766431bafe35668c3828df578a;p=febootstrap.git debian: Get installed package list in the ph_init handler. Use the Debian ph_init handler to get the list of installed packages. --- 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 =