[OE-core] [PATCH 3/3] package_deb.bbclass: make DESCRIPTION support newline
Robert Yang
liezhi.yang at windriver.com
Mon Jul 8 03:17:15 UTC 2013
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 <liezhi.yang at windriver.com>
---
meta/classes/package_deb.bbclass | 14 ++++++++++++--
1 file 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:
--
1.7.10.4
More information about the Openembedded-core
mailing list