poldek: poldek/install3/requirements.c, poldek/install3/process.c ...

mis mis at pld-linux.org
Sun Jan 27 19:33:39 CET 2008


Author: mis                          Date: Sun Jan 27 18:33:39 2008 GMT
Module: poldek                        Tag: HEAD
---- Log message:
- package marking issues

---- Files affected:
poldek/poldek/install3:
   requirements.c (1.1 -> 1.2) , process.c (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: poldek/poldek/install3/requirements.c
diff -u poldek/poldek/install3/requirements.c:1.1 poldek/poldek/install3/requirements.c:1.2
--- poldek/poldek/install3/requirements.c:1.1	Wed Jan 23 23:56:19 2008
+++ poldek/poldek/install3/requirements.c	Sun Jan 27 19:33:34 2008
@@ -181,14 +181,15 @@
 
     if ((p = find_successor(indent, ictx, pkg, &succ)) == NULL)
         return 0;
-
-    if (pkg_is_marked_i(ictx->ts->pms, p)) /* internally marked */
+    
+    /* already in inset or will be there soon  */
+    if (i3_is_marked(ictx, p) || pkg_is_marked_i(ictx->ts->pms, p))
         install = 1;
     
     else if (succ.by_obsoletes && !i3_is_marked(ictx, p))
         install = 1;
     
-    else if (ictx->ts->getop(ictx->ts, POLDEK_OP_GREEDY)) {
+    else if (ictx->ts->getop(ictx->ts, POLDEK_OP_GREEDY)) { 
         n_assert(!i3_is_marked(ictx, p));
         install = 1;
     }

================================================================
Index: poldek/poldek/install3/process.c
diff -u poldek/poldek/install3/process.c:1.1 poldek/poldek/install3/process.c:1.2
--- poldek/poldek/install3/process.c:1.1	Wed Jan 23 23:56:19 2008
+++ poldek/poldek/install3/process.c	Sun Jan 27 19:33:34 2008
@@ -158,13 +158,18 @@
     trace(indent, "PROCESS %s as NEW", pkg_id(pkg));
     n_assert(!pkg_isset_mf(ictx->processed, pkg, PKGMARK_GRAY));
     
-    // package marked by hand but triggered by dependencies earlier
-    if (!i3_is_marked(ictx, pkg) && pkg_is_marked_i(ictx->ts->pms, pkg)) {
+    // packages marked by hand but triggered by dependencies earlier
+    if (i3_is_marked(ictx, pkg)) {
+        markflag = 0;
+        indent = -1;
+        
+    } else if (pkg_is_marked_i(ictx->ts->pms, pkg)) {
         markflag = PKGMARK_MARK;
         indent = -1;
     }
     
-    mark_message(indent, i3pkg);
+    if (markflag == PKGMARK_DEP)
+        mark_message(indent, i3pkg);
 
     rc = do_process_package(indent, ictx, i3pkg, markflag);
     if (rc == -1) {
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/poldek/poldek/install3/requirements.c?r1=1.1&r2=1.2&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/poldek/poldek/install3/process.c?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list