summaryrefslogtreecommitdiff
path: root/classes
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
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')
-rw-r--r--classes/package.bbclass40
-rw-r--r--classes/package_ipk.bbclass18
2 files changed, 37 insertions, 21 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 = []
diff --git a/classes/package_ipk.bbclass b/classes/package_ipk.bbclass
index 513e4639b5..a029d088fb 100644
--- a/classes/package_ipk.bbclass
+++ b/classes/package_ipk.bbclass
@@ -63,6 +63,7 @@ python package_ipk_install () {
python do_package_ipk () {
import copy # to back up env data
import sys
+ import re
workdir = bb.data.getVar('WORKDIR', d, 1)
if not workdir:
@@ -145,7 +146,6 @@ python do_package_ipk () {
fields.append(["Maintainer: %s\n", ['MAINTAINER']])
fields.append(["Architecture: %s\n", ['PACKAGE_ARCH']])
fields.append(["OE: %s\n", ['P']])
- fields.append(["Source: %s\n", ['SRC_URI']])
def pullData(l, d):
l2 = []
@@ -173,17 +173,21 @@ python do_package_ipk () {
rreplaces = (bb.data.getVar("RREPLACES", localdata, 1) or "").split()
rconflicts = (bb.data.getVar("RCONFLICTS", localdata, 1) or "").split()
if rdepends:
- ctrlfile.write("Depends: " + ", ".join(rdepends) + "\n")
+ ctrlfile.write("Depends: %s\n" % ", ".join(rdepends))
if rsuggests:
- ctrlfile.write("Suggests: " + ", ".join(rsuggests) + "\n")
+ ctrlfile.write("Suggests: %s\n" % ", ".join(rsuggests))
if rrecommends:
- ctrlfile.write("Recommends: " + ", ".join(rrecommends) + "\n")
+ ctrlfile.write("Recommends: %s\n" % ", ".join(rrecommends))
if rprovides:
- ctrlfile.write("Provides: " + ", ".join(rprovides) + "\n")
+ ctrlfile.write("Provides: %s\n" % ", ".join(rprovides))
if rreplaces:
- ctrlfile.write("Replaces: " + ", ".join(rreplaces) + "\n")
+ ctrlfile.write("Replaces: %s\n" % ", ".join(rreplaces))
if rconflicts:
- ctrlfile.write("Conflicts: " + ", ".join(rconflicts) + "\n")
+ ctrlfile.write("Conflicts: %s\n" % ", ".join(rconflicts))
+ src_uri = bb.data.getVar("SRC_URI", localdata, 1)
+ if src_uri:
+ src_uri = re.sub("\s+", " ", src_uri)
+ ctrlfile.write("Source: %s\n" % src_uri)
ctrlfile.close()
for script in ["preinst", "postinst", "prerm", "postrm"]: