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

Bug#22690: some observations



Hello,

The very same bug happened to me recently. After some investigation it seems that
the problem is caused by the following:

apache-ssl depends on apache | apache-common but also provides apache (thats
for 1.2.6+1.16-1). In case it remains in unpacked state problems begin.

debug log (a fragment of):
D000400:   checking group ...
D000400:     checking possibility  -> apache
D000400:       not installed - returning 0
D000400:      checking provider apache-ssl
D000400:       unpacked/halfconfigured, defer
D000400:     found 1
D000400:     checking possibility  -> apache-common
D000400:       not installed - returning 0
D000400:     found 1
D000400:   found 1 matched 0

process_queue() calls deferred_configure() which calls dependencies_ok().
Unfortunately dependencies_ok finds that apache-ssl depends on apache (which
is provided by the package inspected itself and hence not configured yet), so it
defers and it loops until dependtry gets over 4.

I am sorry not to have time to study it more in depth so i can't tell whether
apache-ssl description is wrong, but probably it wouldnt be bad to detect that loop.

Proposed patch:
--- dpkg/packages.c.orig        Sat Feb  6 22:28:43 1999
+++ dpkg/packages.c     Sat Feb  6 22:28:48 1999
@@ -297,8 +297,13 @@
     }
     if (possdependee->clientdata &&
         possdependee->clientdata->istobe == itb_installnew) {
-      debug(dbg_depcondetail,"      unpacked/halfconfigured, defer");
-      return 1;
+      if (possdependee == requiredby) {
+        debug(dbg_depcondetail,"      provided by itself, ok");
+        return 3;
+      } else {
+        debug(dbg_depcondetail,"      unpacked/halfconfigured, defer");
+        return 1;
+      }
     } else if (!removing && fc_configureany && !skip_due_to_hold(possdependee)) {
       fprintf(stderr,
               _("dpkg: also configuring `%s' (required by `%s')\n"),


		Regards,

			Peter
-- 
Peter Kundrat
kundrat@general-it.sk


Reply to: