Message ID | 20231127134903.1327808-1-yoann.congal@smile.fr |
---|---|
State | Accepted, archived |
Commit | 58f845499c0277a2b8069eefa235430b5f5f7661 |
Headers | show |
Series | lib/oe/patch: handle creating patches for CRLF sources | expand |
Hello, This doesn't apply on master, can you rebase? On 27/11/2023 14:49:03+0100, Yoann Congal wrote: > 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 <yoann.congal@smile.fr> > --- > 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 ff9afc9df9..7bf660978e 100644 > --- a/meta/lib/oe/patch.py > +++ b/meta/lib/oe/patch.py > @@ -477,7 +477,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 (#191303): https://lists.openembedded.org/g/openembedded-core/message/191303 > Mute This Topic: https://lists.openembedded.org/mt/102828787/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Le mar. 5 déc. 2023 à 08:48, Alexandre Belloni < alexandre.belloni@bootlin.com> a écrit : > Hello, > > This doesn't apply on master, can you rebase? > Yes! I will send a v2 today On 27/11/2023 14:49:03+0100, Yoann Congal wrote: > > 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 <yoann.congal@smile.fr> > > --- > > 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 ff9afc9df9..7bf660978e 100644 > > --- a/meta/lib/oe/patch.py > > +++ b/meta/lib/oe/patch.py > > @@ -477,7 +477,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 (#191303): > https://lists.openembedded.org/g/openembedded-core/message/191303 > > Mute This Topic: https://lists.openembedded.org/mt/102828787/3617179 > > Group Owner: openembedded-core+owner@lists.openembedded.org > > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > alexandre.belloni@bootlin.com] > > -=-=-=-=-=-=-=-=-=-=-=- > > > > > -- > Alexandre Belloni, co-owner and COO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com >
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py index ff9afc9df9..7bf660978e 100644 --- a/meta/lib/oe/patch.py +++ b/meta/lib/oe/patch.py @@ -477,7 +477,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()
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 <yoann.congal@smile.fr> --- meta/lib/oe/patch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)