public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch V2] BaseTool: Fixed incremental rebuild issue.
@ 2019-02-20 15:21 Feng, Bob C
  2019-02-22  7:26 ` Gao, Liming
  0 siblings, 1 reply; 6+ messages in thread
From: Feng, Bob C @ 2019-02-20 15:21 UTC (permalink / raw)
  To: edk2-devel; +Cc: Bob Feng, Liming Gao

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1540

This issue in introduced by commit
d943b0c339fe3d35ffdf9f580ccb7a55915c6854

To convert bytes to string, we need to use bytes.decode()
instead of using str(bytes). 

If the source file is not a txt file, ignore that file. 

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
---
 BaseTools/Source/Python/AutoGen/GenMake.py      | 16 ++++++++--------
 .../Source/Python/Workspace/DscBuildData.py     | 17 ++++++++---------
 2 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index 53c5b8577d..b441817b52 100644
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -1043,18 +1043,18 @@ cleanlib:
                     Fd.close()
                 except BaseException as X:
                     EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path + "\n\t" + str(X))
                 if len(FileContent) == 0:
                     continue
-
-                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
-                    FileContent = FileContent.decode('utf-16')
-                else:
-                    try:
-                        FileContent = str(FileContent)
-                    except:
-                        pass
+                try:
+                    if FileContent[0] == 0xff or FileContent[0] == 0xfe:
+                        FileContent = FileContent.decode('utf-16')
+                    else:
+                        FileContent = FileContent.decode()
+                except:
+                    # The file is not txt file. for example .mcb file
+                    continue
                 IncludedFileList = gIncludePattern.findall(FileContent)
 
                 for Inc in IncludedFileList:
                     Inc = Inc.strip()
                     # if there's macro used to reference header file, expand it
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 1ffefe6e7e..7221946062 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -153,19 +153,18 @@ def GetDependencyList(FileStack, SearchPathList):
                     Fd.close()
 
             if len(FileContent) == 0:
                 continue
 
-            if FileContent[0] == 0xff or FileContent[0] == 0xfe:
-                FileContent = FileContent.decode('utf-16')
-                IncludedFileList = gIncludePattern.findall(FileContent)
-            else:
-                try:
-                    FileContent = str(FileContent)
-                    IncludedFileList = gIncludePattern.findall(FileContent)
-                except:
-                    pass
+            try:
+                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
+                    FileContent = FileContent.decode('utf-16')
+                else:
+                    FileContent = FileContent.decode()
+            except:
+                # The file is not txt file. for example .mcb file
+                continue
             IncludedFileList = gIncludePattern.findall(FileContent)
 
             for Inc in IncludedFileList:
                 Inc = Inc.strip()
                 Inc = os.path.normpath(Inc)
-- 
2.18.0.windows.1



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Patch V2] BaseTool: Fixed incremental rebuild issue.
  2019-02-20 15:21 [Patch V2] BaseTool: Fixed incremental rebuild issue Feng, Bob C
@ 2019-02-22  7:26 ` Gao, Liming
  2019-02-22 19:21   ` Ard Biesheuvel
  0 siblings, 1 reply; 6+ messages in thread
From: Gao, Liming @ 2019-02-22  7:26 UTC (permalink / raw)
  To: Feng, Bob C, edk2-devel@lists.01.org

Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Feng, Bob C
>Sent: Wednesday, February 20, 2019 11:22 PM
>To: edk2-devel@lists.01.org
>Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
>Subject: [Patch V2] BaseTool: Fixed incremental rebuild issue.
>
>BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1540
>
>This issue in introduced by commit
>d943b0c339fe3d35ffdf9f580ccb7a55915c6854
>
>To convert bytes to string, we need to use bytes.decode()
>instead of using str(bytes).
>
>If the source file is not a txt file, ignore that file.
>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Bob Feng <bob.c.feng@intel.com>
>Cc: Liming Gao <liming.gao@intel.com>
>---
> BaseTools/Source/Python/AutoGen/GenMake.py      | 16 ++++++++--------
> .../Source/Python/Workspace/DscBuildData.py     | 17 ++++++++---------
> 2 files changed, 16 insertions(+), 17 deletions(-)
>
>diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py
>b/BaseTools/Source/Python/AutoGen/GenMake.py
>index 53c5b8577d..b441817b52 100644
>--- a/BaseTools/Source/Python/AutoGen/GenMake.py
>+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
>@@ -1043,18 +1043,18 @@ cleanlib:
>                     Fd.close()
>                 except BaseException as X:
>                     EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path +
>"\n\t" + str(X))
>                 if len(FileContent) == 0:
>                     continue
>-
>-                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>-                    FileContent = FileContent.decode('utf-16')
>-                else:
>-                    try:
>-                        FileContent = str(FileContent)
>-                    except:
>-                        pass
>+                try:
>+                    if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>+                        FileContent = FileContent.decode('utf-16')
>+                    else:
>+                        FileContent = FileContent.decode()
>+                except:
>+                    # The file is not txt file. for example .mcb file
>+                    continue
>                 IncludedFileList = gIncludePattern.findall(FileContent)
>
>                 for Inc in IncludedFileList:
>                     Inc = Inc.strip()
>                     # if there's macro used to reference header file, expand it
>diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py
>b/BaseTools/Source/Python/Workspace/DscBuildData.py
>index 1ffefe6e7e..7221946062 100644
>--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
>+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
>@@ -153,19 +153,18 @@ def GetDependencyList(FileStack, SearchPathList):
>                     Fd.close()
>
>             if len(FileContent) == 0:
>                 continue
>
>-            if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>-                FileContent = FileContent.decode('utf-16')
>-                IncludedFileList = gIncludePattern.findall(FileContent)
>-            else:
>-                try:
>-                    FileContent = str(FileContent)
>-                    IncludedFileList = gIncludePattern.findall(FileContent)
>-                except:
>-                    pass
>+            try:
>+                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>+                    FileContent = FileContent.decode('utf-16')
>+                else:
>+                    FileContent = FileContent.decode()
>+            except:
>+                # The file is not txt file. for example .mcb file
>+                continue
>             IncludedFileList = gIncludePattern.findall(FileContent)
>
>             for Inc in IncludedFileList:
>                 Inc = Inc.strip()
>                 Inc = os.path.normpath(Inc)
>--
>2.18.0.windows.1



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Patch V2] BaseTool: Fixed incremental rebuild issue.
  2019-02-22  7:26 ` Gao, Liming
