package_rpm.bbclass: make DESCRIPTION support newline

The recipe's DESCRIPTION is wrapped automatically by textwrap, make it
support newline ("\n") to let the user can wrap it manually, e.g.:

DESCRIPTION = "Foo1\nFoo2"

In the past, it would be:
Foo1\nFoo2

Now:
Foo1
Foo2

[YOCTO #4348]

(From OE-Core rev: 503b6370080fcbcd99305eac846c6dfbdd07c5df)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2013-06-19 01:25:38 -04:00
committed by Richard Purdie
parent 29e81064c0
commit 477b2c9860

View File

@@ -534,7 +534,6 @@ def write_rpm_perfiledata(srcname, d):
python write_specfile () {
import textwrap
import oe.packagedata
# append information for logs and patches to %prep
@@ -668,6 +667,19 @@ python write_specfile () {
deps.append(depends)
return " ".join(deps)
def append_description(spec_preamble, text):
"""
Add the description to the spec file.
"""
import textwrap
dedent_text = textwrap.dedent(text).strip()
# Bitbake saves "\n" as "\\n"
if '\\n' in dedent_text:
for t in dedent_text.split('\\n'):
spec_preamble.append(t.strip())
else:
spec_preamble.append('%s' % textwrap.fill(dedent_text, width=75))
packages = d.getVar('PACKAGES', True)
if not packages or packages == '':
bb.debug(1, "No packages; nothing to do")
@@ -868,8 +880,7 @@ python write_specfile () {
spec_preamble_bottom.append('')
spec_preamble_bottom.append('%%description -n %s' % splitname)
dedent_text = textwrap.dedent(splitdescription).strip()
spec_preamble_bottom.append('%s' % textwrap.fill(dedent_text, width=75))
append_description(spec_preamble_bottom, splitdescription)
spec_preamble_bottom.append('')
@@ -975,8 +986,7 @@ python write_specfile () {
spec_preamble_top.append('')
spec_preamble_top.append('%description')
dedent_text = textwrap.dedent(srcdescription).strip()
spec_preamble_top.append('%s' % textwrap.fill(dedent_text, width=75))
append_description(spec_preamble_top, srcdescription)
spec_preamble_top.append('')