| # Class to pack gnome help files or delete them during install | |
| # There are the following cases: | |
| # | |
| # if 'helpfiles' not in DISTRO_FEATURES | |
| # delete all help contants during install | |
| # else | |
| # if PACKAGE_NO_HELP_SPLIT == 1 | |
| # pack all help files to ${PN}-help | |
| # else | |
| # pack all help files to ${PN}-help-<lingua> | |
| # Dummy to get yelp build & PACKAGE_NO_HELP_SPLIT set 1 | |
| PACKAGES:append = " ${PN}-help" | |
| FILES:${PN}-help = "${datadir}/help" | |
| RRECOMMENDS:${PN}-help = "${@bb.utils.contains('DISTRO_FEATURES','helpfiles','yelp','',d)}" | |
| do_install:append() { | |
| if ${@bb.utils.contains('DISTRO_FEATURES','helpfiles','false','true',d)}; then | |
| rm -rf ${D}${datadir}/help/* | |
| fi | |
| } | |
| python gnome_do_split_help() { | |
| if bb.utils.contains('DISTRO_FEATURES', 'helpfiles', False, True, d): | |
| return | |
| if (d.getVar('PACKAGE_NO_HELP_SPLIT') == '1'): | |
| # all help files go to ${ | |
| bb.debug(1, "package requested not splitting help-files") | |
| return | |
| packages = (d.getVar('PACKAGES') or "").split() | |
| datadir = d.getVar('datadir') | |
| dvar = d.getVar('PKGD') | |
| pn = d.getVar('PN') | |
| if pn + '-help' in packages: | |
| packages.remove(pn + '-help') | |
| helpdir = os.path.join(dvar + datadir, 'help') | |
| if not cpath.isdir(helpdir): | |
| bb.warn("No help files in this package - remove gnome-help from inherit?") | |
| return | |
| helps = os.listdir(helpdir) | |
| summary = d.getVar('SUMMARY') or pn | |
| description = d.getVar('DESCRIPTION') or "" | |
| locale_section = d.getVar('LOCALE_SECTION') | |
| mlprefix = d.getVar('MLPREFIX') or "" | |
| for l in sorted(helps): | |
| ln = legitimize_package_name(l) | |
| pkg = pn + '-help-' + ln | |
| packages.append(pkg) | |
| d.setVar('FILES:' + pkg, os.path.join(datadir, 'help', l)) | |
| d.setVar('RRECOMMENDS:' + pkg, '%syelp' % mlprefix) | |
| d.setVar('SUMMARY:' + pkg, '%s - %s help' % (summary, l)) | |
| d.setVar('DESCRIPTION:' + pkg, '%s This package contains language help files for the %s locale.' % (description, l)) | |
| if locale_section: | |
| d.setVar('SECTION:' + pkg, locale_section) | |
| d.setVar('PACKAGES', ' '.join(packages)) | |
| } | |
| PACKAGESPLITFUNCS:prepend = "gnome_do_split_help " | |