mirror of https://github.com/acidanthera/audk.git
Corrections to the far manifest.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2105 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
69932b41f0
commit
d32aaa956e
|
@ -39,59 +39,68 @@ def parseSpd(spdFile):
|
||||||
for f in XmlList(spd, xmlPath):
|
for f in XmlList(spd, xmlPath):
|
||||||
filelist.append(str(os.path.join(spdDir, XmlElementData(f))))
|
filelist.append(str(os.path.join(spdDir, XmlElementData(f))))
|
||||||
|
|
||||||
for xmlPath in ["/PackageSurfaceArea/MsaFiles/Filename"]:
|
for f in XmlList(spd, "/PackageSurfaceArea/MsaFiles/Filename"):
|
||||||
for f in XmlList(spd, xmlPath):
|
msaFile = str(os.path.join(spdDir, XmlElementData(f)))
|
||||||
msaFile = str(os.path.join(spdDir, XmlElementData(f)))
|
filelist += parseMsa(msaFile, spdDir)
|
||||||
filelist += parseMsa(msaFile, spdDir)
|
|
||||||
|
|
||||||
return filelist
|
return filelist
|
||||||
|
|
||||||
def makeFar(filelist, farname):
|
def makeFar(filelist, farname):
|
||||||
|
|
||||||
man = \
|
|
||||||
"""<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<FrameworkArchiveManifest>
|
|
||||||
</FrameworkArchiveManifest>
|
|
||||||
"""
|
|
||||||
|
|
||||||
domImpl = xml.dom.minidom.getDOMImplementation()
|
domImpl = xml.dom.minidom.getDOMImplementation()
|
||||||
man = domImpl.createDocument(None, "FrameworkArchiveManifest", None)
|
man = domImpl.createDocument(None, "FrameworkArchiveManifest", None)
|
||||||
top_element = man.documentElement
|
top_element = man.documentElement
|
||||||
|
|
||||||
header = man.createElement("FarHeader")
|
header = man.createElement("FarHeader")
|
||||||
top_element.appendChild(header)
|
top_element.appendChild(header)
|
||||||
|
|
||||||
packList = man.createElement("FarPackageList")
|
packList = man.createElement("FarPackageList")
|
||||||
top_element.appendChild(packList)
|
top_element.appendChild(packList)
|
||||||
|
|
||||||
platList = man.createElement("FarPlatformList")
|
platList = man.createElement("FarPlatformList")
|
||||||
top_element.appendChild(platList)
|
top_element.appendChild(platList)
|
||||||
|
|
||||||
contents = man.createElement("Contents")
|
contents = man.createElement("Contents")
|
||||||
top_element.appendChild(contents)
|
top_element.appendChild(contents)
|
||||||
|
|
||||||
zip = zipfile.ZipFile(farname, "w")
|
zip = zipfile.ZipFile(farname, "w")
|
||||||
for file in args:
|
for infile in filelist:
|
||||||
if not os.path.exists(inWorkspace(file)):
|
if not os.path.exists(inWorkspace(infile)):
|
||||||
print "Skipping non-existent file '%s'." % file
|
print "Skipping non-existent file '%s'." % infile
|
||||||
(_, extension) = os.path.splitext(file)
|
(_, extension) = os.path.splitext(infile)
|
||||||
if extension == ".spd":
|
if extension == ".spd":
|
||||||
filelist = parseSpd(file)
|
filelist = parseSpd(infile)
|
||||||
|
|
||||||
for file in filelist:
|
package = man.createElement("FarPackage")
|
||||||
|
packList.appendChild(package)
|
||||||
package = man.createElement("FarPackage")
|
|
||||||
packList.appendChild(package)
|
|
||||||
|
|
||||||
spdfilename = man.createElement("FarFileName")
|
spdfilename = man.createElement("FarFilename")
|
||||||
package.appendChild(spdfilename)
|
package.appendChild(spdfilename)
|
||||||
|
|
||||||
spdfilename.appendChild( man.createTextNode(file) )
|
spdfilename.appendChild( man.createTextNode(infile) )
|
||||||
|
|
||||||
|
for spdfile in filelist:
|
||||||
|
content = man.createElement("FarFilename")
|
||||||
|
content.appendChild( man.createTextNode(spdfile))
|
||||||
|
contents.appendChild(content)
|
||||||
|
|
||||||
elif extension == ".fpd":
|
elif extension == ".fpd":
|
||||||
filelist = [file]
|
filelist = [infile]
|
||||||
|
|
||||||
|
platform = man.createElement("FarPlatform")
|
||||||
|
platList.appendChild(platform)
|
||||||
|
|
||||||
|
fpdfilename = man.createElement("FarFilename")
|
||||||
|
platform.appendChild(fpdfilename)
|
||||||
|
|
||||||
|
fpdfilename.appendChild( man.createTextNode(infile) )
|
||||||
|
|
||||||
else:
|
else:
|
||||||
filelist = []
|
filelist = []
|
||||||
|
content = man.createElement("FarFilename")
|
||||||
|
content.appendChild( man.createTextNode(infile))
|
||||||
|
contents.appendChild(content)
|
||||||
|
|
||||||
for f in set(filelist):
|
for f in set(filelist):
|
||||||
zip.write(inWorkspace(f), f)
|
zip.write(inWorkspace(f), f)
|
||||||
zip.writestr("FrameworkArchiveManifest.xml", man.toprettyxml(" "))
|
zip.writestr("FrameworkArchiveManifest.xml", man.toprettyxml(" "))
|
||||||
|
|
Loading…
Reference in New Issue