summaryrefslogtreecommitdiff
path: root/classes/package.bbclass
diff options
context:
space:
mode:
authorMichael Lauer <mickey@vanille-media.de>2006-09-12 21:10:42 +0000
committerMichael Lauer <mickey@vanille-media.de>2006-09-12 21:10:42 +0000
commit2f58bb1398ec45127536ade3ea969ac77fda8318 (patch)
treef0b884932ddaf35f476046c3411a897129c85051 /classes/package.bbclass
parent35ee5cc80542c5d6f1edcf7e2e7a3c9841cb6403 (diff)
parentc5e25db9e76a5c8a2964dac494f1e4ebd08a14e7 (diff)
merge of 83d0e48aed0ad37c789536151c11fe1ee96e68c6
and e7d24f7f731de72cf1c6a2dd55f36590d951f3b4
Diffstat (limited to 'classes/package.bbclass')
-rw-r--r--classes/package.bbclass26
1 files changed, 15 insertions, 11 deletions
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 8dbc5d7b25..89615b8667 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -259,12 +259,16 @@ python populate_packages () {
return (s[stat.ST_MODE] & stat.S_IEXEC)
# Sanity check PACKAGES for duplicates - should be moved to
- # sanity.bbclass once we have he infrastucture
- pkgs = []
+ # sanity.bbclass once we have the infrastucture
+ package_list = []
for pkg in packages.split():
- if pkg in pkgs:
- bb.error("%s is listed in PACKAGES mutliple times. Undefined behaviour will result." % pkg)
- pkgs += pkg
+ if pkg in package_list:
+ bb.error("-------------------")
+ bb.error("%s is listed in PACKAGES mutliple times, this leads to packaging errors." % pkg)
+ bb.error("Please fix the metadata/report this as bug to OE bugtracker.")
+ bb.error("-------------------")
+ else:
+ package_list.append(pkg)
if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1'):
stripfunc = ""
@@ -281,7 +285,7 @@ python populate_packages () {
bb.data.setVarFlag('RUNSTRIP', 'func', 1, localdata)
bb.build.exec_func('RUNSTRIP', localdata)
- for pkg in packages.split():
+ for pkg in package_list:
localdata = bb.data.createCopy(d)
root = os.path.join(workdir, "install", pkg)
@@ -343,7 +347,7 @@ python populate_packages () {
bb.build.exec_func("package_name_hook", d)
- for pkg in packages.split():
+ for pkg in package_list:
pkgname = bb.data.getVar('PKG_%s' % pkg, d, 1)
if pkgname is None:
bb.data.setVar('PKG_%s' % pkg, pkg, d)
@@ -352,7 +356,7 @@ python populate_packages () {
dangling_links = {}
pkg_files = {}
- for pkg in packages.split():
+ for pkg in package_list:
dangling_links[pkg] = []
pkg_files[pkg] = []
inst_root = os.path.join(workdir, "install", pkg)
@@ -371,12 +375,12 @@ python populate_packages () {
target = os.path.join(root[len(inst_root):], target)
dangling_links[pkg].append(os.path.normpath(target))
- for pkg in packages.split():
+ for pkg in package_list:
rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "")
for l in dangling_links[pkg]:
found = False
bb.debug(1, "%s contains dangling link %s" % (pkg, l))
- for p in packages.split():
+ for p in package_list:
for f in pkg_files[p]:
if f == l:
found = True
@@ -404,7 +408,7 @@ python populate_packages () {
data_file = os.path.join(workdir, "install", pn + ".package")
f = open(data_file, 'w')
f.write("PACKAGES: %s\n" % packages)
- for pkg in packages.split():
+ for pkg in package_list:
write_if_exists(f, pkg, 'DESCRIPTION')
write_if_exists(f, pkg, 'RDEPENDS')
write_if_exists(f, pkg, 'RPROVIDES')