From 503b6370080fcbcd99305eac846c6dfbdd07c5df Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Wed, 19 Jun 2013 01:25:38 -0400 Subject: 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] Signed-off-by: Robert Yang Signed-off-by: Saul Wold --- meta/classes/package_rpm.bbclass | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'meta/classes/package_rpm.bbclass') diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index c654cdb5e8..fa928ce042 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -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('') -- cgit v1.2.3