[oe-commits] Richard Purdie : package.bbclass: Split out package_fixsymlinks function

git at git.openembedded.org git at git.openembedded.org
Wed Jan 30 14:16:38 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: 24d50f0b35999d39a0afabdc2e7dc6e33420a41c
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=24d50f0b35999d39a0afabdc2e7dc6e33420a41c

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Tue Jan 29 13:55:59 2013 +0000

package.bbclass: Split out package_fixsymlinks function

The symlink handling code doesn't need to being part of populate_packages
and is logically separate so split it out into a separate function,
package_fixsymlinks.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/classes/package.bbclass |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 858afbd..8bf80f5 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -919,7 +919,7 @@ python split_and_strip_files () {
 }
 
 python populate_packages () {
-    import glob, stat, errno, re, subprocess
+    import glob, re, subprocess
 
     workdir = d.getVar('WORKDIR', True)
     outdir = d.getVar('DEPLOY_DIR', True)
@@ -1037,10 +1037,17 @@ python populate_packages () {
             package_qa_handle_error("installed_vs_shipped", msg, d)
 
     bb.build.exec_func("package_name_hook", d)
+}
+populate_packages[dirs] = "${D}"
+
+python package_fixsymlinks () {
+    import errno
+    pkgdest = d.getVar('PKGDEST', True)
+    packages = d.getVar("PACKAGES").split()
 
     dangling_links = {}
     pkg_files = {}
-    for pkg in package_list:
+    for pkg in packages:
         dangling_links[pkg] = []
         pkg_files[pkg] = []
         inst_root = os.path.join(pkgdest, pkg)
@@ -1059,13 +1066,13 @@ python populate_packages () {
                         target = os.path.join(root[len(inst_root):], target)
                     dangling_links[pkg].append(os.path.normpath(target))
 
-    for pkg in package_list:
+    for pkg in packages:
         rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg, True) or d.getVar('RDEPENDS', True) or "")
 
         for l in dangling_links[pkg]:
             found = False
             bb.debug(1, "%s contains dangling link %s" % (pkg, l))
-            for p in package_list:
+            for p in packages:
                 for f in pkg_files[p]:
                     if f == l:
                         found = True
@@ -1079,7 +1086,6 @@ python populate_packages () {
                 bb.note("%s contains dangling symlink to %s" % (pkg, l))
         d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False))
 }
-populate_packages[dirs] = "${D}"
 
 PKGDESTWORK = "${WORKDIR}/pkgdata"
 
@@ -1842,6 +1848,7 @@ PACKAGEFUNCS ?= "package_get_auto_pr \
                 split_and_strip_files \
                 fixup_perms \
                 populate_packages \
+                package_fixsymlinks \
                 package_do_filedeps \
                 package_do_shlibs \
                 package_do_pkgconfig \





More information about the Openembedded-commits mailing list