[edk2-devel] [Patch] BaseTools: use shutil.copyfile instead shutil.copy2

Yuwei Chen yuwei.chen at intel.com
Mon Aug 2 00:56:01 UTC 2021


Reviewed-by: Yuwei Chen<yuwei.chen at intel.com>

> -----Original Message-----
> From: Feng, Bob C <bob.c.feng at intel.com>
> Sent: Wednesday, July 28, 2021 7:45 PM
> To: devel at edk2.groups.io
> Cc: Liming Gao <gaoliming at byosoft.com.cn>; Chen, Christine
> <yuwei.chen at intel.com>
> Subject: [Patch] BaseTools: use shutil.copyfile instead shutil.copy2
> 
> In Split tool, the copy file actions only need to copy file content but not need
> to copy file metadata.
> 
> copy2() copies the file metadata that causes split unit test failed under edk2-
> basetools CI environment.
> 
> So this patch changes the call of copy2() to copyfile().
> 
> Signed-off-by: Bob Feng <bob.c.feng at intel.com>
> Cc: Liming Gao <gaoliming at byosoft.com.cn>
> Cc: Yuwei Chen <yuwei.chen at intel.com>
> ---
>  BaseTools/Source/Python/Split/Split.py | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/Split/Split.py
> b/BaseTools/Source/Python/Split/Split.py
> index e223a72a94..e70d5c22c4 100644
> --- a/BaseTools/Source/Python/Split/Split.py
> +++ b/BaseTools/Source/Python/Split/Split.py
> @@ -146,18 +146,18 @@ def splitFile(inputfile, position, outputdir=None,
> outputfile1=None, outputfile2
>          logger.error("Can't make dir: %s" % outputfolder)         raise(e)      if
> position <= 0:         if outputfile2 != os.path.abspath(inputfile):-
> shutil.copy2(os.path.abspath(inputfile), outputfile2)+
> shutil.copyfile(os.path.abspath(inputfile), outputfile2)         with
> open(outputfile1, "wb") as fout:             fout.write(b'')     else:
> inputfilesize = getFileSize(inputfile)         if position >= inputfilesize:             if
> outputfile1 != os.path.abspath(inputfile):-
> shutil.copy2(os.path.abspath(inputfile), outputfile1)+
> shutil.copyfile(os.path.abspath(inputfile), outputfile1)             with
> open(outputfile2, "wb") as fout:                 fout.write(b'')         else:             try:
> tempdir = tempfile.mkdtemp()@@ -169,12 +169,12 @@ def splitFile(inputfile,
> position, outputdir=None, outputfile1=None, outputfile2
>                          fout1.write(content1)                      content2 =
> fin.read(inputfilesize - position)                     with open(tempfile2, "wb") as
> fout2:                         fout2.write(content2)-                shutil.copy2(tempfile1,
> outputfile1)-                shutil.copy2(tempfile2, outputfile2)+
> shutil.copyfile(tempfile1, outputfile1)+                shutil.copyfile(tempfile2,
> outputfile2)             except Exception as e:                 logger.error("Split file
> failed")                 raise(e)             finally:                 if os.path.exists(tempdir):--
> 2.29.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#78475): https://edk2.groups.io/g/devel/message/78475
Mute This Topic: https://groups.io/mt/84503147/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list