OSDN Git Service

Interim work-around for MinGW-Bug #3520864.
authorKeith Marshall <keithmarshall@users.sourceforge.net>
Wed, 25 Apr 2012 22:55:00 +0000 (22:55 +0000)
committerKeith Marshall <keithmarshall@users.sourceforge.net>
Wed, 25 Apr 2012 22:55:00 +0000 (22:55 +0000)
ChangeLog
src/pkgdeps.cpp
src/pkgexec.cpp

index a4a0fed..60094cf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2012-04-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
+
+       Interim work-around for MinGW-Bug #3520864.
+
+       * src/pkgdeps.cpp (pkgXmlDocument::ResolveDependencies):
+       [DEBUG_TRACE_DEPENDENCIES]: Add request flags to messages reporting
+       the scheduling of installation activities.
+
+       * src/pkgexec.cpp (pkgXmlDocument::Schedule): Add temporary diagnostic
+       hooks to confirm request flags; bracket them with #if 0 ... #endif.
+       [ACTION_PRIMARY && pre-scheduled request]: Don't trash request flags
+       when updating the pre-existing action item data.
+
 2012-04-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
 
        Fix MinGW-Bug #3520488
index 45359c2..f6fd61a 100644 (file)
@@ -484,8 +484,9 @@ pkgXmlDocument::ResolveDependencies( pkgXmlNode* package, pkgActionItem* rank )
           * we are performing a removal).
           */
          DEBUG_INVOKE_IF( DEBUG_REQUEST( DEBUG_TRACE_DEPENDENCIES ),
-             dmh_printf( "%*s%s: schedule installation\n", indent + 2, "",
-                 selected->GetPropVal( tarname_key, value_unknown )
+             dmh_printf( "%*s%s: schedule installation (flags=0x%08x)\n",
+                 indent + 2, "", selected->GetPropVal( tarname_key, value_unknown ),
+                 promote( request, ACTION_INSTALL )
                )
            );
          rank = Schedule( promote( request, ACTION_INSTALL ), wanted, rank );
index 68bb02e..b1d0bf2 100644 (file)
@@ -376,7 +376,13 @@ pkgActionItem* pkgXmlDocument::Schedule
      * we update the already scheduled request to reflect this...
      */
     if( (action & ACTION_PRIMARY) == ACTION_PRIMARY )
-      prior->SetPrimary( rank = ref->Schedule( action & ACTION_MASK, item ) );
+      prior->SetPrimary( rank = ref->Schedule( action /* & ACTION_MASK */, item ) );
+#   if 0
+      dmh_printf( "Schedule(0x%08x):%s(prior)\n",
+         prior->HasAttribute((unsigned long)(-1)),
+         prior->Selection()->ArchiveName()
+       );
+#   endif
     return prior;
   }
   /* ...otherwise, when this request produces a valid package reference,
@@ -385,6 +391,12 @@ pkgActionItem* pkgXmlDocument::Schedule
   else if( ((ref = ref->Schedule( action, item )) != NULL)
   &&   ((ref->Selection() != NULL) || (ref->Selection( to_remove ) != NULL)) )
   {
+#   if 0
+      dmh_printf( "Schedule(0x%08x):%s(new)\n",
+         ref->HasAttribute((unsigned long)(-1)),
+         ref->Selection()->ArchiveName()
+       );
+#   endif
     /* ...and, when successfully raised, add it to the task list...
      */
     if( rank )