debian: Fix Debian package handler when --use-installed not given.
authorRichard W.M. Jones <rjones@redhat.com>
Tue, 18 Oct 2011 13:12:21 +0000 (14:12 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Tue, 18 Oct 2011 13:12:21 +0000 (14:12 +0100)
If there is no --use-installed option, then it didn't download all the
packages (only the ones not installed).  But this failed later when it
tried to unpack the packages that hadn't been downloaded.

Thus download all the packages if !use_installed.

src/febootstrap_debian.ml

index 85c9b7e..0169756 100644 (file)
@@ -62,9 +62,13 @@ let rec debian_resolve_dependencies_and_download names =
         not (List.exists (fun re -> Str.string_match re name 0) excludes)
     ) pkgs in
 
-  let present_pkgs, download_pkgs = List.partition (
-    fun pkg -> List.exists ((=) pkg) (get_installed_pkgs ())
-  ) pkgs in
+  let present_pkgs, download_pkgs =
+    if not use_installed then
+      [], pkgs
+    else
+      List.partition (
+       fun pkg -> List.exists ((=) pkg) (get_installed_pkgs ())
+      ) pkgs in
 
   debug "wanted packages (present / download): %s / %s\n"
     (String.concat " " present_pkgs)