Skip to content

Commit

Permalink
Fix recording and reading PE in shlib dependencies
Browse files Browse the repository at this point in the history
Now the variables in memory use the PE:PV format, only the *.list
files should store PE#PV so their format it not broken.
The conversion happens when writing a packages' own *.list files
and when reading other packages' files.

Signed-off-by: Zoltán Böszörményi <zboszor@pr.hu>
  • Loading branch information
Böszörményi Zoltán committed Jan 11, 2018
1 parent 6ba2b98 commit 1061e76
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions meta/classes/package.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -1671,7 +1671,7 @@ python package_do_shlibs() {

pkgpe = d.getVar('PE')
if pkgpe:
pkgver = pkgpe + '#' + pkgver
pkgver = pkgpe + ':' + pkgver

needed[pkg] = []
sonames = list()
Expand Down Expand Up @@ -1701,7 +1701,7 @@ python package_do_shlibs() {
if old_pkg != pkg:
bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s[0], pkg, pkgver))
bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s[0]))
fd.write(s[0] + ':' + s[1] + ':' + s[2] + '\n')
fd.write(s[0] + ':' + s[1] + ':' + s[2].replace(':', '#', 1) + '\n')
if s[0] not in shlib_provider:
shlib_provider[s[0]] = {}
shlib_provider[s[0]][s[1]] = (pkg, pkgver)
Expand Down Expand Up @@ -1764,7 +1764,7 @@ python package_do_shlibs() {
continue

if ver_needed:
dep = "%s (>= %s)" % (dep_pkg, ver_needed.replace('#', ':', 1))
dep = "%s (>= %s)" % (dep_pkg, ver_needed)
else:
dep = dep_pkg
if not dep in deps:
Expand Down
2 changes: 1 addition & 1 deletion meta/lib/oe/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ def read_shlib_providers(d):
s = l.strip().split(":")
if s[0] not in shlib_provider:
shlib_provider[s[0]] = {}
shlib_provider[s[0]][s[1]] = (dep_pkg, s[2])
shlib_provider[s[0]][s[1]] = (dep_pkg, s[2].replace('#', ':', 1))
return shlib_provider


Expand Down

0 comments on commit 1061e76

Please sign in to comment.