diff options
| author | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
|---|---|---|
| committer | craig <craig@11d20701-8431-0410-a711-e3c959e3b870> | 2012-01-01 11:40:09 +0000 |
| commit | 7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch) | |
| tree | 4430b556abac0ad660a0aacf1887d77f85d8be02 /OSX-package/linktools/mkframework.py | |
| download | scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip | |
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'OSX-package/linktools/mkframework.py')
| -rwxr-xr-x | OSX-package/linktools/mkframework.py | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/OSX-package/linktools/mkframework.py b/OSX-package/linktools/mkframework.py new file mode 100755 index 0000000..c29e847 --- /dev/null +++ b/OSX-package/linktools/mkframework.py @@ -0,0 +1,111 @@ +#!/usr/bin/python + +import os +import sys +import shutil +import osxtools + +def usage(): + print """ + Usage: mkframework.py bundle [-l libfile] [-v version] + + Creates the directory structure for a framework. + If libfile is given, it will be used as the frameworks executable, + otherwise the framework will just be an empty shell. + + bundle: the path to the *.framework bundle + -l lib: copy lib into the bundle. + -v ver: use "ver" as the version instead of the standard 'A' + -f: overwrite existing files if version exists + """ + + +if len(sys.argv) <= 1 or sys.argv[1] == "-?" : + usage() + sys.exit(0) + + + +version = "A" +overwrite = False +libfile = None +bundle = None + +argp = 1 + +while argp < len(sys.argv) : + if sys.argv[argp] == '-f': + overwrite = True; + argp = argp + 1 + elif sys.argv[argp] == '-l' : + libfile = (sys.argv[argp + 1]) + argp = argp + 2 + elif sys.argv[argp][0:2] == '-l' : + libfile = (sys.argv[argp][2:]) + argp = argp + 1 + elif sys.argv[argp] == '-v' : + version = (sys.argv[argp + 1]) + argp = argp + 2 + elif sys.argv[argp][0:2] == '-v' : + version = (sys.argv[argp][2:]) + argp = argp + 1 + elif sys.argv[argp][0:1] == '-' : + print "Error: unknown option: " + sys.argv[argp] + usage() + sys.exit(1) + elif bundle == None: + bundle = sys.argv[argp] + argp = argp + 1 + else: + print "Error: more than one bundle path specified!" + usage() + sys.exit(1) + +if bundle == None: + print "Error: no bundle path specified!" + usage() + sys.exit(1) + +if not os.path.isabs(bundle): + bundle = os.path.join(os.getenv("PWD"), bundle) + +if bundle[-10 : ] != ".framework": + bundle = bundle + ".framework" +fwName = os.path.basename(bundle)[0: -10] + +if not os.path.exists(bundle): + os.makedirs(bundle, 0755) +elif not os.path.isdir(bundle): + print "Error: '" + bundle + "' is no bundle path!" + usage() + sys.exit(1) + +versionPath = os.path.join(bundle, "Versions", version) + +if os.path.exists(versionPath): + if overwrite: + shutil.removetree(versionPath) + else: + print "Error: '" + versionPath + "' already exists!" + usage() + sys.exit(1) + +os.makedirs(versionPath, 0755) + +if libfile != None: + shutil.copy(libfile, os.path.join(versionPath, fwName)) + os.system("install_name_tool -id @executable_path/" + + os.path.join("../Frameworks", + fwName + ".framework", + "Versions", + version, + fwName) + + " " + + os.path.join(versionPath, fwName)) + +osxtools.createSymlinks(bundle, [ + ("Versions/Current", version), + (fwName, os.path.join("Versions/Current", fwName)), + ("Headers", "Versions/Current/Headers") +]) + |
