osx: fix signing to make Gatekeeper happy (again)

The approach from 65f3fa8d1 worked for signing on 10.9.4, but not newer
versions. 10.9.5 (and up) want each framework to stand alone.

Now in addition to copying the plist's from Qt for each framework, we put them
in per-version dirs and only symlink to the latest, rather than using symlinks
for any contents.

Rebased-From: af0bd5e
This commit is contained in:
Cory Fields 2014-09-29 22:03:11 -04:00 committed by Wladimir J. van der Laan
parent 855fd498f9
commit 613247fc97
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6

View File

@ -283,8 +283,8 @@ def copyFramework(framework, path, verbose):
if not framework.isDylib(): # Copy resources for real frameworks
linkfrom = os.path.join(path, "Contents/Frameworks/", framework.frameworkName, framework.binaryName)
linkto = os.path.join(framework.binaryPath)
linkfrom = os.path.join(path, "Contents","Frameworks", framework.frameworkName, "Versions", "Current")
linkto = framework.version
if not os.path.exists(linkfrom):
os.symlink(linkto, linkfrom)
if verbose >= 2:
@ -303,11 +303,6 @@ def copyFramework(framework, path, verbose):
toContentsDir = os.path.join(path, framework.destinationVersionContentsDirectory)
shutil.copytree(fromContentsDir, toContentsDir)
contentslinkfrom = os.path.join(path, framework.destinationContentsDirectory)
if not os.path.exists(contentslinkfrom):
contentslinkto = os.path.join("Versions/", framework.version, "Contents")
os.symlink(contentslinkto, contentslinkfrom)
if verbose >= 3:
print "Linked:", contentslinkfrom, "->", contentslinkto
if verbose >= 3:
print "Copied Contents:", fromContentsDir
print " to:", toContentsDir