@ 2019-02-22 19:21   ` Ard Biesheuvel
  2019-02-22 20:08     ` Laszlo Ersek
  0 siblings, 1 reply; 6+ messages in thread
From: Ard Biesheuvel @ 2019-02-22 19:21 UTC (permalink / raw)
  To: Gao, Liming, Marcin Wojtas, Laszlo Ersek, Leif Lindholm
  Cc: Feng, Bob C, edk2-devel@lists.01.org

On Fri, 22 Feb 2019 at 08:26, Gao, Liming <liming.gao@intel.com> wrote:
>
> Reviewed-by: Liming Gao <liming.gao@intel.com>
>

Incremental builds are still broken for me, even with this patch. Is
anyone else seeing the same?


> >-----Original Message-----
> >From: Feng, Bob C
> >Sent: Wednesday, February 20, 2019 11:22 PM
> >To: edk2-devel@lists.01.org
> >Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
> >Subject: [Patch V2] BaseTool: Fixed incremental rebuild issue.
> >
> >BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1540
> >
> >This issue in introduced by commit
> >d943b0c339fe3d35ffdf9f580ccb7a55915c6854
> >
> >To convert bytes to string, we need to use bytes.decode()
> >instead of using str(bytes).
> >
> >If the source file is not a txt file, ignore that file.
> >
> >Contributed-under: TianoCore Contribution Agreement 1.1
> >Signed-off-by: Bob Feng <bob.c.feng@intel.com>
> >Cc: Liming Gao <liming.gao@intel.com>
> >---
> > BaseTools/Source/Python/AutoGen/GenMake.py      | 16 ++++++++--------
> > .../Source/Python/Workspace/DscBuildData.py     | 17 ++++++++---------
> > 2 files changed, 16 insertions(+), 17 deletions(-)
> >
> >diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py
> >b/BaseTools/Source/Python/AutoGen/GenMake.py
> >index 53c5b8577d..b441817b52 100644
> >--- a/BaseTools/Source/Python/AutoGen/GenMake.py
> >+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
> >@@ -1043,18 +1043,18 @@ cleanlib:
> >                     Fd.close()
> >                 except BaseException as X:
> >                     EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path +
> >"\n\t" + str(X))
> >                 if len(FileContent) == 0:
> >                     continue
> >-
> >-                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >-                    FileContent = FileContent.decode('utf-16')
> >-                else:
> >-                    try:
> >-                        FileContent = str(FileContent)
> >-                    except:
> >-                        pass
> >+                try:
> >+                    if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >+                        FileContent = FileContent.decode('utf-16')
> >+                    else:
> >+                        FileContent = FileContent.decode()
> >+                except:
> >+                    # The file is not txt file. for example .mcb file
> >+                    continue
> >                 IncludedFileList = gIncludePattern.findall(FileContent)
> >
> >                 for Inc in IncludedFileList:
> >                     Inc = Inc.strip()
> >                     # if there's macro used to reference header file, expand it
> >diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py
> >b/BaseTools/Source/Python/Workspace/DscBuildData.py
> >index 1ffefe6e7e..7221946062 100644
> >--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> >+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> >@@ -153,19 +153,18 @@ def GetDependencyList(FileStack, SearchPathList):
> >                     Fd.close()
> >
> >             if len(FileContent) == 0:
> >                 continue
> >
> >-            if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >-                FileContent = FileContent.decode('utf-16')
> >-                IncludedFileList = gIncludePattern.findall(FileContent)
> >-            else:
> >-                try:
> >-                    FileContent = str(FileContent)
> >-                    IncludedFileList = gIncludePattern.findall(FileContent)
> >-                except:
> >-                    pass
> >+            try:
> >+                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >+                    FileContent = FileContent.decode('utf-16')
> >+                else:
> >+                    FileContent = FileContent.decode()
> >+            except:
> >+                # The file is not txt file. for example .mcb file
> >+                continue
> >             IncludedFileList = gIncludePattern.findall(FileContent)
> >
> >             for Inc in IncludedFileList:
> >                 Inc = Inc.strip()
> >                 Inc = os.path.normpath(Inc)
> >--
> >2.18.0.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Patch V2] BaseTool: Fixed incremental rebuild issue.
  2019-02-22 19:21   ` Ard Biesheuvel
@ 2019-02-22 20:08     ` Laszlo Ersek
  2019-02-23 10:14       ` Marcin Wojtas
  0 siblings, 1 reply; 6+ messages in thread
From: Laszlo Ersek @ 2019-02-22 20:08 UTC (permalink / raw)
  To: Ard Biesheuvel, Gao, Liming, Marcin Wojtas, Leif Lindholm
  Cc: Feng, Bob C, edk2-devel@lists.01.org

On 02/22/19 20:21, Ard Biesheuvel wrote:
> On Fri, 22 Feb 2019 at 08:26, Gao, Liming <liming.gao@intel.com> wrote:
>>
>> Reviewed-by: Liming Gao <liming.gao@intel.com>
>>
> 
> Incremental builds are still broken for me, even with this patch. Is
> anyone else seeing the same?

I am not; but I've been using Python3.4 for a while now (it is needed by
another package on my system, and then the build tools find it too).

The regression is attributed to commit d943b0c339fe ("BaseTools: Handle
the bytes and str difference", 2019-02-01), which I believe is related
to the python2/3 conversion. So I assume python3.4 masks the problem.

Thanks
Laszlo

>>> -----Original Message-----
>>> From: Feng, Bob C
>>> Sent: Wednesday, February 20, 2019 11:22 PM
>>> To: edk2-devel@lists.01.org
>>> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
>>> Subject: [Patch V2] BaseTool: Fixed incremental rebuild issue.
>>>
>>> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1540
>>>
>>> This issue in introduced by commit
>>> d943b0c339fe3d35ffdf9f580ccb7a55915c6854
>>>
>>> To convert bytes to string, we need to use bytes.decode()
>>> instead of using str(bytes).
>>>
>>> If the source file is not a txt file, ignore that file.
>>>
>>> Contributed-under: TianoCore Contribution Agreement 1.1
>>> Signed-off-by: Bob Feng <bob.c.feng@intel.com>
>>> Cc: Liming Gao <liming.gao@intel.com>
>>> ---
>>> BaseTools/Source/Python/AutoGen/GenMake.py      | 16 ++++++++--------
>>> .../Source/Python/Workspace/DscBuildData.py     | 17 ++++++++---------
>>> 2 files changed, 16 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py
>>> b/BaseTools/Source/Python/AutoGen/GenMake.py
>>> index 53c5b8577d..b441817b52 100644
>>> --- a/BaseTools/Source/Python/AutoGen/GenMake.py
>>> +++ b/BaseTools/Source/Python/AutoGen/GenMake.py
>>> @@ -1043,18 +1043,18 @@ cleanlib:
>>>                     Fd.close()
>>>                 except BaseException as X:
>>>                     EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path +
>>> "\n\t" + str(X))
>>>                 if len(FileContent) == 0:
>>>                     continue
>>> -
>>> -                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>>> -                    FileContent = FileContent.decode('utf-16')
>>> -                else:
>>> -                    try:
>>> -                        FileContent = str(FileContent)
>>> -                    except:
>>> -                        pass
>>> +                try:
>>> +                    if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>>> +                        FileContent = FileContent.decode('utf-16')
>>> +                    else:
>>> +                        FileContent = FileContent.decode()
>>> +                except:
>>> +                    # The file is not txt file. for example .mcb file
>>> +                    continue
>>>                 IncludedFileList = gIncludePattern.findall(FileContent)
>>>
>>>                 for Inc in IncludedFileList:
>>>                     Inc = Inc.strip()
>>>                     # if there's macro used to reference header file, expand it
>>> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py
>>> b/BaseTools/Source/Python/Workspace/DscBuildData.py
>>> index 1ffefe6e7e..7221946062 100644
>>> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
>>> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
>>> @@ -153,19 +153,18 @@ def GetDependencyList(FileStack, SearchPathList):
>>>                     Fd.close()
>>>
>>>             if len(FileContent) == 0:
>>>                 continue
>>>
>>> -            if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>>> -                FileContent = FileContent.decode('utf-16')
>>> -                IncludedFileList = gIncludePattern.findall(FileContent)
>>> -            else:
>>> -                try:
>>> -                    FileContent = str(FileContent)
>>> -                    IncludedFileList = gIncludePattern.findall(FileContent)
>>> -                except:
>>> -                    pass
>>> +            try:
>>> +                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
>>> +                    FileContent = FileContent.decode('utf-16')
>>> +                else:
>>> +                    FileContent = FileContent.decode()
>>> +            except:
>>> +                # The file is not txt file. for example .mcb file
>>> +                continue
>>>             IncludedFileList = gIncludePattern.findall(FileContent)
>>>
>>>             for Inc in IncludedFileList:
>>>                 Inc = Inc.strip()
>>>                 Inc = os.path.normpath(Inc)
>>> --
>>> 2.18.0.windows.1
>>
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Patch V2] BaseTool: Fixed incremental rebuild issue.
  2019-02-22 20:08     ` Laszlo Ersek
