[oe] [RFC] Re: DISTRO_PR, ipkg dependencies, and meta toolchains...

Mike (mwester) mwester at dls.net
Mon Nov 3 02:19:22 UTC 2008


Mike (mwester) wrote:

(Replying to my own email, and what's worse -- I'm top-posting!)
(And I changed the subject line to add [RFC] to get your attention.)

I found the problem.  Here's a fix:
--------------------------------------------
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 8db000b..a1cbe61 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -459,7 +459,7 @@ python populate_packages () {
        for pkg in package_list:
                rdepends = explode_deps(bb.data.getVar('RDEPENDS_' +
pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "

-               remstr = "${PN} (= ${DEBPV})"
+               remstr = "${PN} (= ${DEBPV}${DISTRO_PR})"
                if main_is_empty and remstr in rdepends:
                        rdepends.remove(remstr)
                for l in dangling_links[pkg]:
--------------------------------------------

This changes the dependencies written into the "-dev" packages so that
they include the DISTRO_PR suffix correctly.

Note that this change will require a full rebuild of every -dev package
in order to correct the dependencies listed therein.

In addition, there are a couple of recipes that use DEBPV directly -- if
nobody  objects, I'll add DISTRO_PR to these as well:

linux-libc-headers/linux-libc-headers.inc
net-snmp/net-snmp_5.4.1.bb

(By-the-way, another solution might be to set DEBPV to include the
DISTRO_PR, but grep was unable to tell me where that variable is set.)

If nobody objects I'll commit this fix.

Mike (mwester)

> Consider the control data for openssl-dev (exerpts):
> 
> Package: openssl-dev
> Version: 0.9.7g-r7.1
> ...
> Depends: openssl (= 0.9.7g-r7), libcrypto0.9.7, libssl0.9.7
> Recommends: libc6-dev, libgcc-dev, libcrypto-dev...
> 
> Note in particular the openssl-dev version number, which has the
> DISTRO_PR appended to make it "-r7.1" instead of just "-r7".
> 
> But in the dependencies, it lists the specific version of the
> corresponding runtime -- without the DISTRO_PR.  And of course, that
> specific version doesn't exist (or rather, if it exists in someone's
> environment, it would be a left-over ipkg from before the DISTRO_PR was
> added).
> 
> One place this bites us is in the SDK assembling (bitbake
> meta-toolchain-<whatever>):
> 
> | Collected errors:
> |  * ERROR: Cannot satisfy the following dependencies for
> task-fso-toolchain-target:
> |        *  openssl (= 0.9.7g-r7) *
> 
> Poking about I can find a place in the appropriate bbclass files to hack
> things up so that my specific problem will be resolved -- but I'd prefer
> that someone who understands just how much of the rdepends/rrecommends
> needs this treatment offer some advice first.  (And of course, I should
> warn anyone who cares that I know Perl far better than Python, a fact
> that would almost certainly end up reflected in the patch I would write!)
> 
> Mike (mwester)
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
> 




More information about the Openembedded-devel mailing list