[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