From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6D74A201B0424 for ; Fri, 22 Feb 2019 12:08:22 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 60635307B97A; Fri, 22 Feb 2019 20:08:22 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-125-131.rdu2.redhat.com [10.10.125.131]) by smtp.corp.redhat.com (Postfix) with ESMTP id D66835D9CA; Fri, 22 Feb 2019 20:08:19 +0000 (UTC) To: Ard Biesheuvel , "Gao, Liming" , Marcin Wojtas , Leif Lindholm Cc: "Feng, Bob C" , "edk2-devel@lists.01.org" References: <20190220152131.12008-1-bob.c.feng@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E3E5E20@SHSMSX104.ccr.corp.intel.com> From: Laszlo Ersek Message-ID: Date: Fri, 22 Feb 2019 21:08:18 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.47]); Fri, 22 Feb 2019 20:08:22 +0000 (UTC) Subject: Re: [Patch V2] BaseTool: Fixed incremental rebuild issue. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Feb 2019 20:08:23 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 02/22/19 20:21, Ard Biesheuvel wrote: > On Fri, 22 Feb 2019 at 08:26, Gao, Liming wrote: >> >> Reviewed-by: Liming Gao >> > > 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 ; Gao, Liming >>> 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 >>> Cc: Liming Gao >>> --- >>> 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