Add Summary/Description support to packaging
[BUGID #281] Add the ability for the deb, ipk and rpm classes to use the new summary and description fields. The Description is wrapped around 75 characters to ensure a reasonably nice, presentable description. (Summary defaults to the description if Summary is not defined.) Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
This commit is contained in:
parent
5783e717ee
commit
b2f2590e6c
|
@ -69,6 +69,7 @@ python do_package_deb_install () {
|
|||
|
||||
python do_package_deb () {
|
||||
import re, copy
|
||||
import textwrap
|
||||
|
||||
workdir = bb.data.getVar('WORKDIR', d, True)
|
||||
if not workdir:
|
||||
|
@ -179,7 +180,18 @@ python do_package_deb () {
|
|||
# check for required fields
|
||||
try:
|
||||
for (c, fs) in fields:
|
||||
ctrlfile.write(unicode(c % tuple(pullData(fs, localdata))))
|
||||
for f in fs:
|
||||
if bb.data.getVar(f, localdata) is None:
|
||||
raise KeyError(f)
|
||||
# Special behavior for description...
|
||||
if 'DESCRIPTION' in fs:
|
||||
summary = bb.data.getVar('SUMMARY', localdata, True) or bb.data.getVar('DESCRIPTION', localdata, True) or "."
|
||||
description = bb.data.getVar('DESCRIPTION', localdata, True) or "."
|
||||
description = textwrap.dedent(description).strip()
|
||||
ctrlfile.write('Description: %s\n' % unicode(summary))
|
||||
ctrlfile.write('%s\n' % unicode(textwrap.fill(description, width=74, initial_indent=' ', subsequent_indent=' ')))
|
||||
else:
|
||||
ctrlfile.write(unicode(c % tuple(pullData(fs, localdata))))
|
||||
except KeyError:
|
||||
import sys
|
||||
(type, value, traceback) = sys.exc_info()
|
||||
|
|
|
@ -135,6 +135,7 @@ package_generate_archlist () {
|
|||
|
||||
python do_package_ipk () {
|
||||
import re, copy
|
||||
import textwrap
|
||||
|
||||
workdir = bb.data.getVar('WORKDIR', d, True)
|
||||
outdir = bb.data.getVar('PKGWRITEDIRIPK', d, True)
|
||||
|
@ -227,7 +228,15 @@ python do_package_ipk () {
|
|||
for f in fs:
|
||||
if bb.data.getVar(f, localdata) is None:
|
||||
raise KeyError(f)
|
||||
ctrlfile.write(c % tuple(pullData(fs, localdata)))
|
||||
# Special behavior for description...
|
||||
if 'DESCRIPTION' in fs:
|
||||
summary = bb.data.getVar('SUMMARY', localdata, True) or bb.data.getVar('DESCRIPTION', localdata, True) or "."
|
||||
description = bb.data.getVar('DESCRIPTION', localdata, True) or "."
|
||||
description = textwrap.dedent(description).strip()
|
||||
ctrlfile.write('Description: %s\n' % summary)
|
||||
ctrlfile.write('%s\n' % textwrap.fill(description, width=74, initial_indent=' ', subsequent_indent=' '))
|
||||
else:
|
||||
ctrlfile.write(c % tuple(pullData(fs, localdata)))
|
||||
except KeyError:
|
||||
import sys
|
||||
(type, value, traceback) = sys.exc_info()
|
||||
|
|
|
@ -72,6 +72,8 @@ package_generate_rpm_conf () {
|
|||
}
|
||||
|
||||
python write_specfile () {
|
||||
import textwrap
|
||||
|
||||
# We need to change '-' in a version field to '+'
|
||||
# This needs to be done BEFORE the mapping_rename_hook
|
||||
def translate_vers(varname, d):
|
||||
|
@ -136,7 +138,7 @@ python write_specfile () {
|
|||
|
||||
# Construct the SPEC file...
|
||||
srcname = bb.data.getVar('PN', d, True)
|
||||
srcsummary = (bb.data.getVar('SUMMARY', d, True) or ".")
|
||||
srcsummary = (bb.data.getVar('SUMMARY', d, True) or bb.data.getVar('DESCRIPTION', d, True) or ".")
|
||||
srcversion = bb.data.getVar('PV', d, True).replace('-', '+')
|
||||
srcrelease = bb.data.getVar('PR', d, True)
|
||||
srcepoch = (bb.data.getVar('PE', d, True) or "")
|
||||
|
@ -144,7 +146,7 @@ python write_specfile () {
|
|||
srcsection = bb.data.getVar('SECTION', d, True)
|
||||
srcmaintainer = bb.data.getVar('MAINTAINER', d, True)
|
||||
srchomepage = bb.data.getVar('HOMEPAGE', d, True)
|
||||
srcdescription = bb.data.getVar('DESCRIPTION', d, True)
|
||||
srcdescription = bb.data.getVar('DESCRIPTION', d, True) or "."
|
||||
|
||||
srcdepends = bb.data.getVar('DEPENDS', d, True)
|
||||
srcrdepends = []
|
||||
|
@ -191,13 +193,13 @@ python write_specfile () {
|
|||
|
||||
splitname = pkgname
|
||||
|
||||
splitsummary = (bb.data.getVar('SUMMARY', d, True) or ".")
|
||||
splitsummary = (bb.data.getVar('SUMMARY', d, True) or bb.data.getVar('DESCRIPTION', d, True) or ".")
|
||||
splitversion = (bb.data.getVar('PV', localdata, True) or "").replace('-', '+')
|
||||
splitrelease = (bb.data.getVar('PR', localdata, True) or "")
|
||||
splitepoch = (bb.data.getVar('PE', localdata, True) or "")
|
||||
splitlicense = (bb.data.getVar('LICENSE', localdata, True) or "")
|
||||
splitsection = (bb.data.getVar('SECTION', localdata, True) or "")
|
||||
splitdescription = (bb.data.getVar('DESCRIPTION', localdata, True) or "")
|
||||
splitdescription = (bb.data.getVar('DESCRIPTION', localdata, True) or ".")
|
||||
|
||||
translate_vers('RDEPENDS', localdata)
|
||||
translate_vers('RRECOMMENDS', localdata)
|
||||
|
@ -295,7 +297,8 @@ python write_specfile () {
|
|||
spec_preamble_bottom.append('')
|
||||
|
||||
spec_preamble_bottom.append('%%description -n %s' % splitname)
|
||||
spec_preamble_bottom.append('%s' % splitdescription)
|
||||
dedent_text = textwrap.dedent(splitdescription).strip()
|
||||
spec_preamble_bottom.append('%s' % textwrap.fill(dedent_text, width=75))
|
||||
|
||||
spec_preamble_bottom.append('')
|
||||
|
||||
|
@ -379,7 +382,8 @@ python write_specfile () {
|
|||
spec_preamble_top.append('')
|
||||
|
||||
spec_preamble_top.append('%description')
|
||||
spec_preamble_top.append('%s' % srcdescription)
|
||||
dedent_text = textwrap.dedent(srcdescription).strip()
|
||||
spec_preamble_top.append('%s' % textwrap.fill(dedent_text, width=75))
|
||||
|
||||
spec_preamble_top.append('')
|
||||
|
||||
|
|
Loading…
Reference in New Issue