lib/oe/recipeutils: fix line splitting in patch_recipe_*

If a value was split over multiple lines (e.g. as SRC_URI usually is)
then we were inserting the value as one item in the lines list with
newlines between each line. There's nothing wrong with this if you're
writing the list out to a file, but if you want to generate a patch (as
patch_recipe_file() will do if the patch parameter is set to True) then
the diff output looks a bit odd. Split the value before adding it to the
lines list to resolve this.

(From OE-Core rev: 44f4c97234623cbd770fbc86eabb04e7e0c91061)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2017-11-01 13:49:44 +13:00 committed by Richard Purdie
parent b575564ee3
commit 202f9af816

View File

@ -188,6 +188,11 @@ def patch_recipe_lines(fromlines, values, trailing_newline=True):
for wrapline in wrapped[:-1]:
addlines.append('%s \\%s' % (wrapline, newline))
addlines.append('%s%s' % (wrapped[-1], newline))
# Split on newlines - this isn't strictly necessary if you are only
# going to write the output to disk, but if you want to compare it
# (as patch_recipe_file() will do if patch=True) then it's important.
addlines = [line for l in addlines for line in l.splitlines(True)]
if rewindcomments:
# Ensure we insert the lines before any leading comments
# (that we'd want to ensure remain leading the next value)