@ 2019-02-23 10:14       ` Marcin Wojtas
  2019-02-23 10:48         ` Ard Biesheuvel
  0 siblings, 1 reply; 6+ messages in thread
From: Marcin Wojtas @ 2019-02-23 10:14 UTC (permalink / raw)
  To: Laszlo Ersek
  Cc: Ard Biesheuvel, Gao, Liming, Leif Lindholm, Feng, Bob C,
	edk2-devel@lists.01.org

Hi Laszlo,

pt., 22 lut 2019 o 21:08 Laszlo Ersek <lersek@redhat.com> napisał(a):
>
> On 02/22/19 20:21, Ard Biesheuvel wrote:
> > On Fri, 22 Feb 2019 at 08:26, Gao, Liming <liming.gao@intel.com> wrote:
> >>
> >> Reviewed-by: Liming Gao <liming.gao@intel.com>
> >>
> >
> > Incremental builds are still broken for me, even with this patch. Is
> > anyone else seeing the same?
>
> I am not; but I've been using Python3.4 for a while now (it is needed by
> another package on my system, and then the build tools find it too).
>
> The regression is attributed to commit d943b0c339fe ("BaseTools: Handle
> the bytes and str difference", 2019-02-01), which I believe is related
> to the python2/3 conversion. So I assume python3.4 masks the problem.
>

In my setup with the latest BaseTools update this problem is gone. I'm
using Python 3.5.2.

Thanks,
Marcin

>
> >>> -----Original Message-----
> >>> From: Feng, Bob C
> >>> Sent: Wednesday, February 20, 2019 11:22 PM
> >>> To: edk2-devel@lists.01.org
> >>> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>
> >>> Subject: [Patch V2] BaseTool: Fixed incremental rebuild issue.
> >>>
> >>> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1540
> >>>
> >>> This issue in introduced by commit
> >>> d943b0c339fe3d35ffdf9f580ccb7a55915c6854
> >>>
> >>> To convert bytes to string, we need to use bytes.decode()
> >>> instead of using str(bytes).
> >>>
> >>> If the source file is not a txt file, ignore that file.
> >>>
> >>> Contributed-under: TianoCore Contribution Agreement 1.1
> >>> Signed-off-by: Bob Feng <bob.c.feng@intel.com>
> >>> Cc: Liming Gao <liming.gao@intel.com>
> >>> ---
> >>> BaseTools/Source/Python/AutoGen/GenMake.py      | 16 ++++++++--------
> >>> .../Source/Python/Workspace/DscBuildData.py     | 17 ++++++++---------
> >>> 2 files changed, 16 insertions(+), 17 deletions(-)
> >>>
> >>> diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py
> >>> b/BaseTools/Source/Python/AutoGen/GenMake.py
> >>> index 53c5b8577d..b441817b52 100644
> >>> --- a/BaseTools/Source/Python/AutoGen/GenMake.py
> >>> +++ b/BaseTools/Source/Python/AutoGen/GenMake.py
> >>> @@ -1043,18 +1043,18 @@ cleanlib:
> >>>                     Fd.close()
> >>>                 except BaseException as X:
> >>>                     EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path +
> >>> "\n\t" + str(X))
> >>>                 if len(FileContent) == 0:
> >>>                     continue
> >>> -
> >>> -                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >>> -                    FileContent = FileContent.decode('utf-16')
> >>> -                else:
> >>> -                    try:
> >>> -                        FileContent = str(FileContent)
> >>> -                    except:
> >>> -                        pass
> >>> +                try:
> >>> +                    if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >>> +                        FileContent = FileContent.decode('utf-16')
> >>> +                    else:
> >>> +                        FileContent = FileContent.decode()
> >>> +                except:
> >>> +                    # The file is not txt file. for example .mcb file
> >>> +                    continue
> >>>                 IncludedFileList = gIncludePattern.findall(FileContent)
> >>>
> >>>                 for Inc in IncludedFileList:
> >>>                     Inc = Inc.strip()
> >>>                     # if there's macro used to reference header file, expand it
> >>> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py
> >>> b/BaseTools/Source/Python/Workspace/DscBuildData.py
> >>> index 1ffefe6e7e..7221946062 100644
> >>> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> >>> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> >>> @@ -153,19 +153,18 @@ def GetDependencyList(FileStack, SearchPathList):
> >>>                     Fd.close()
> >>>
> >>>             if len(FileContent) == 0:
> >>>                 continue
> >>>
> >>> -            if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >>> -                FileContent = FileContent.decode('utf-16')
> >>> -                IncludedFileList = gIncludePattern.findall(FileContent)
> >>> -            else:
> >>> -                try:
> >>> -                    FileContent = str(FileContent)
> >>> -                    IncludedFileList = gIncludePattern.findall(FileContent)
> >>> -                except:
> >>> -                    pass
> >>> +            try:
> >>> +                if FileContent[0] == 0xff or FileContent[0] == 0xfe:
> >>> +                    FileContent = FileContent.decode('utf-16')
> >>> +                else:
> >>> +                    FileContent = FileContent.decode()
> >>> +            except:
> >>> +                # The file is not txt file. for example .mcb file
> >>> +                continue
> >>>             IncludedFileList = gIncludePattern.findall(FileContent)
> >>>
> >>>             for Inc in IncludedFileList:
> >>>                 Inc = Inc.strip()
> >>>                 Inc = os.path.normpath(Inc)
> >>> --
> >>> 2.18.0.windows.1
> >>
> >> _______________________________________________
> >> edk2-devel mailing list
> >> edk2-devel@lists.01.org
> >> https://lists.01.org/mailman/listinfo/edk2-devel
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Patch V2] BaseTool: Fixed incremental rebuild issue.
  2019-02-23 10:14       ` Marcin Wojtas
@ 2019-02-23 10:48         ` Ard Biesheuvel
  0 siblings, 0 replies; 6+ messages in thread
