mirror of
https://git.yoctoproject.org/poky
synced 2026-06-01 13:09:50 +00:00
package.bbclass: Ensure dependency version information is preserved
[BUGID #176] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
2069a29a82
commit
fa1e7d52b2
@@ -478,7 +478,8 @@ python populate_packages () {
|
|||||||
dangling_links[pkg].append(os.path.normpath(target))
|
dangling_links[pkg].append(os.path.normpath(target))
|
||||||
|
|
||||||
for pkg in package_list:
|
for pkg in package_list:
|
||||||
rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, True) or bb.data.getVar('RDEPENDS', d, True) or "")
|
rdepends = bb.utils.explode_dep_versions(bb.data.getVar('RDEPENDS_' + pkg, d, True) or bb.data.getVar('RDEPENDS', d, True) or "")
|
||||||
|
|
||||||
for l in dangling_links[pkg]:
|
for l in dangling_links[pkg]:
|
||||||
found = False
|
found = False
|
||||||
bb.debug(1, "%s contains dangling link %s" % (pkg, l))
|
bb.debug(1, "%s contains dangling link %s" % (pkg, l))
|
||||||
@@ -489,12 +490,12 @@ python populate_packages () {
|
|||||||
bb.debug(1, "target found in %s" % p)
|
bb.debug(1, "target found in %s" % p)
|
||||||
if p == pkg:
|
if p == pkg:
|
||||||
break
|
break
|
||||||
if not p in rdepends:
|
if p not in rdepends:
|
||||||
rdepends.append(p)
|
rdepends[p] = ""
|
||||||
break
|
break
|
||||||
if found == False:
|
if found == False:
|
||||||
bb.note("%s contains dangling symlink to %s" % (pkg, l))
|
bb.note("%s contains dangling symlink to %s" % (pkg, l))
|
||||||
bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
|
bb.data.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False), d)
|
||||||
}
|
}
|
||||||
populate_packages[dirs] = "${D}"
|
populate_packages[dirs] = "${D}"
|
||||||
|
|
||||||
@@ -955,7 +956,8 @@ python package_do_pkgconfig () {
|
|||||||
python read_shlibdeps () {
|
python read_shlibdeps () {
|
||||||
packages = bb.data.getVar('PACKAGES', d, True).split()
|
packages = bb.data.getVar('PACKAGES', d, True).split()
|
||||||
for pkg in packages:
|
for pkg in packages:
|
||||||
rdepends = bb.utils.explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
|
rdepends = bb.utils.explode_dep_versions(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
|
||||||
|
|
||||||
for extension in ".shlibdeps", ".pcdeps", ".clilibdeps":
|
for extension in ".shlibdeps", ".pcdeps", ".clilibdeps":
|
||||||
depsfile = bb.data.expand("${PKGDEST}/" + pkg + extension, d)
|
depsfile = bb.data.expand("${PKGDEST}/" + pkg + extension, d)
|
||||||
if os.access(depsfile, os.R_OK):
|
if os.access(depsfile, os.R_OK):
|
||||||
@@ -963,8 +965,8 @@ python read_shlibdeps () {
|
|||||||
lines = fd.readlines()
|
lines = fd.readlines()
|
||||||
fd.close()
|
fd.close()
|
||||||
for l in lines:
|
for l in lines:
|
||||||
rdepends.append(l.rstrip())
|
rdepends[l.rstrip()] = ""
|
||||||
bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
|
bb.data.setVar('RDEPENDS_' + pkg, bb.utils.join_deps(rdepends, commasep=False), d)
|
||||||
}
|
}
|
||||||
|
|
||||||
python package_depchains() {
|
python package_depchains() {
|
||||||
@@ -988,7 +990,7 @@ python package_depchains() {
|
|||||||
def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d):
|
def pkg_adddeprrecs(pkg, base, suffix, getname, depends, d):
|
||||||
|
|
||||||
#bb.note('depends for %s is %s' % (base, depends))
|
#bb.note('depends for %s is %s' % (base, depends))
|
||||||
rreclist = bb.utils.explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "")
|
rreclist = bb.utils.explode_dep_versions(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "")
|
||||||
|
|
||||||
for depend in depends:
|
for depend in depends:
|
||||||
if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
|
if depend.find('-native') != -1 or depend.find('-cross') != -1 or depend.startswith('virtual/'):
|
||||||
@@ -1000,16 +1002,16 @@ python package_depchains() {
|
|||||||
depend = depend.replace('-dbg', '')
|
depend = depend.replace('-dbg', '')
|
||||||
pkgname = getname(depend, suffix)
|
pkgname = getname(depend, suffix)
|
||||||
#bb.note("Adding %s for %s" % (pkgname, depend))
|
#bb.note("Adding %s for %s" % (pkgname, depend))
|
||||||
if not pkgname in rreclist:
|
if pkgname not in rreclist:
|
||||||
rreclist.append(pkgname)
|
rreclist[pkgname] = ""
|
||||||
|
|
||||||
#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
|
#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
|
||||||
bb.data.setVar('RRECOMMENDS_%s' % pkg, ' '.join(rreclist), d)
|
bb.data.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False), d)
|
||||||
|
|
||||||
def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d):
|
def pkg_addrrecs(pkg, base, suffix, getname, rdepends, d):
|
||||||
|
|
||||||
#bb.note('rdepends for %s is %s' % (base, rdepends))
|
#bb.note('rdepends for %s is %s' % (base, rdepends))
|
||||||
rreclist = bb.utils.explode_deps(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "")
|
rreclist = bb.utils.explode_dep_versions(bb.data.getVar('RRECOMMENDS_' + pkg, d, True) or bb.data.getVar('RRECOMMENDS', d, True) or "")
|
||||||
|
|
||||||
for depend in rdepends:
|
for depend in rdepends:
|
||||||
if depend.find('virtual-locale-') != -1:
|
if depend.find('virtual-locale-') != -1:
|
||||||
@@ -1021,11 +1023,11 @@ python package_depchains() {
|
|||||||
depend = depend.replace('-dbg', '')
|
depend = depend.replace('-dbg', '')
|
||||||
pkgname = getname(depend, suffix)
|
pkgname = getname(depend, suffix)
|
||||||
#bb.note("Adding %s for %s" % (pkgname, depend))
|
#bb.note("Adding %s for %s" % (pkgname, depend))
|
||||||
if not pkgname in rreclist:
|
if pkgname not in rreclist:
|
||||||
rreclist.append(pkgname)
|
rreclist[pkgname] = ""
|
||||||
|
|
||||||
#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
|
#bb.note('setting: RRECOMMENDS_%s=%s' % (pkg, ' '.join(rreclist)))
|
||||||
bb.data.setVar('RRECOMMENDS_%s' % pkg, ' '.join(rreclist), d)
|
bb.data.setVar('RRECOMMENDS_%s' % pkg, bb.utils.join_deps(rreclist, commasep=False), d)
|
||||||
|
|
||||||
def add_dep(list, dep):
|
def add_dep(list, dep):
|
||||||
dep = dep.split(' (')[0].strip()
|
dep = dep.split(' (')[0].strip()
|
||||||
|
|||||||
Reference in New Issue
Block a user