On Mon, 2008-05-05 at 20:17 -0300, Rodrigo Vivi wrote:
> Please, ignore the last patch... it was completely wrong...
> 
> But please someone help me on this issue...
> 
> I've noticed that my problem is not the way that bitbake gets the
> RDEPENDS and RRECOMENDS, but
> -dev and -dbg packages rdepends and rrecommends the package itself and
> when trying to get the preferred provider it gets the preferred
> (defined by PREFERRED_VERSION) or the latest... but it is completely
> wrong when your are building a required version directly from bitbake
> command line, e.g. $ bitbake bash-3.0
> 
> Actually what I believe that is wrong is the creating of the cyclic
> dependency. ( bitbake bash-3.0 depends on bash-dev that depends on
> bash that by default is the latest(bash-3.2)).
> 
> So, my idea is to avoid add your self to your rdepends and rrecommends list.

Is there output about "already staged" packages in the output from
bitbake -DDD when this happens? If so, it might be worth trying the
patch below...

If that doesn't help I'll look into it further.

Cheers,

Richard

Index: providers.py
===================================================================
--- providers.py        (revision 1062)
+++ providers.py        (working copy)
@@ -215,31 +215,31 @@
 
     # look to see if one of them is already staged, or marked as preferred.
     # if so, bump it to the head of the queue
-    for p in providers:
-        pn = dataCache.pkg_fn[p]
-        pe, pv, pr = dataCache.pkg_pepvpr[p]
+    #for p in providers:
+    #    pn = dataCache.pkg_fn[p]
+    #    pe, pv, pr = dataCache.pkg_pepvpr[p]
 
-        stamp = '%s.do_populate_staging' % dataCache.stamp[p]
-        if os.path.exists(stamp):
-            (newvers, fn) = preferred_versions[pn]
-            if not fn in eligible:
-                # package was made ineligible by already-failed check
-                continue
-            oldver = "%s-%s" % (pv, pr)
-            if pe > 0:
-                oldver = "%s:%s" % (pe, oldver)
-            newver = "%s-%s" % (newvers[1], newvers[2])
-            if newvers[0] > 0:
-                newver = "%s:%s" % (newvers[0], newver)
-            if (newver != oldver):
-                extra_chat = "%s (%s) already staged but upgrading to %s to 
satisfy %s" % (pn, oldver, newver, item)
-            else:
-                extra_chat = "Selecting already-staged %s (%s) to satisfy %s" 
% (pn, oldver, item)
+    #    stamp = '%s.do_populate_staging' % dataCache.stamp[p]
+    #    if os.path.exists(stamp):
+    #        (newvers, fn) = preferred_versions[pn]
+    #        if not fn in eligible:
+    #            # package was made ineligible by already-failed check
+    #            continue
+    #        oldver = "%s-%s" % (pv, pr)
+    #        if pe > 0:
+    #            oldver = "%s:%s" % (pe, oldver)
+    #        newver = "%s-%s" % (newvers[1], newvers[2])
+    #        if newvers[0] > 0:
+    #            newver = "%s:%s" % (newvers[0], newver)
+    #        if (newver != oldver):
+    #            extra_chat = "%s (%s) already staged but upgrading to %s to 
satisfy %s" % (pn, oldver, newver, item)
+    #        else:
+    #            extra_chat = "Selecting already-staged %s (%s) to satisfy %s" 
% (pn, oldver, item)
 
-            bb.msg.note(2, bb.msg.domain.Provider, "%s" % extra_chat)
-            eligible.remove(fn)
-            eligible = [fn] + eligible
-            break
+    #        bb.msg.note(2, bb.msg.domain.Provider, "%s" % extra_chat)
+    #        eligible.remove(fn)
+    #        eligible = [fn] + eligible
+    #        break
 
     return eligible
 


_______________________________________________
Bitbake-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bitbake-dev

Reply via email to