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