On 2018年06月08日 17:02, Wenlin Kang wrote:
On 2018年06月08日 15:39, Richard Leitner wrote:
Hi,
thank you for you patch!

On 06/07/2018 11:24 AM, Wenlin Kang wrote:
One recipe should only have one -dbg package, because OE only picks
up all .debug file into the last one -dbg package listed in variable
PACKAGES.
Why should one recipe, altough it conains multiple packages have only
one dbg package? Shouldn't the openjdk-8-demo-dbg package contain the
debug information for the openjdk-8-demo package?

This may be OE's policy, if one recipe contain multiple -dbg package , other -dbg packages all will be a empty pacakge, only have one will contain all .debug file,  you can see the source "meta/classes/package.bbclass"

1129 python populate_packages () {
1130     import glob, re

1156     for pkg in packages.split():
1157         if pkg in package_list:
1158             msg = "%s is listed in PACKAGES multiple times, this leads to packaging errors." % pkg
1159             package_qa_handle_error("packages-list", msg, d)
1160         # If debug-with-srcpkg mode is enabled then the src package will have
1161         # priority over dbg package when assigning the files.
1162         # This allows src package to include source files and remove them from dbg.
1163         elif split_source_package and pkg.endswith("-src"):
1164             package_list.insert(0, pkg)
1165         elif autodebug and pkg.endswith("-dbg") and not split_source_package:    <==============
1166             package_list.insert(0, pkg)
1167         else:
1168             package_list.append(pkg)
1169     d.setVar('PACKAGES', ' '.join(package_list))
1170     pkgdest = d.getVar('PKGDEST')
...

1177     debug = []
1178     for root, dirs, files in cpath.walk(dvar):
1179         dir = root[len(dvar):]
1180         if not dir:
1181             dir = os.sep
1182         for f in (files + dirs):
1183             path = "." + os.path.join(dir, f)
1184             if "/.debug/" in path or path.endswith("/.debug"):    <==============
1185                 debug.append(path)
1186

1187     for pkg in package_list:
1188         root = os.path.join(pkgdest, pkg)
1189         bb.utils.mkdirhier(root)
1190
1191         filesvar = d.getVar('FILES_%s' % pkg) or ""
1192         if "//" in filesvar:
1193             msg = "FILES variable for package %s contains '//' which is invalid. Attempting to fix this but you should correct the metadata.\n" % pkg
1194             package_qa_handle_error("files-invalid", msg, d)
1195             filesvar.replace("//", "/")
1196
1197         origfiles = filesvar.split()
1198         files, symlink_paths = files_from_filevars(origfiles)
1199
1200         if autodebug and pkg.endswith("-dbg"): <============
1201             files.extend(debug)            <============



Nonehteless according to my first quick test the demo-dbg package
contains lots of other debug information too...
So maybe it would be the better way to fix the content of the different
dbg packages rather than removing one?

I also thought this, but  after discussing with the other guys, the result is a recipe can only have
a -dbg package, and this is OE's policy.


But I'm of course open for discussions ;-)

Signed-off-by: Wenlin Kang <wenlin.k...@windriver.com>
---
  recipes-core/openjdk/openjdk-8_16xbyy.bb | 10 +++-------
  1 file changed, 3 insertions(+), 7 deletions(-)
regards;Richard.L



--
Thanks,
Wenlin Kang

--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to