diff options
author | Derek Young <dyoung@nslu2-linux.org> | 2005-03-01 18:55:39 +0000 |
---|---|---|
committer | Derek Young <dyoung@nslu2-linux.org> | 2005-03-01 18:55:39 +0000 |
commit | bae07f485b55b4038b65e117016ea6ff7498eca9 (patch) | |
tree | b416292c9b3703857d5796b3fe9258353a39916f /classes/package.bbclass | |
parent | 67b3dee160db2d18ca9f9dfd43376182b35774d9 (diff) |
Merge bk://nslu2-linux@nslu2-linux.bkbits.net/openembedded
into builder.(none):/home/dereky/bbroot/openembedded
2005/02/28 04:40:13-08:00 bkbits.net!nslu2-linux.adm
Merge bk://oe-devel.bkbits.net/openembedded
into bkbits.net:/repos/n/nslu2-linux/openembedded
2005/02/28 12:37:13+00:00 nexus.co.uk!pb
straighten out new x11 snapshot
2005/02/28 12:18:18+00:00 reciva.com!pb
add new version of xproto
2005/02/28 12:16:45+00:00 reciva.com!pb
Merge bk://oe-devel@openembedded-devel.bkbits.net/openembedded
into mebius.reciva.com:/home/pb/oe/oe
2005/03/01 18:55:34+00:00 (none)!pb
collapse multiple spaces in SRC_URI to a single space.
replace some inefficient string concatenation with %-substitution
2005/03/01 18:54:47+00:00 (none)!pb
suppress circular dependency when package contains both binaries and libraries
move pkgconfig shlibs data into new location; consider old files first so that new ones override them
2005/03/01 18:53:46+00:00 (none)!pb
add missing patch to gstreamer SRC_URI
BKrev: 4224baabcSg6J2wzDfVE30KMAuYbQA
Diffstat (limited to 'classes/package.bbclass')
-rw-r--r-- | classes/package.bbclass | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/classes/package.bbclass b/classes/package.bbclass index cbd772cd9f..4ca34a3d05 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -358,7 +358,7 @@ python package_do_shlibs() { shlib_provider = {} list_re = re.compile('^(.*)\.list$') - for dir in [shlibs_dir, old_shlibs_dir]: + for dir in [old_shlibs_dir, shlibs_dir]: if not os.path.exists(dir): continue for file in os.listdir(dir): @@ -381,11 +381,16 @@ python package_do_shlibs() { for pkg in packages.split(): bb.debug(2, "calculating shlib requirements for %s" % pkg) + p_pkg = bb.data.getVar("PKG_%s" % pkg, d, 1) or pkg + deps = list() for n in needed[pkg]: if n in shlib_provider.keys(): (dep_pkg, ver_needed) = shlib_provider[n] + if dep_pkg == p_pkg: + continue + if ver_needed: dep = "%s (>= %s)" % (dep_pkg, ver_needed) else: @@ -424,6 +429,15 @@ python package_do_pkgconfig () { bb.error("STAGING_DIR not defined") return + target_sys = bb.data.getVar('TARGET_SYS', d, 1) + if not target_sys: + bb.error("TARGET_SYS not defined") + return + + shlibs_dir = os.path.join(staging, target_sys, "shlibs") + old_shlibs_dir = os.path.join(staging, "shlibs") + bb.mkdirhier(shlibs_dir) + pc_re = re.compile('(.*)\.pc$') var_re = re.compile('(.*)=(.*)') field_re = re.compile('(.*): (.*)') @@ -461,9 +475,6 @@ python package_do_pkgconfig () { if hdr == 'Requires': pkgconfig_needed[pkg] += exp.replace(',', ' ').split() - shlibs_dir = os.path.join(staging, "shlibs") - bb.mkdirhier(shlibs_dir) - for pkg in packages.split(): pkgs_file = os.path.join(shlibs_dir, pkg + ".pclist") if os.path.exists(pkgs_file): @@ -474,16 +485,17 @@ python package_do_pkgconfig () { f.write('%s\n' % p) f.close() - for file in os.listdir(shlibs_dir): - m = re.match('^(.*)\.pclist$', file) - if m: - pkg = m.group(1) - fd = open(os.path.join(shlibs_dir, file)) - lines = fd.readlines() - fd.close() - pkgconfig_provided[pkg] = [] - for l in lines: - pkgconfig_provided[pkg].append(l.rstrip()) + for dir in [old_shlibs_dir, shlibs_dir]: + for file in os.listdir(dir): + m = re.match('^(.*)\.pclist$', file) + if m: + pkg = m.group(1) + fd = open(os.path.join(dir, file)) + lines = fd.readlines() + fd.close() + pkgconfig_provided[pkg] = [] + for l in lines: + pkgconfig_provided[pkg].append(l.rstrip()) for pkg in packages.split(): deps = [] |