mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 09:32:13 +02:00
package.bbclass: move reading shlibs providers to separate function
* prepare for reading shlibs providers only from dependency tree of current recipe [YOCTO #4628] (From OE-Core rev: c5076f33ac27c0c2b0743bf6dc4edc983254c467) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
ea94e0fdee
commit
bd938fe510
@@ -1352,6 +1352,28 @@ python package_do_shlibs() {
|
||||
# Take shared lock since we're only reading, not writing
|
||||
lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"))
|
||||
|
||||
def read_shlib_providers():
|
||||
list_re = re.compile('^(.*)\.list$')
|
||||
# Go from least to most specific since the last one found wins
|
||||
for dir in reversed(shlibs_dirs):
|
||||
if not os.path.exists(dir):
|
||||
continue
|
||||
for file in os.listdir(dir):
|
||||
m = list_re.match(file)
|
||||
if m:
|
||||
dep_pkg = m.group(1)
|
||||
fd = open(os.path.join(dir, file))
|
||||
lines = fd.readlines()
|
||||
fd.close()
|
||||
ver_file = os.path.join(dir, dep_pkg + '.ver')
|
||||
lib_ver = None
|
||||
if os.path.exists(ver_file):
|
||||
fd = open(ver_file)
|
||||
lib_ver = fd.readline().rstrip()
|
||||
fd.close()
|
||||
for l in lines:
|
||||
shlib_provider[l.rstrip()] = (dep_pkg, lib_ver)
|
||||
|
||||
def linux_so(file):
|
||||
needs_ldconfig = False
|
||||
cmd = d.getVar('OBJDUMP', True) + " -p " + pipes.quote(file) + " 2>/dev/null"
|
||||
@@ -1496,26 +1518,7 @@ python package_do_shlibs() {
|
||||
postinst += d.getVar('ldconfig_postinst_fragment', True)
|
||||
d.setVar('pkg_postinst_%s' % pkg, postinst)
|
||||
|
||||
list_re = re.compile('^(.*)\.list$')
|
||||
# Go from least to most specific since the last one found wins
|
||||
for dir in reversed(shlibs_dirs):
|
||||
if not os.path.exists(dir):
|
||||
continue
|
||||
for file in os.listdir(dir):
|
||||
m = list_re.match(file)
|
||||
if m:
|
||||
dep_pkg = m.group(1)
|
||||
fd = open(os.path.join(dir, file))
|
||||
lines = fd.readlines()
|
||||
fd.close()
|
||||
ver_file = os.path.join(dir, dep_pkg + '.ver')
|
||||
lib_ver = None
|
||||
if os.path.exists(ver_file):
|
||||
fd = open(ver_file)
|
||||
lib_ver = fd.readline().rstrip()
|
||||
fd.close()
|
||||
for l in lines:
|
||||
shlib_provider[l.rstrip()] = (dep_pkg, lib_ver)
|
||||
read_shlib_providers()
|
||||
|
||||
bb.utils.unlockfile(lf)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user