From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] package.bbclass: needs_ldconfig from linux_so is needed in global namespace
Date: Tue, 10 Apr 2012 10:02:45 +0100 [thread overview]
Message-ID: <1334048565.6861.1.camel@ted> (raw)
In-Reply-To: <4803097570d9e27eb3931388eb76fe6d3d00591a.1333720467.git.andrei@gherzan.ro>
On Fri, 2012-04-06 at 16:57 +0300, Andrei Gherzan wrote:
> "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 <andrei@gherzan.ro>
> ---
> 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)
Shouldn't this be something like:
ldconfig = linux_so(root, dirs, file)
needs_ldconfig = needs_ldconfig or ldconfig
or can this only get called once?
Cheers,
Richard
next prev parent reply other threads:[~2012-04-10 9:12 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-06 13:56 [PATCH 0/1] Solve Bug 2205 - package.bbclass/linux_so never calls ldconfig Andrei Gherzan
2012-04-06 13:57 ` [PATCH 1/1] package.bbclass: needs_ldconfig from linux_so is needed in global namespace Andrei Gherzan
2012-04-10 9:02 ` Richard Purdie [this message]
2012-04-10 15:34 ` Andrei Gherzan
2012-04-11 11:57 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1334048565.6861.1.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.