[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