diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2013-06-19 01:25:38 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-07-10 09:42:03 +0100 |
commit | 258b8a2cb4178990fc20102add1e3043ac80dbf9 (patch) | |
tree | 5a121cdd57fc3ae4435327a39cc98ea92dcd6237 | |
parent | 33cd81e18b797d4257e02622ac5ca3eaf886c6e2 (diff) | |
download | ast2050-yocto-poky-258b8a2cb4178990fc20102add1e3043ac80dbf9.zip ast2050-yocto-poky-258b8a2cb4178990fc20102add1e3043ac80dbf9.tar.gz |
package_deb.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: 568e303ef4447a9ddb7fb6370166d012a4375dab)
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>
-rw-r--r-- | meta/classes/package_deb.bbclass | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index 949432e..663f646 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass @@ -279,10 +279,20 @@ python do_package_deb () { # Special behavior for description... if 'DESCRIPTION' in fs: summary = localdata.getVar('SUMMARY', True) or localdata.getVar('DESCRIPTION', True) or "." + ctrlfile.write('Description: %s\n' % unicode(summary)) description = localdata.getVar('DESCRIPTION', 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=' '))) + 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' % unicode(textwrap.fill(t, width=100000, initial_indent=' ', subsequent_indent=' '))) + else: + # Auto indent + ctrlfile.write('%s\n' % unicode(textwrap.fill(description.strip(), width=74, initial_indent=' ', subsequent_indent=' '))) + else: ctrlfile.write(unicode(c % tuple(pullData(fs, localdata)))) except KeyError: |