summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-25 16:31:46 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-02-25 16:34:47 +0000
commitfa1e7d52b29433ac7a472e5e2a87990e21e25665 (patch)
treeb9c70efb3069e3dadbfaf235ea9b0b04ee2a5a6b /meta/classes/package.bbclass
parent2069a29a8256bc94e6c1137da78d7b129a8cd4e8 (diff)
downloadpoky-fa1e7d52b29433ac7a472e5e2a87990e21e25665.tar.gz
package.bbclass: Ensure dependency version information is preserved
[BUGID #176] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package.bbclass')
-rw-r--r--meta/classes/package.bbclass32
1 files changed, 17 insertions, 15 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 2f3e9bfd14..02c2dd3fce 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -478,7 +478,8 @@ python populate_packages () {
478 dangling_links[pkg].append(os.path.normpath(target)) 478 dangling_links[pkg].append(os.path.normpath(target))
479 479
480 for pkg in package_list: 480 for pkg in package_list:
481 rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, True) or bb.data.getVar('RDEPENDS', d, True) or "") 481 rdepends = bb.utils.explode_dep_versions(bb.data.getVar('RDEPENDS_' + pkg, d, True) or bb.data.getVar('RDEPENDS', d, True) or "")
482
482 for l in dangling_links[pkg]: 483 for l in dangling_links[pkg]:
483 found = False 484 found = False
484 bb.debug(1, "%s contains dangling link %s" % (pkg, l)) 485 bb.debug(1, "%s contains dangling link %s" % (pkg, l))
@@ -489,12 +490,12 @@ python populate_packages () {
489 bb.debug(1, "target found in %s" % p) 490 bb.debug(1, "target found in %s" % p)
490 if p == pkg: 491 if p == pkg:
491 break 492 break
492 if not p in rdepends: 493 if p not in rdepends:
493 rdepends.append(p) 494 rdepends[p] = ""
494 break 495 break
495 if found == False: 496 if found == False:
496 bb.note("%s contains dangling symlink to %s" % (pkg, l)) 497 bb.note("%s contains dangling symlink to %s" % (pkg, l))
497 bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d) 498 bb.data.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False), d)
498} 499}
499populate_packages[dirs] = "${D}" 500populate_packages[dirs] = "${D}"
500 501
@@ -955,7 +956,8 @@ python package_do_pkgconfig () {
955python read_shlibdeps () { 956python read_shlibdeps () {
956 packages = bb.data.getVar('PACKAGES', d, True).split() 957 packages = bb.data.getVar('PACKAGES', d, True).split()
957 for pkg in packages: 958 for pkg in packages:
958 rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "") 959 rdepends = bb.utils.explode_dep_versions(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
960
959 for extension in ".shlibdeps", ".pcdeps", ".clilibdeps": 961 for extension in ".shlibdeps", ".pcdeps", ".clilibdeps":
960 depsfile = bb.data.expand("${PKGDEST}/" + pkg + extension, d) 962 depsfile = bb.data.expand("${PKGDEST}/" + pkg + extension, d)
961 if os.access(depsfile, os.R_OK): 963 if os.access(depsfile, os.R_OK):
@@ -963,8 +965,8 @@ python read_shlibdeps () {
963 lines = fd.readlines() 965 lines = fd.readlines()
964 fd.close() 966 fd.close()
965 for l in lines: 967 for l in lines:
966 rdepends.append(l.rstrip()) 968 rdepends[l.rstrip()] = ""
967 bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d) 969 bb.data.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False), d)
968} 970}
969 971
970python package_depchains() { 972python package_depchains() {
@@ -988,7 +990,7 @@ python package_depchains() {
988 def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d): 990 def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d):
989 991
990 #bb.note('depends for %s is %s' % (base, depends)) 992 #bb.note('depends for %s is %s' % (base, depends))
991 rreclist = bb.utils.explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "") 993 rreclist = bb.utils.explode_dep_versions(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "")
992 994
993 for depend in depends: 995 for depend in depends:
994 if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'): 996 if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
@@ -1000,16 +1002,16 @@ python package_depchains() {
1000 depend = depend.replace('-dbg', '') 1002 depend = depend.replace('-dbg', '')
1001 pkgname = getname(depend, suffix) 1003 pkgname = getname(depend, suffix)
1002 #bb.note("Adding %s for %s" % (pkgname, depend)) 1004 #bb.note("Adding %s for %s" % (pkgname, depend))
1003 if not pkgname in rreclist: 1005 if pkgname not in rreclist:
1004 rreclist.append(pkgname) 1006 rreclist[pkgname] = ""
1005 1007
1006 #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist))) 1008 #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
1007 bb.data.setVar('RRECOMMENDS_%s' % pkg, ' '.join(rreclist), d) 1009 bb.data.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False), d)
1008 1010
1009 def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d): 1011 def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d):
1010 1012
1011 #bb.note('rdepends for %s is %s' % (base, rdepends)) 1013 #bb.note('rdepends for %s is %s' % (base, rdepends))
1012 rreclist = bb.utils.explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "") 1014 rreclist = bb.utils.explode_dep_versions(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "")
1013 1015
1014 for depend in rdepends: 1016 for depend in rdepends:
1015 if depend.find('virtual-locale-') != -1: 1017 if depend.find('virtual-locale-') != -1:
@@ -1021,11 +1023,11 @@ python package_depchains() {
1021 depend = depend.replace('-dbg', '') 1023 depend = depend.replace('-dbg', '')
1022 pkgname = getname(depend, suffix) 1024 pkgname = getname(depend, suffix)
1023 #bb.note("Adding %s for %s" % (pkgname, depend)) 1025 #bb.note("Adding %s for %s" % (pkgname, depend))
1024 if not pkgname in rreclist: 1026 if pkgname not in rreclist:
1025 rreclist.append(pkgname) 1027 rreclist[pkgname] = ""
1026 1028
1027 #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist))) 1029 #bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
1028 bb.data.setVar('RRECOMMENDS_%s' % pkg, ' '.join(rreclist), d) 1030 bb.data.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False), d)
1029 1031
1030 def add_dep(list, dep): 1032 def add_dep(list, dep):
1031 dep = dep.split(' (')[0].strip() 1033 dep = dep.split(' (')[0].strip()