From: Robert Yang Date: Wed, 19 Jun 2013 05:25:38 +0000 (-0400) Subject: package_ipk.bbclass: make DESCRIPTION support newline X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~36718 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dff04de2de8bb159fd6912e29794eadd75d5d92a;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git package_ipk.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 --- diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index 55628e4a51f..33058797e37 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass @@ -304,10 +304,19 @@ python do_package_ipk () { # Special behavior for description... if 'DESCRIPTION' in fs: summary = localdata.getVar('SUMMARY', True) or localdata.getVar('DESCRIPTION', True) or "." + ctrlfile.write('Description: %s\n' % summary) description = localdata.getVar('DESCRIPTION', 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=' ')) + if '\\n' in description: + # Manually indent + for t in description.split('\\n'): + # We don't limit the width when manually indent, but we do + # need the textwrap.fill() to set the initial_indent and + # subsequent_indent, so set a large width + ctrlfile.write('%s\n' % textwrap.fill(t.strip(), width=100000, initial_indent=' ', subsequent_indent=' ')) + else: + # Auto indent + ctrlfile.write('%s\n' % textwrap.fill(description, width=74, initial_indent=' ', subsequent_indent=' ')) else: ctrlfile.write(c % tuple(pullData(fs, localdata))) except KeyError: