Using package specific DESCRIPTION with do_split_packages
Hi,
I've been wrestling with do_split_packages and package_ipk trying to generate packages that have a customised DESCRIPTION override. I could not get it to work. Here is roughly what I tried:
--- mytest.bb start ---
SUMMARY = "Generic summary"
DESCRIPTION = "Generic description"
...
DESCRIPTION_mytest-plugin-item1 = "Description specific to item1" DESCRIPTION_mytest-plugin-item2 = "Description specific to item2"
...
RDEPENDS_mytest-plugin-item1 = "python-requests"
...
python populate_packages_prepend() {
mytest_plugindir = bb.data.expand('${libdir}/mytest/Plugins', d)
do_split_packages(d, mytest_plugindir,
'^(\w+/\w+)/[a-zA-Z0-9_]+.*$', 'mytest-plugin-%s', '${DESCRIPTION_mytest-plugin-%s}', recursive=True, match_path=True, prepend=True)
do_split_packages(d, mytest_plugindir, '^(\w+/\w+)/.*\.py$', 'mytest-plugin-%s-src', '%s (source files)', recursive=True, match_path=True, prepend=True) }
--- mytest.bb end ---
The .ipk files generated using do_split_packages always have the generic description and summary, instead of using the package specific versions. I've tried a number of variants of the above, but without any luck.
In the end I ended up making the following changes. I have a feeling that this is not the right solution, but I'm at a loss as to a more appropriate way of doing what I want. Any suggestions?
meta/classes/package_ipk.bbclass +2 -2
@@ -138,9 +138,9 @@ python do_package_ipk () { raise KeyError(f) # Special behavior for description... if 'DESCRIPTION' in fs: - summary = localdata.getVar('SUMMARY', True) or localdata.getVar('DESCRIPTION', True) or "." + summary = localdata.getVar('SUMMARY_' + pkgname, True) or localdata.getVar('SUMMARY', True) or localdata.getVar('DESCRIPTION_' + pkgname, True) or localdata.getVar('DESCRIPTION', True) or "." ctrlfile.write('Description: %s\n' % summary) - description = localdata.getVar('DESCRIPTION', True) or "." + description = localdata.getVar('DESCRIPTION_' + pkgname, True) or localdata.getVar('DESCRIPTION', True) or "." description = textwrap.dedent(description).strip() if '\\n' in description: # Manually indent