diff options
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r-- | meta/classes/package.bbclass | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 2f1695b646..1ccac9cdb8 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -1064,24 +1064,29 @@ python package_fixsymlinks () { | |||
1064 | target = os.path.join(root[len(inst_root):], target) | 1064 | target = os.path.join(root[len(inst_root):], target) |
1065 | dangling_links[pkg].append(os.path.normpath(target)) | 1065 | dangling_links[pkg].append(os.path.normpath(target)) |
1066 | 1066 | ||
1067 | for pkg in packages: | 1067 | newrdepends = {} |
1068 | rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg, True) or d.getVar('RDEPENDS', True) or "") | 1068 | for pkg in dangling_links: |
1069 | |||
1070 | for l in dangling_links[pkg]: | 1069 | for l in dangling_links[pkg]: |
1071 | found = False | 1070 | found = False |
1072 | bb.debug(1, "%s contains dangling link %s" % (pkg, l)) | 1071 | bb.debug(1, "%s contains dangling link %s" % (pkg, l)) |
1073 | for p in packages: | 1072 | for p in packages: |
1074 | for f in pkg_files[p]: | 1073 | if l in pkg_files[p]: |
1075 | if f == l: | ||
1076 | found = True | 1074 | found = True |
1077 | bb.debug(1, "target found in %s" % p) | 1075 | bb.debug(1, "target found in %s" % p) |
1078 | if p == pkg: | 1076 | if p == pkg: |
1079 | break | 1077 | break |
1080 | if p not in rdepends: | 1078 | if pkg not in newrdepends: |
1081 | rdepends[p] = [] | 1079 | newrdepends[pkg] = [] |
1080 | newrdepends[pkg].append(p) | ||
1082 | break | 1081 | break |
1083 | if found == False: | 1082 | if found == False: |
1084 | bb.note("%s contains dangling symlink to %s" % (pkg, l)) | 1083 | bb.note("%s contains dangling symlink to %s" % (pkg, l)) |
1084 | |||
1085 | for pkg in newrdepends: | ||
1086 | rdepends = bb.utils.explode_dep_versions2(d.getVar('RDEPENDS_' + pkg, True) or d.getVar('RDEPENDS', True) or "") | ||
1087 | for p in newrdepends[pkg]: | ||
1088 | if p not in rdepends: | ||
1089 | rdepends[p] = [] | ||
1085 | d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False)) | 1090 | d.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False)) |
1086 | } | 1091 | } |
1087 | 1092 | ||