#\r
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
-# This program and the accompanying materials\r
-# are licensed and made available under the terms and conditions of the BSD License\r
-# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
\r
##\r
from CommonDataClass.FdfClass import CapsuleClassObject\r
import Common.LongFilePathOs as os\r
from io import BytesIO\r
-from Common.Misc import SaveFileOnChange, PackRegistryFormatGuid\r
+from Common.Misc import SaveFileOnChange, PackGUID\r
import uuid\r
from struct import pack\r
from Common import EdkLogger\r
#\r
# Use FMP capsule GUID: 6DCBD5ED-E82D-4C44-BDA1-7194199AD92A\r
#\r
- Header.write(PackRegistryFormatGuid('6DCBD5ED-E82D-4C44-BDA1-7194199AD92A'))\r
+ Header.write(PackGUID('6DCBD5ED-E82D-4C44-BDA1-7194199AD92A'.split('-')))\r
HdrSize = 0\r
if 'CAPSULE_HEADER_SIZE' in self.TokensDict:\r
Header.write(pack('=I', int(self.TokensDict['CAPSULE_HEADER_SIZE'], 16)))\r
#\r
# The real capsule header structure is 28 bytes\r
#\r
- Header.write('\x00'*(HdrSize-28))\r
+ Header.write(b'\x00'*(HdrSize-28))\r
Header.write(FwMgrHdr.getvalue())\r
Header.write(Content.getvalue())\r
#\r
return self.GenFmpCapsule()\r
\r
CapInfFile = self.GenCapInf()\r
- CapInfFile.writelines("[files]" + TAB_LINE_BREAK)\r
+ CapInfFile.append("[files]" + TAB_LINE_BREAK)\r
CapFileList = []\r
for CapsuleDataObj in self.CapsuleDataList:\r
CapsuleDataObj.CapsuleName = self.CapsuleName\r
FileName = CapsuleDataObj.GenCapsuleSubItem()\r
CapsuleDataObj.CapsuleName = None\r
CapFileList.append(FileName)\r
- CapInfFile.writelines("EFI_FILE_NAME = " + \\r
+ CapInfFile.append("EFI_FILE_NAME = " + \\r
FileName + \\r
TAB_LINE_BREAK)\r
- SaveFileOnChange(self.CapInfFileName, CapInfFile.getvalue(), False)\r
- CapInfFile.close()\r
+ SaveFileOnChange(self.CapInfFileName, ''.join(CapInfFile), False)\r
#\r
# Call GenFv tool to generate capsule\r
#\r
def GenCapInf(self):\r
self.CapInfFileName = os.path.join(GenFdsGlobalVariable.FvDir,\r
self.UiCapsuleName + "_Cap" + '.inf')\r
- CapInfFile = BytesIO() #open (self.CapInfFileName , 'w+')\r
+ CapInfFile = []\r
\r
- CapInfFile.writelines("[options]" + TAB_LINE_BREAK)\r
+ CapInfFile.append("[options]" + TAB_LINE_BREAK)\r
\r
for Item in self.TokensDict:\r
- CapInfFile.writelines("EFI_" + \\r
+ CapInfFile.append("EFI_" + \\r
Item + \\r
' = ' + \\r
self.TokensDict[Item] + \\r