Using devtool to patch CRLF based sources creates patch files which have
mixed end of lines : LF for headers and CRLF for source context and
modified lines.

Python open(..., newline=None) (default for newline arg)does detect
end-of-line in this mixed file but only outputs LF EOL data. This
result in patch files that does not apply on the original sources.

Switching to open(..., newline='') allows to detect end-of-line but keep
the original end-of-line intact. This generate correct patches for CRLF
based sources.

Fixes [YOCTO #15285]

Signed-off-by: Yoann Congal <[email protected]>
---
v1->v2: Rebased to solve conflicts with 900129cbdf
---
 meta/lib/oe/patch.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index e4bb5a7839..d5ad4f3dc1 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -478,7 +478,7 @@ class GitApplyTree(PatchTree):
                             patchlines = []
                             outfile = None
                             try:
-                                with open(srcfile, 'r', encoding=encoding) as 
f:
+                                with open(srcfile, 'r', encoding=encoding, 
newline='') as f:
                                     for line in f:
                                         if 
line.startswith(GitApplyTree.patch_line_prefix):
                                             outfile = line.split()[-1].strip()
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#191808): 
https://lists.openembedded.org/g/openembedded-core/message/191808
Mute This Topic: https://lists.openembedded.org/mt/102988541/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to