summaryrefslogtreecommitdiff
path: root/classes/package.bbclass
diff options
context:
space:
mode:
authorDerek Young <dyoung@nslu2-linux.org>2005-03-01 18:55:39 +0000
committerDerek Young <dyoung@nslu2-linux.org>2005-03-01 18:55:39 +0000
commitbae07f485b55b4038b65e117016ea6ff7498eca9 (patch)
treeb416292c9b3703857d5796b3fe9258353a39916f /classes/package.bbclass
parent67b3dee160db2d18ca9f9dfd43376182b35774d9 (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.bbclass40
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 = []