On Tue, 2012-04-10 at 00:26 -0700, Saul Wold wrote:
> From: Andrei Gherzan <[email protected]>
> 
> "The suite of statements in a function definition executes with a local 
> namespace
> that is different from the global namespace. This means that all variables 
> created
> within a function are local to that function. When the suite finishes, these
> working variables are discarded."
> 
> In this way the needs_ldconfig variable in linux_so never gets True in the 
> statements
> below this function. As global statement is generally discouraged, a return 
> value
> would be a clean and fast way to solve this issue.
> 
> [YOCTO #2205]
> 
> Signed-off-by: Andrei Gherzan <[email protected]>
> ---
>  meta/classes/package.bbclass |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
> index d35667a..c98e8fa 100644
> --- a/meta/classes/package.bbclass
> +++ b/meta/classes/package.bbclass
> @@ -1263,6 +1263,7 @@ python package_do_shlibs() {
>       lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"))
>  
>       def linux_so(root, path, file):
> +             needs_ldconfig = False
>               cmd = d.getVar('OBJDUMP', True) + " -p " + 
> pipes.quote(os.path.join(root, file)) + " 2>/dev/null"
>               cmd = "PATH=\"%s\" %s" % (d.getVar('PATH', True), cmd)
>               fd = os.popen(cmd)
> @@ -1283,6 +1284,7 @@ python package_do_shlibs() {
>                                       needs_ldconfig = True
>                               if snap_symlinks and (file != this_soname):
>                                       renames.append((os.path.join(root, 
> file), os.path.join(root, this_soname)))
> +             return needs_ldconfig
>  
>       def darwin_so(root, path, file):
>               fullpath = os.path.join(root, file)
> @@ -1382,7 +1384,7 @@ python package_do_shlibs() {
>                               if targetos == "darwin" or targetos == 
> "darwin8":
>                                       darwin_so(root, dirs, file)
>                               elif os.access(path, os.X_OK) or 
> lib_re.match(file):
> -                                     linux_so(root, dirs, file)
> +                                     needs_ldconfig = linux_so(root, dirs, 
> file)

I've replied with a question on this elsewhere.

Cheers,

Richard


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to