[oe] [RFC][PATCH] package.bbclass: export subpackage individual version, if different from main

Koen Kooi k.kooi at student.utwente.nl
Sun Sep 20 10:51:58 UTC 2009


On 20-09-09 08:33, Denys Dmytriyenko wrote:
> Fixes the wrong versioned runtime dependency for shlib subpackages with
> own versions. Consider this:
>
> PACKAGES = "libfoo libbar"
> PV_libfoo = "1"
> PV_libbar = "2"
> PV = "3"
>
> That will generate libfoo_1 and libbar_2 packages, but version 3 will be
> exported in shlibs database, leading to the following versioned runtime
> dependencies:
>
> RDEPENDS: libfoo (>=3) libbar (>=3)
>
> This fixes the problem.

Normally I'd ask for a use case, but I know what you need it for :)

> Signed-off-by: Denys Dmytriyenko<denis at denix.org>

Acked-by: Koen Kooi <koen at openembedded.org>


>
> ---
>   classes/package.bbclass |    6 +++++-
>   1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/classes/package.bbclass b/classes/package.bbclass
> index 5a9fa50..7a0ba80 100644
> --- a/classes/package.bbclass
> +++ b/classes/package.bbclass
> @@ -652,6 +652,10 @@ python package_do_shlibs() {
>   		needs_ldconfig = False
>   		bb.debug(2, "calculating shlib provides for %s" % pkg)
>
> +		pkgver = bb.data.getVar('PV_' + pkg, d, 1)
> +		if not pkgver:
> +			pkgver = ver
> +
>   		needed[pkg] = []
>   		sonames = list()
>   		top = os.path.join(pkgdest, pkg)
> @@ -696,7 +700,7 @@ python package_do_shlibs() {
>   			fd.close()
>   			package_stagefile(shlibs_file, d)
>   			fd = open(shver_file, 'w')
> -			fd.write(ver + '\n')
> +			fd.write(pkgver + '\n')
>   			fd.close()
>   			package_stagefile(shver_file, d)
>   		if needs_ldconfig and use_ldconfig:






More information about the Openembedded-devel mailing list