[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

anna resolver and non-installable packages



Hi,

While testing the netboot version of debian-installer on GNU/kFreeBSD, I
am facing an issue with non-installable packages that are installed
anyway. The issue appears mainly with partman-*, though other
non-installable packages are installed anyway. For example partman-lvm
and partman-md complain that there is no lvm or raid support. The issue
might at some point arise on GNU/Linux, as for example partman-ufs is
not installable but installed.

This way of resolving the udeb dependencies differ from the one used to
create the d-i initrd, and this can cause some surprises depending on
the d-i flavors.

I am therefore proposing a small patch to the resolver:

--- libdebian-installer/src/packages.c
+++ libdebian-installer/src/packages.c
@@ -428,7 +428,10 @@
   {
     di_package *package = node->data;
     if (!(package->resolver & packages->resolver) && package->status_want == di_package_status_want_install)
-      di_packages_resolve_dependencies_recurse (s, package, NULL);
+      if (!di_packages_resolve_dependencies_recurse (s, package, NULL)) {
+        di_log (DI_LOG_LEVEL_WARNING, "resolver (%s): package is not installable", package->package);
+        package->status_want = di_package_status_want_unknown;
+      }
   }
 }
 
--- libdebian-installer/src/system/packages.c
+++ libdebian-installer/src/system/packages.c
@@ -242,7 +242,7 @@
   {
     check_real_anna,
     check_virtual_anna,
-    di_packages_resolve_dependencies_check_non_existant_permissive,
+    di_packages_resolve_dependencies_check_non_existant,
     di_packages_resolve_dependencies_do_real_mark,
     0,
     &sc,

The first part mark remove the "want install" status of packages that
are not installable and emit a warning in that case. The second part
change the check about non-existant packages, so that a non-existant
package is not ignored. Currently the only difference between an
existant and a non-existant package is the message in the logs.

While the first part seems to be a bug, the last part seems to be
something wanted. It is something that has been changed a few years 
ago, but I don't know the reason.

------------------------------------------------------------------------
r16018 | waldi | 2004-05-22 13:31:47 +0200 (sam. 22 mai 2004) | 3 lignes

- Make anna dependency resolver permissive again.
- Add an option to enable extensive debugging output.

------------------------------------------------------------------------

Any comment on that?

Cheers,
Aurelien

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: