[oe] [meta-java][PATCH 2/2] openjdk-8: combine the -dbg package

Wenlin Kang wenlin.kang at windriver.com
Fri Jun 8 09:10:57 UTC 2018


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.kang at windriver.com>
>>> ---
>>>   recipes-core/openjdk/openjdk-8_16xbyy.bb | 10 +++-------
>>>   1 file changed, 3 insertions(+), 7 deletions(-)
>> regards;Richard.L
>
>

-- 
Thanks,
Wenlin Kang




More information about the Openembedded-devel mailing list