From: Ard Biesheuvel @ 2019-02-23 10:48 UTC (permalink / raw)
  To: Marcin Wojtas
  Cc: Laszlo Ersek, Gao, Liming, Leif Lindholm, Feng, Bob C,
	edk2-devel@lists.01.org

On Sat, 23 Feb 2019 at 11:14, Marcin Wojtas <mw@semihalf.com> wrote:
>
> Hi Laszlo,
>
> pt., 22 lut 2019 o 21:08 Laszlo Ersek <lersek@redhat.com> napisał(a):
> >
> > On 02/22/19 20:21, Ard Biesheuvel wrote:
> > > On Fri, 22 Feb 2019 at 08:26, Gao, Liming <liming.gao@intel.com> wrote:
> > >>
> > >> Reviewed-by: Liming Gao <liming.gao@intel.com>
> > >>
> > >
> > > Incremental builds are still broken for me, even with this patch. Is
> > > anyone else seeing the same?
> >
> > I am not; but I've been using Python3.4 for a while now (it is needed by
> > another package on my system, and then the build tools find it too).
> >
> > The regression is attributed to commit d943b0c339fe ("BaseTools: Handle
> > the bytes and str difference", 2019-02-01), which I believe is related
> > to the python2/3 conversion. So I assume python3.4 masks the problem.
> >
>
> In my setup with the latest BaseTools update this problem is gone. I'm
> using Python 3.5.2.
>

Thanks for confirming.

I did a full clean of my workspace, and now things are working for me
again as well.

Thanks,


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-02-23 10:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-20 15:21 [Patch V2] BaseTool: Fixed incremental rebuild issue Feng, Bob C
2019-02-22  7:26 ` Gao, Liming
2019-02-22 19:21   ` Ard Biesheuvel
2019-02-22 20:08     ` Laszlo Ersek
2019-02-23 10:14       ` Marcin Wojtas
2019-02-23 10:48         ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox