1*4882a593Smuzhiyun# Class to pack gnome help files or delete them during install 2*4882a593Smuzhiyun# There are the following cases: 3*4882a593Smuzhiyun# 4*4882a593Smuzhiyun# if 'helpfiles' not in DISTRO_FEATURES 5*4882a593Smuzhiyun# delete all help contants during install 6*4882a593Smuzhiyun# else 7*4882a593Smuzhiyun# if PACKAGE_NO_HELP_SPLIT == 1 8*4882a593Smuzhiyun# pack all help files to ${PN}-help 9*4882a593Smuzhiyun# else 10*4882a593Smuzhiyun# pack all help files to ${PN}-help-<lingua> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun# Dummy to get yelp build & PACKAGE_NO_HELP_SPLIT set 1 13*4882a593SmuzhiyunPACKAGES:append = " ${PN}-help" 14*4882a593SmuzhiyunFILES:${PN}-help = "${datadir}/help" 15*4882a593SmuzhiyunRRECOMMENDS:${PN}-help = "${@bb.utils.contains('DISTRO_FEATURES','helpfiles','yelp','',d)}" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyundo_install:append() { 18*4882a593Smuzhiyun if ${@bb.utils.contains('DISTRO_FEATURES','helpfiles','false','true',d)}; then 19*4882a593Smuzhiyun rm -rf ${D}${datadir}/help/* 20*4882a593Smuzhiyun fi 21*4882a593Smuzhiyun} 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunpython gnome_do_split_help() { 24*4882a593Smuzhiyun if bb.utils.contains('DISTRO_FEATURES', 'helpfiles', False, True, d): 25*4882a593Smuzhiyun return 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun if (d.getVar('PACKAGE_NO_HELP_SPLIT') == '1'): 28*4882a593Smuzhiyun # all help files go to ${ 29*4882a593Smuzhiyun bb.debug(1, "package requested not splitting help-files") 30*4882a593Smuzhiyun return 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun packages = (d.getVar('PACKAGES') or "").split() 33*4882a593Smuzhiyun datadir = d.getVar('datadir') 34*4882a593Smuzhiyun dvar = d.getVar('PKGD') 35*4882a593Smuzhiyun pn = d.getVar('PN') 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun if pn + '-help' in packages: 38*4882a593Smuzhiyun packages.remove(pn + '-help') 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun helpdir = os.path.join(dvar + datadir, 'help') 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun if not cpath.isdir(helpdir): 43*4882a593Smuzhiyun bb.warn("No help files in this package - remove gnome-help from inherit?") 44*4882a593Smuzhiyun return 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun helps = os.listdir(helpdir) 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun summary = d.getVar('SUMMARY') or pn 49*4882a593Smuzhiyun description = d.getVar('DESCRIPTION') or "" 50*4882a593Smuzhiyun locale_section = d.getVar('LOCALE_SECTION') 51*4882a593Smuzhiyun mlprefix = d.getVar('MLPREFIX') or "" 52*4882a593Smuzhiyun for l in sorted(helps): 53*4882a593Smuzhiyun ln = legitimize_package_name(l) 54*4882a593Smuzhiyun pkg = pn + '-help-' + ln 55*4882a593Smuzhiyun packages.append(pkg) 56*4882a593Smuzhiyun d.setVar('FILES:' + pkg, os.path.join(datadir, 'help', l)) 57*4882a593Smuzhiyun d.setVar('RRECOMMENDS:' + pkg, '%syelp' % mlprefix) 58*4882a593Smuzhiyun d.setVar('SUMMARY:' + pkg, '%s - %s help' % (summary, l)) 59*4882a593Smuzhiyun d.setVar('DESCRIPTION:' + pkg, '%s This package contains language help files for the %s locale.' % (description, l)) 60*4882a593Smuzhiyun if locale_section: 61*4882a593Smuzhiyun d.setVar('SECTION:' + pkg, locale_section) 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun d.setVar('PACKAGES', ' '.join(packages)) 64*4882a593Smuzhiyun} 65*4882a593Smuzhiyun 66*4882a593SmuzhiyunPACKAGESPLITFUNCS:prepend = "gnome_do_split_help " 67*4882a593Smuzhiyun 68