summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2015-03-20 09:18:19 -0230
committerMatthew Newhook <matthew@zeroc.com>2015-03-20 09:18:19 -0230
commit1c8744c7450f17ec7e121f2ce6ea1775bad946bc (patch)
tree08400a343205816e5ae669e5b43e840502bd9df8
parentFirst step in refactoring the distribution dir. (diff)
downloadice-1c8744c7450f17ec7e121f2ce6ea1775bad946bc.tar.bz2
ice-1c8744c7450f17ec7e121f2ce6ea1775bad946bc.tar.xz
ice-1c8744c7450f17ec7e121f2ce6ea1775bad946bc.zip
Moved distribution/lib scripts to dist-utils, and moved FixUtil to
the scripts dir.
-rwxr-xr-xdistribution/bin/makejspackages.py120
-rw-r--r--distribution/lib/BuildUtils.py196
-rw-r--r--distribution/lib/DistUtils.py1003
-rwxr-xr-xscripts/FixUtil.py (renamed from distribution/lib/FixUtil.py)0
-rwxr-xr-xscripts/fixLineEnd.py32
-rwxr-xr-xscripts/fixVersion.py1
6 files changed, 0 insertions, 1352 deletions
diff --git a/distribution/bin/makejspackages.py b/distribution/bin/makejspackages.py
deleted file mode 100755
index 09e4b52846d..00000000000
--- a/distribution/bin/makejspackages.py
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/env python
-# **********************************************************************
-#
-# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-import os, sys, fnmatch, re, getopt, atexit, shutil, subprocess, json
-
-sys.path.append(os.path.join(os.path.dirname(__file__), "..", "lib"))
-from DistUtils import *
-
-#
-# Program usage.
-#
-def usage():
- print
- print "Options:"
- print "-h Show this message."
- print "-v Be verbose."
- print "Example:"
- print ""
- print "makejspackages.py"
- print
-
-def runCommand(cmd):
- print(cmd)
- if os.system(cmd) != 0:
- sys.exit(1)
-
-iceVersion = "3.6.0"
-mmVersion = "3.6"
-
-os.chdir(os.path.join(os.path.dirname(__file__), "..", ".."))
-if not os.path.isfile("Ice-%s.tar.gz" % iceVersion):
- print("Could not find Ice-%s.tar.gz" % iceVersion)
- sys.exit(1)
-
-thirdPartyPackage = "ThirdParty-Sources-%s" % iceVersion
-downloadUrl = "http://www.zeroc.com/download/Ice/%s/" % mmVersion
-
-if not os.path.isfile(os.path.expanduser("~/Downloads/%s.tar.gz" % thirdPartyPackage)):
- runCommand(os.path.expanduser("cd ~/Downloads && wget http://www.zeroc.com/download/Ice/%(mmver)s/%(thirdParty)s.tar.gz" %
- {"thirdParty": thirdPartyPackage, "mmver": mmVersion}))
-
-runCommand(os.path.expanduser(
- "rm -rf %(thirdParty)s && tar zxf ~/Downloads/%(thirdParty)s.tar.gz && cd %(thirdParty)s && tar zxf mcpp-2.7.2.tar.gz && "
- "cd mcpp-2.7.2 && patch -p0 < ../mcpp/patch.mcpp.2.7.2" % {"thirdParty": thirdPartyPackage}))
-
-runCommand("tar zxf Ice-%s.tar.gz" % iceVersion)
-for d in ["IceUtil", "Slice", "slice2js"]:
- runCommand("cd Ice-%(version)s/cpp/src/%(dir)s && make -j8" % { "dir": d, "version": iceVersion })
-runCommand("cd Ice-%s/js && npm install && npm run gulp:dist" % iceVersion)
-
-
-packages = ["zeroc-icejs", "zeroc-slice2js", "gulp-zeroc-slice2js"]
-#
-# Clone package git repositories
-#
-runCommand("rm -rf packages && mkdir packages")
-for repo in packages:
- runCommand("cd packages && git clone ssh://dev.zeroc.com/home/git/%(repo)s.git" % {"repo": repo})
- runCommand("cd packages/%(repo)s && git remote add github git@github.com:ZeroC-Inc/%(repo)s.git" % {"repo": repo})
- runCommand("cd packages/%(repo)s && git config user.name 'ZeroC, Inc'" % {"repo": repo})
- runCommand("cd packages/%(repo)s && git config user.email 'github@zeroc.com'" % {"repo": repo})
- runCommand("cd packages/%(repo)s && rm -rf *" % {"repo": repo})
-
-for package in packages:
- #
- # copy dist files to repositories
- #
- runCommand("cp -rf distfiles-%(version)s/src/js/%(package)s/* packages/%(package)s/" %
- { "package": package, "version": iceVersion })
-
- #
- # copy license files to each package
- #
- for f in ["LICENSE", "ICE_LICENSE"]:
- copy("Ice-%(version)s/%(file)s" % { "file": f, "version": iceVersion },
- "packages/%(package)s/%(file)s" % { "package": package, "file": f })
-
-
-#
-# zeroc-slice2js package
-#
-copy("%s/mcpp-2.7.2/src" % thirdPartyPackage, "packages/zeroc-slice2js/mcpp/src")
-
-for d in ["IceUtil", "Slice", "slice2js"]:
- copyMatchingFiles(os.path.join("Ice-%s/cpp/src" % iceVersion, d),
- os.path.join("packages/zeroc-slice2js/src", d), ["*.cpp", "*.h"])
-
-for d in ["IceUtil", "Slice"]:
- copyMatchingFiles(os.path.join("Ice-%s/cpp/include" % iceVersion, d),
- os.path.join("packages/zeroc-slice2js/include", d), ["*.h"])
-
-for d in ["Glacier2", "Ice", "IceGrid", "IceSSL", "IceStorm"]:
- copyMatchingFiles(os.path.join("Ice-%s/slice" % iceVersion, d),
- os.path.join("packages/zeroc-slice2js/slice", d), ["*.ice"])
-
-copy("distfiles-%s/src/unix/MCPP_LICENSE" % iceVersion, "packages/zeroc-slice2js/MCPP_LICENSE")
-
-#
-# gulp-zeroc-slice2js package
-#
-copy("Ice-%s/js/gulp/gulp-slice2js/index.js" % iceVersion, "packages/gulp-zeroc-slice2js/index.js")
-
-#
-# zeroc-icejs package
-#
-copy("Ice-%s/js/src" % iceVersion, "packages/zeroc-icejs/src")
-copyMatchingFiles("Ice-%s/js/gulp" % iceVersion, "packages/zeroc-icejs/gulp", ['bundle.js', 'libTasks.js'])
-copyMatchingFiles("Ice-%s/js/lib" % iceVersion, "packages/zeroc-icejs/lib", ["*.js", "*.gz"])
-
-for package in packages:
- runCommand("cd packages/%(package)s && git add . && git commit . -m '%(package)s version %(version)s'" %
- { "package": package, "version": iceVersion })
-
diff --git a/distribution/lib/BuildUtils.py b/distribution/lib/BuildUtils.py
deleted file mode 100644
index b49a04d5530..00000000000
--- a/distribution/lib/BuildUtils.py
+++ /dev/null
@@ -1,196 +0,0 @@
-
-import os, sys
-
-def getThirdpartyHome(version):
- if os.environ.get("THIRDPARTY_HOME"):
- return os.environ.get("THIRDPARTY_HOME")
- elif sys.platform == "darwin":
- if os.path.exists("/Library/Developer/Ice-%s-ThirdParty/lib/db.jar" % version):
- return "/Library/Developer/Ice-%s-ThirdParty/lib/" % version
- elif sys.platform == "win32":
- import winreg
- try:
- key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\ZeroC\\Ice %s Third Party Packages" % \
- version, 0, winreg.KEY_READ | winreg.KEY_WOW64_64KEY)
- installDir = os.path.abspath(winreg.QueryValueEx(key, "InstallDir")[0])
-
- if os.path.exists(installDir):
- return installDir
- except WindowsError as error:
- print(error)
- return None
-
-def getIceHome(version):
- if os.environ.get("ICE_HOME"):
- return os.environ.get("ICE_HOME")
- elif sys.platform == "darwin":
- if os.path.exists("/Library/Developer/Ice-%s/bin/slice2cpp" % version):
- return "/Library/Developer/Ice-%s" % version
- elif os.path.exists("/opt/Ice-%s/bin/slice2cpp" % version):
- return "/opt/Ice-%s/bin/slice2cpp" % version
- elif sys.platform.startswith("linux"):
- if os.path.exists("/usr/bin/slice2cpp"):
- return "/usr"
- elif os.path.exists("/opt/Ice-%s/bin/slice2cpp" % version):
- return "/opt/Ice-%s" % version
- elif sys.platform == "win32":
- import winreg
- try:
- key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\ZeroC\\Ice %s" % \
- version, 0, winreg.KEY_READ | winreg.KEY_WOW64_64KEY)
- installDir = os.path.abspath(winreg.QueryValueEx(key, "InstallDir")[0])
-
- if os.path.exists(os.path.join(installDir, "bin", "slice2cpp.exe")):
- return installDir
- except WindowsError as error:
- print(error)
- return None
- return None
-
-def getAdvancedInstallerHome():
- import winreg
- try:
- key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Caphyon\\Advanced Installer", \
- 0, winreg.KEY_READ | winreg.KEY_WOW64_32KEY)
- installDir = os.path.abspath(winreg.QueryValueEx(key, "Advanced Installer Path")[0])
-
- if os.path.exists(installDir):
- return installDir
- else:
- return None
- except WindowsError as error:
- print(error)
- return None
-
-def getVcVarsAll(compiler):
-
- version = None
-
- if compiler == "VC90":
- version = "9.0"
- elif compiler == "VC100":
- version = "10.0"
- elif compiler == "VC110":
- version = "11.0"
- elif compiler == "VC120":
- version = "12.0"
- else:
- return None # Unsuported VC compiler
-
- import winreg
- try:
- vcKey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\VisualStudio\\%s" % version, 0, \
- winreg.KEY_READ | winreg.KEY_WOW64_32KEY)
- vcInstallDir = os.path.abspath(winreg.QueryValueEx(vcKey, "InstallDir")[0])
- vcInstallDir = os.path.abspath(os.path.join(vcInstallDir, "..", "..", "VC"))
- vcVarsAll = os.path.join(vcInstallDir, "vcvarsall.bat")
- if os.path.exists(vcVarsAll):
- return vcVarsAll
- else:
- return None
- except WindowsError as error:
- return None
-
-def getJavaHome(arch, version):
-
- import winreg
- flags = winreg.KEY_READ
- if arch == "amd64" or arch == "x64":
- flags = flags | winreg.KEY_WOW64_64KEY
- else:
- flags = flags | winreg.KEY_WOW64_32KEY
-
- try:
- jdkKey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\JavaSoft\\Java Development Kit\\%s" % \
- version, 0, flags)
- javaHome = os.path.abspath(winreg.QueryValueEx(jdkKey, "JavaHome")[0])
- if os.path.exists(javaHome):
- return javaHome
- else:
- return None
- except WindowsError as error:
- return None
-
-def getPythonHome(arch):
-
- import winreg
- flags = winreg.KEY_READ
- if arch == "amd64" or arch == "x64":
- flags = flags | winreg.KEY_WOW64_64KEY
- else:
- flags = flags | winreg.KEY_WOW64_32KEY
-
- try:
- key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Python\\PythonCore\\3.4\\InstallPath", 0, flags)
- home = os.path.abspath(winreg.QueryValueEx(key, "")[0])
- if os.path.exists(home):
- return home
- else:
- return None
- except WindowsError as error:
- return None
-
-def getRubyHome(arch):
- import winreg
- flags = winreg.KEY_READ
- if arch == "amd64" or arch == "x64":
- flags = flags | winreg.KEY_WOW64_64KEY
- else:
- flags = flags | winreg.KEY_WOW64_32KEY
-
- #
- # Unfortunately, the RubyInstaller creates a single for both the
- # x86 and x64 installer.
- #
- for parent in [winreg.HKEY_LOCAL_MACHINE, winreg.HKEY_CURRENT_USER]:
- try:
- key = winreg.OpenKey(parent, "SOFTWARE\\RubyInstaller\\MRI\\2.1.5", 0, flags)
- buildPlatform = winreg.QueryValueEx(key, "BuildPlatform")[0]
-
- key = winreg.OpenKey(parent, "SOFTWARE\\RubyInstaller\\MRI\\2.1.5", 0, flags)
- rubyHome = os.path.abspath(winreg.QueryValueEx(key, "InstallLocation")[0])
- if not os.path.exists(rubyHome):
- continue
-
- if (arch == "amd64" or arch == "x64") == (buildPaltform.find("x64-") == 0):
- return rubyHome
- elif (arch == "amd64" or arch == "x64"):
- rubyHome += "x64"
- elif(rubyHome.find("-x64") > 0):
- rubyHome = rubyHome[0:(len(rubyHome) - 4)]
-
- if os.path.exists(rubyHome):
- return rubyHome
- except:
- pass
-
- #
- # Check default installation directory
- #
- if (arch == "amd64" or arch == "x64"):
- if os.path.exists("C:\Ruby21-x64"):
- return "C:\Ruby21-x64"
- else:
- if os.path.exists("C:\Ruby21"):
- return "C:\Ruby21"
-
- return None
-
-def getNodeHome(arch):
- import winreg
- flags = winreg.KEY_READ
- if arch == "amd64" or arch == "x64":
- flags = flags | winreg.KEY_WOW64_64KEY
- else:
- flags = flags | winreg.KEY_WOW64_32KEY
-
- for parent in [winreg.HKEY_LOCAL_MACHINE, winreg.HKEY_CURRENT_USER]:
- try:
- key = winreg.OpenKey(parent, "SOFTWARE\\Node.js", 0, flags)
- nodeHome = os.path.abspath(winreg.QueryValueEx(key, "InstallPath")[0])
- if os.path.exists(nodeHome):
- return nodeHome
- except:
- pass
- return None
-
diff --git a/distribution/lib/DistUtils.py b/distribution/lib/DistUtils.py
deleted file mode 100644
index a05d471d7ae..00000000000
--- a/distribution/lib/DistUtils.py
+++ /dev/null
@@ -1,1003 +0,0 @@
-#!/usr/bin/env python
-# **********************************************************************
-#
-# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-import os, sys, shutil, glob, fnmatch, string, re, fileinput, time, subprocess
-from stat import *
-
-iceVersion = "3.6.0"
-
-def runCommand(cmd, verbose = False):
- if verbose:
- print(cmd)
- if os.system(cmd) != 0:
- print("Error executing: " + cmd)
- sys.exit(1)
-#
-# Defines which languges are supported on each supported platform
-#
-languages = { \
- 'SunOS' : ['cpp', 'cpp-64', 'java'], \
- 'Darwin' : ['cpp', 'java', 'py', 'js'], \
- 'Linux' : ['cpp', 'cpp-11', 'java', 'cs', 'py', 'rb', 'php', 'js'], \
-}
-
-#
-# Defines third party dependencies for each supported platform and their default
-# location.
-#
-bzip2 = { \
-}
-
-berkeleydb = { \
- 'Darwin' : '/Library/Developer/Ice-' + iceVersion + '-ThirdParty', \
- 'SunOS' : '/opt/db', \
-}
-
-berkeleydbjar = { \
- 'Linux' : '/usr/share/java/db-5.3.21.jar', \
-}
-
-expat = { \
-}
-
-iconv = {\
-}
-
-mcpp = {
- 'SunOS' : '/opt/mcpp', \
- 'Darwin' : '/Library/Developer/Ice-' + iceVersion + '-ThirdParty'
-}
-
-openssl = { \
-}
-
-proguard = { \
- 'SunOS' : '/opt/proguard/lib/proguard.jar', \
- 'Darwin' : '/opt/proguard/lib/proguard.jar', \
- 'Linux' : '/opt/proguard/lib/proguard.jar', \
-}
-
-javaApplicationBundler = { \
- 'Darwin' : '/opt/appbundler-1.0.jar', \
-}
-
-#
-# Some utility methods
-#
-
-#
-# Remove file or directory, warn if it doesn't exist.
-#
-def remove(path, recurse = True):
-
- if not os.path.exists(path):
- print("warning: " + path + " doesn't exist")
- return
-
- if os.path.isdir(path):
- if recurse:
- shutil.rmtree(path)
- else:
- try:
- os.rmdir(path)
- except:
- pass
- else:
- os.remove(path)
-
-#
-# Check the git version
-#
-def checkGitVersion():
- # Ensure we're using git >= 1.8.3
- p = os.popen("git --version")
- gitVersionMatch = re.search(".* ([0-9]+)\.([0-9b]+)\.([0-9]+).*", p.read())
- p.close()
-
- version = (int(gitVersionMatch.group(1)) * 10000) + \
- (int(gitVersionMatch.group(2)) * 100) + \
- int(gitVersionMatch.group(3))
-
- if (version < 10803):
- print(sys.argv[0] + ": invalid git version, git >= 1.8.3 is required")
- sys.exit(1)
-
-def getCommitForTag(repoDir, tag):
-
- cwd = os.getcwd()
- os.chdir(repoDir)
-
- try:
- p = os.popen("git show --show-signature %s" % tag)
- commit = p.read()
- p.close()
- if type(commit) != str:
- commit = commit.decode()
- commit = commit.split("\n")[0]
- if commit.find("commit") == -1:
- print("Error getting commit %s for tag" % tag)
- sys.exit(1)
- commit = re.sub("commit", "", commit).strip()
- os.chdir(cwd)
- return commit
- except subprocess.CalledProcessError as e:
- print(e)
- sys.exit(1)
-#
-# Copy src to dest
-#
-def copy(src, dest, warnDestExists = True, verbose = False):
-
- if verbose:
- print("copy: %s to: %s" %(src, dest))
-
- if not os.path.exists(src):
- print("warning: can't copy `" + src + "': file doesn't exist")
- return
-
- if not os.path.isdir(src) and os.path.isdir(dest):
- dest = os.path.join(dest, os.path.basename(src))
-
- if os.path.exists(dest):
- if warnDestExists:
- print("warning: overwriting " + dest)
- remove(dest)
-
- if os.path.dirname(dest) and not os.path.exists(os.path.dirname(dest)):
- os.makedirs(os.path.dirname(dest))
-
- if os.path.isdir(src):
- shutil.copytree(src, dest, True)
- elif os.path.islink(src):
- os.symlink(os.readlink(src), dest)
- else:
- shutil.copy2(src, dest)
-
- fixPermission(dest)
-
-#
-# Move src to dest
-#
-def move(src, dest, warnDestExists = True):
-
- if not os.path.exists(src):
- print("warning: can't move `" + src + "': file doesn't exist")
- return
-
- if os.path.exists(dest):
- if warnDestExists:
- print("warning: overwriting " + dest)
- shutil.rmtree(dest)
-
- if os.path.dirname(dest) and not os.path.exists(os.path.dirname(dest)):
- os.makedirs(os.path.dirname(dest))
-
- shutil.move(src, dest)
- fixPermission(dest)
-
-#
-# Copy files from srcpath and matching the given patterns to destpath
-#
-def copyMatchingFiles(srcpath, destpath, patterns, warnDestExists = True, verbose = False):
- for p in patterns:
- for f in glob.glob(os.path.join(srcpath, p)):
- copy(f, os.path.join(destpath, os.path.basename(f)), warnDestExists)
-#
-# Comment out rules in VC project.
-#
-def fixProject(file, target):
- origfile = file + ".orig"
- os.rename(file, origfile)
- oldProject = open(origfile, "r")
- newProject = open(file, "w")
- origLines = oldProject.readlines()
-
- #
- # Find a Source File declaration containing SOURCE=<target>
- # and comment out the entire declaration.
- #
- expr = re.compile("SOURCE=.*" + target.replace(".", "\\.") + ".*")
- inSource = 0
- doComment = 0
- newLines = []
- source = []
- for x in origLines:
- if x.startswith("# Begin Source File"):
- inSource = 1
-
- if inSource:
- if not doComment and expr.match(x) != None:
- doComment = 1
- source.append(x)
- else:
- newLines.append(x)
-
- if x.startswith("# End Source File"):
- inSource = 0
- for s in source:
- if doComment:
- newLines.append('#xxx#' + s)
- else:
- newLines.append(s)
- doComment = 0
- source = []
-
- newProject.writelines(newLines)
- newProject.close()
- oldProject.close()
- os.remove(origfile)
-
-
-#
-# Fix version in given file.
-#
-def fixVersion(file, version, mmversion = None, libversion = None, debversion = None, debmmversion = None, majorVersion = None, minorVersion = None, jsonVersion = None):
-
- origfile = file + ".orig"
- os.rename(file, origfile)
- oldFile = open(origfile, "r")
- newFile = open(file, "w")
- line = oldFile.read();
- line = re.sub("@ver@", version, line)
- if mmversion:
- line = re.sub("@mmver@", mmversion, line)
- if libversion:
- line = re.sub("@libver@", libversion, line)
- if debversion:
- line = re.sub("@debver@", debversion, line)
- if debversion:
- line = re.sub("@debmmver@", debmmversion, line)
- if majorVersion:
- line = re.sub("@majorver@", majorVersion, line)
- if minorVersion:
- line = re.sub("@minorver@", minorVersion, line)
- if jsonVersion:
- line = re.sub("@jsonver@", jsonVersion, line)
- newFile.write(line)
- newFile.close()
- oldFile.close()
-
- # Preserve the executable permission
- st = os.stat(origfile)
- if st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH):
- os.chmod(file, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) # rwxr-xr-x
- os.remove(origfile)
-
-#
-# Comment out tests in allTest.py.
-#
-def fixAllTest(file, components):
- origfile = file + ".orig"
- os.rename(file, origfile)
- oldFile = open(origfile, "r")
- newFile = open(file, "w")
- origLines = oldFile.readlines()
-
- ignore = False
- newLines = []
- for x in origLines:
- #
- # If the rule contains the target string, then
- # comment out this rule.
- #
- for c in components:
- if x.find(c +"/") != -1:
- ignore = True
- break
-
- if not ignore:
- newLines.append(x)
- ignore = False
-
- newFile.writelines(newLines)
- newFile.close()
- oldFile.close()
- os.remove(origfile)
-
-def regexpEscape(expr):
- escaped = ""
- for c in expr:
- # TODO: escape more characters?
- if c in ".\\/":
- escaped += "\\" + c
- else:
- escaped += c
- return escaped
-
-def substitute(file, regexps):
- for line in fileinput.input(file, True):
- for (expr, text) in regexps:
- if not expr is re:
- expr = re.compile(expr)
- line = expr.sub(text, line)
- sys.stdout.write(line)
- sys.stdout.flush()
-
-def fixFilePermission(file, verbose = False):
-
- patterns = [ \
- "*.h", \
- "*.cpp", \
- "*.ice", \
- "README*", \
- "*.xml", \
- "*.mc", \
- "Makefile", \
- "Makefile.mak", \
- "*.dsp", \
- ]
-
- st = os.stat(file)
-
- if st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH):
- for p in patterns:
- if fnmatch.fnmatch(file, p):
- if verbose:
- print("removing exec permissions on: " + file)
- break
- else:
- os.chmod(file, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) # rwxr-xr-x
- return
-
- os.chmod(file, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) # rw-r--r--
-
-def fixPermission(dest):
-
- if os.path.isdir(dest):
- os.chmod(dest, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH) # rwxr-xr-x
- for f in os.listdir(dest):
- fixPermission(os.path.join(dest, f))
- else:
- fixFilePermission(dest)
-
-
-def tarArchive(dir, verbose = False, archiveDir = None):
-
- dist = os.path.basename(dir)
- sys.stdout.write(" creating " + dist + ".tar.gz... ")
- sys.stdout.flush()
-
- cwd = os.getcwd()
- os.chdir(os.path.dirname(dir))
-
- if verbose:
- quiet = "v"
- else:
- quiet = ""
-
- if archiveDir:
- os.mkdir("tmp")
- os.rename(dist, os.path.join("tmp", archiveDir))
- os.chdir("tmp")
- runCommand("tar c" + quiet + "f - " + archiveDir + " | gzip -9 - > " + os.path.join("..", dist) + ".tar.gz")
- os.chdir("..")
- os.rename(os.path.join("tmp", archiveDir), dir)
- os.rmdir("tmp")
- else:
- runCommand("tar c" + quiet + "f - " + dist + " | gzip -9 - > " + dist + ".tar.gz")
-
- os.chdir(cwd)
- print("ok")
-
-def untarArchive(archive, verbose = False, archiveDir = None):
-
- if not os.path.exists(archive):
- print("couldn't find " + archive)
- return False
-
- if verbose:
- quiet = "v"
- else:
- quiet = ""
-
- if archiveDir:
- os.mkdir("tmp")
- os.chdir("tmp")
- runCommand("gunzip -c " + os.path.join("..", archive) + " | tar x" + quiet + "f -")
- os.rename(os.listdir(".")[0], os.path.join("..", archiveDir))
- os.chdir("..")
- os.rmdir("tmp")
- else:
- runCommand("gunzip -c " + archive + " | tar x" + quiet + "f -")
-
- return True
-
-def zipArchive(dir, verbose = False, archiveDir = None):
-
- dist = os.path.basename(dir)
- sys.stdout.write(" creating " + dist + ".zip... ")
- sys.stdout.flush()
-
- cwd = os.getcwd()
- os.chdir(os.path.dirname(dir))
-
- if archiveDir:
- os.mkdir("tmp")
- os.rename(dist, os.path.join("tmp", archiveDir))
- os.chdir("tmp")
- if verbose:
- runCommand("zip -9r " + os.path.join("..", dist + ".zip ") + archiveDir)
- else:
- runCommand("zip -9rq " + os.path.join("..", dist +".zip ") + archiveDir)
- os.chdir("..")
- os.rename(os.path.join("tmp", archiveDir), dir)
- os.rmdir("tmp")
- else:
- if verbose:
- runCommand("zip -9r " + dist + ".zip " + dist)
- else:
- runCommand("zip -9rq " + dist +".zip " + dist)
-
- os.chdir(cwd)
- print("ok")
-
-def unzipArchive(archive, verbose = False, archiveDir = None):
-
- if not os.path.exists(archive):
- print("couldn't find " + archive)
- return False
-
- if verbose:
- quiet = "v"
- else:
- quiet = ""
-
- if archiveDir:
- os.mkdir("tmp")
- os.chdir("tmp")
- if verbose:
- runCommand("unzip " + os.path.join("..", archive))
- else:
- runCommand("unzip -q " + os.path.join("..", archive))
- os.rename(os.listdir(".")[0], os.path.join("..", archiveDir))
- os.chdir("..")
- os.rmdir("tmp")
- else:
- runCommand("gunzip -c " + archive + " | tar x" + quiet + "f -")
- if verbose:
- runCommand("unzip " + archive)
- else:
- runCommand("unzip -q " + archive)
-
- return True
-
-def compareDirs(orig, new):
-
- added = [ ]
- updated = [ ]
- removed = [ ]
- cwd = os.getcwd()
-
- for root, dirnames, filenames in os.walk(orig):
- for f in filenames:
- filepath = os.path.join(root[len(orig) + 1:], f)
- if not os.path.exists(os.path.join(new, filepath)):
- removed.append(os.path.join(new, filepath))
- else:
- pipe = os.popen("diff -q " + os.path.join(orig, filepath) + " " + os.path.join(new, filepath))
- if len(pipe.readlines()) > 0:
- updated.append(os.path.join(new, filepath))
- pipe.close()
-
- for root, dirnames, filenames in os.walk(new):
- for f in filenames:
- filepath = os.path.join(root[len(new) + 1:], f)
- if not os.path.exists(os.path.join(orig, filepath)):
- added.append(os.path.join(new, filepath))
-
- return (added, updated, removed)
-
-def writeSrcDistReport(product, version, tag, repoDir, compareToDir, distributions):
-
- cwd = os.getcwd()
- os.chdir(cwd)
-
- sys.stdout.write("Writing report in README...")
- sys.stdout.flush()
- readme = open("README", "w")
- print >>readme, "This directory contains the source distributions of " + product + " " + version + ".\n"
- print >>readme, "Version: " + version
- print >>readme, "Creation time: " + time.strftime("%a %b %d %Y, %I:%M:%S %p (%Z)")
- print >>readme, "Git commit: " + getCommitForTag(repoDir, tag)
- (sysname, nodename, release, ver, machine) = os.uname();
- print >>readme, "Host: " + nodename
- print >>readme, "Platform: " + sysname + " " + release
- if os.path.exists("/etc/redhat-release"):
- f = open("/etc/redhat-release")
- print >>readme, "Linux distribution: " + f.readline().strip()
- f.close()
- else:
- print >>readme, "Not created on a Linux distribution"
- print >>readme, "User: " + os.environ["USER"]
- print >>readme, ""
-
- def compare(distfile, distdir):
- distfile = os.path.basename(distfile)
- (dist, ext) = os.path.splitext(distfile)
- modifications = ([], [], [])
-
- if not os.path.exists(os.path.join(compareToDir, distfile)):
- return
-
- sys.stdout.write(" comparing " + distfile + "... ")
- sys.stdout.flush()
-
- success = False
- if distfile.endswith(".tar.gz"):
- success = untarArchive(os.path.join(compareToDir, distfile), False, dist + "-orig")
- elif distfile.endswith(".zip"):
- success = unzipArchive(os.path.join(compareToDir, distfile), False, dist + "-orig")
-
- if success:
- n = compareDirs(dist + "-orig", distdir)
- modifications = [ modifications[i] + n[i] for i in range(len(modifications))]
- if n != ([], [], []):
- runCommand("diff -r -N " + dist + "-orig " + distdir + " > patch-" + distfile)
- remove(dist + "-orig")
-
- print("ok")
-
- if modifications != ([], [], []):
- (added, updated, removed) = modifications
- print >>readme
- print >>readme
- print >>readme, "*** Differences for ", distfile
- print >>readme
- for (desc, list) in [("Added", added), ("Removed", removed), ("Updated", updated)]:
- if len(list) > 0:
- list.sort()
- print >>readme
- print >>readme, desc, "files:"
- print >>readme, string.join(["=" for c in range(len(desc + " files:"))], '')
- for f in list:
- print >>readme, f
-
- if compareToDir:
- print
- print >>readme, "Comparison with", compareToDir
- for (distfile, distdir) in distributions:
- compare(distfile, distdir)
-
- else:
- print("ok")
-
- readme.close()
-
- os.chdir(cwd)
-
-#
-# Third-party helper base class
-#
-class ThirdParty :
- def __init__(self, platform, name, locations, languages, buildOption = None, buildEnv = None):
- self.name = name
- self.languages = languages
- self.buildOption = buildOption
- if buildEnv:
- self.buildEnv = buildEnv
- else:
- self.buildEnv = self.name.upper() + "_HOME"
-
- #
- # Get the location of the third party dependency. We first check if the environment
- # variable (e.g.: DB_HOME) is set, if not we use the platform specific location.
- #
-
- self.defaultLocation = platform.getLocation(locations)
- self.location = os.environ.get(self.buildEnv, self.defaultLocation)
-
-
- if self.location and os.path.islink(self.location):
- self.location = os.path.normpath(os.path.join(os.path.dirname(self.location), os.readlink(self.location)))
-
- #
- # Add the third party dependency to the platform object.
- #
- platform.addThirdParty(self)
-
- def __str__(self):
- return self.name
-
- def checkAndPrint(self):
-
- if self.location == None:
- print(self.name + ": <system>")
- return True
- else:
- if not os.path.exists(self.location):
- if os.environ.has_key(self.buildEnv):
- print(self.name + ": not found at " + self.buildEnv + " location (" + self.location + ")")
- else:
- print(self.name + ": not found at default location (" + self.location + ")")
- return False
- else:
- if os.environ.has_key(self.buildEnv):
- print(self.name + ": " + self.location + " (from " + self.buildEnv + ")")
- else:
- print(self.name + ": " + self.location + " (default location)")
- return True
-
- def getMakeEnv(self, language):
- if language in self.languages and not os.environ.has_key(self.buildEnv) and self.location:
- return self.buildEnv + "=" + self.location
-
- def getJar(self):
- if "java" in self.languages and self.location and self.location.endswith(".jar"):
- return self.location
-
- def getFilesFromSubDirs(self, platform, bindir, libdir, x64):
- return []
-
- def getFiles(self, platform):
- files = self.getFilesFromSubDirs(platform, "bin", "lib", False)
- files += self.getFilesFromSubDirs(platform, "bin/c++11", "lib/c++11", False)
- if platform.lp64Libdir:
- files += self.getFilesFromSubDirs(platform, \
- os.path.join("bin", platform.lp64Bindir), \
- os.path.join("lib", platform.lp64Libdir), True)
- return files
-
- def includeInDistribution(self):
- # Only copy third party files installed in /opt or /Library/Developer
- return self.defaultLocation and (self.defaultLocation.startswith("/opt") or
- self.defaultLocation.startswith("/Library/Developer"))
-
- def copyToDistribution(self, platform, buildDir):
- if not self.location:
- return
-
- #
- # Get files/directories to copy. The path returned by getFiles() are relative
- # to the third party library location and might contain wildcards characters.
- #
- files = [f for path in self.getFiles(platform) for f in glob.glob(os.path.join(self.location, path))]
- if len(files) > 0:
- sys.stdout.write(" Copying " + self.name + "...")
- sys.stdout.flush()
- for src in files:
- copy(src, os.path.join(buildDir, src[len(self.location) + 1::]))
- print("ok")
-
-#
-# Platform helper classes
-#
-class Platform:
- def __init__(self, uname, pkgPlatform, pkgArch, languages, lp64Libdir, lp64Bindir, shlibExtension):
- self.uname = uname
- self.pkgPlatform = pkgPlatform
- self.pkgArch = pkgArch
- self.languages = languages
- self.lp64Libdir = lp64Libdir
- self.lp64Bindir = lp64Bindir
- self.shlibExtension = shlibExtension
- self.thirdParties = []
-
- def __str__(self):
- return self.__class__.__name__
-
- def getLocation(self, locations):
- return locations.get(self.uname, None)
-
- def addThirdParty(self, thirdParty):
- self.thirdParties.append(thirdParty)
-
- def checkAndPrintThirdParties(self):
- found = True
- for t in self.thirdParties:
- sys.stdout.write(" ")
- sys.stdout.flush()
- found &= t.checkAndPrint()
- return found
-
- def getMakeEnvs(self, version, language):
-
- # Get third party environement variables.
- envs = [t.getMakeEnv(language) for t in self.thirdParties if t.getMakeEnv(language)]
-
- # Build with optimization by default.
- if not os.environ.has_key("OPTIMIZE"):
- envs.append("OPTIMIZE=yes")
-
- # Language specific environment variables to pass to make.
- if language == "cpp" or language == "cpp-64":
- envs.append("create_runpath_symlink=no")
- elif language == "cs":
- envs.append("NOGAC=1")
-
- # LP64
- if language == "cpp-64":
- envs.append("LP64=yes")
- else:
- envs.append("LP64=no")
-
- return string.join(envs, " ")
-
- def getJavaEnv(self):
- return "CLASSPATH=" + string.join([t.getJar() for t in self.thirdParties if t.getJar()], os.pathsep)
-
- def getJavaBuildOptions(self):
- return ""
-
- def getSharedLibraryFiles(self, root, path, extension = None):
- if not extension:
- extension = self.shlibExtension
- libs = []
- for f in glob.glob(os.path.join(root, path)):
- (dirname, basename) = os.path.split(f)
- if fnmatch.fnmatch(basename, "*." + extension + "*") and not os.path.islink(f):
- libs.append(os.path.join(dirname[len(root) + 1::], basename))
- return libs
-
- def copyDistributionFiles(self, distDir, buildDir):
- docDir = os.path.join(distDir, "src", "unix")
- for f in [ 'SOURCES', 'THIRD_PARTY_LICENSE' ]:
- copy(os.path.join(docDir, f + "." + self.uname), os.path.join(buildDir, f))
-
- if self.pkgArch and os.path.exists(os.path.join(docDir, "README." + self.uname + "-" + self.pkgArch)):
- copy(os.path.join(docDir, "README." + self.uname + "-" + self.pkgArch), os.path.join(buildDir, "README"))
- elif os.path.exists(os.path.join(docDir, "README." + self.uname)):
- copy(os.path.join(docDir, "README." + self.uname), os.path.join(buildDir, "README"))
- else:
- print("warning: couldn't find README file for this binary distribution")
-
- def copyThirdPartyDependencies(self, buildDir):
- for t in filter(ThirdParty.includeInDistribution, self.thirdParties): t.copyToDistribution(self, buildDir)
-
- def completeDistribution(self, buildDir, version):
- pass
-
- def getPackageName(self, prefix, version):
- if self.pkgArch:
- return ("%s-" + version + "-bin-" + self.pkgPlatform + "-" + self.pkgArch) % prefix
- else:
- return ("%s-" + version + "-bin-" + self.pkgPlatform) % prefix
-
- def getMakeOptions(self):
- return ""
-
- def createArchive(self, cwd, buildRootDir, distDist, version, quiet):
- sys.stdout.write("Archiving " + self.getPackageName("Ice", version) + ".tar.gz ...")
- sys.stdout.flush()
- os.chdir(buildRootDir)
- tarfile = os.path.join(cwd, self.getPackageName("Ice", version)) + ".tar.gz"
- runCommand("tar c" + quiet + "f - Ice-" + version + " | gzip -9 - > " + tarfile)
- os.chdir(cwd)
- print("ok")
-
-class Darwin(Platform):
- def __init__(self, uname, arch, languages):
- Platform.__init__(self, uname, "osx", None, languages, "", "", "dylib")
-
- def getSharedLibraryFiles(self, root, path, extension = None) :
- libraries = Platform.getSharedLibraryFiles(self, root, path, extension)
- links = []
- for l in libraries:
- out = os.popen("otool -D " + os.path.join(root, l))
- lines = out.readlines()
- out.close()
- if(len(lines) <= 1):
- continue
- link = lines[1].strip()
- if link != os.path.join(root, l) and link.startswith(root):
- links.append(link[len(root) + 1::])
- return libraries + links
-
- def getMakeEnvs(self, version, language):
- envs = Platform.getMakeEnvs(self, version, language)
- if not os.environ.has_key("CXXARCHFLAGS"):
- envs += " CXXARCHFLAGS=\"-arch x86_64\"";
- return envs
-
- def getMakeOptions(self):
- return "-j8"
-
- def completeDistribution(self, buildDir, version):
-
- print("Fixing python location")
- move(buildDir + '/python', buildDir + '/../python')
- runCommand("install_name_tool -rpath %s/lib /Library/Developer/Ice-%s/lib %s/../python/IcePy.so" %
- (buildDir, iceVersion, buildDir))
- print("ok")
-
- print("Fixing IceGrid Admin.app location")
- move(buildDir + '/bin/IceGrid Admin.app', buildDir + '/../IceGrid Admin.app')
- print("ok")
-
- print("Fixing Freeze RPATH")
- for name in ["lib/libFreeze.%s.dylib" % iceVersion, "bin/transformdb", "bin/dumpdb"]:
- runCommand("install_name_tool -delete_rpath /Library/Developer/Ice-%s-ThirdParty/lib %s/%s" % (iceVersion, buildDir, name))
-
- def createArchive(self, cwd, buildRootDir, distDir, version, quiet):
-
- sys.stdout.write("Creating installer...")
- sys.stdout.flush()
-
- installerDir = os.path.join(buildRootDir, "installer")
- if os.path.exists(installerDir):
- shutil.rmtree(installerDir)
- os.mkdir(installerDir)
-
- packagesDir = os.path.join(buildRootDir, "packages")
- if os.path.exists(packagesDir):
- shutil.rmtree(packagesDir)
- os.mkdir(packagesDir)
-
- iceRootDir = "%s/Ice-%s" % (buildRootDir, iceVersion)
- for name in ["freeze", "glacier2", "ice", "icebox", "icediscovery", "icegrid", "icepatch2", "icestorm", "ice-gradle-plugin", "ant-ice"]:
- runCommand("cd %s/lib && rm -f %s.jar" % (iceRootDir, name))
- runCommand("cd %s/lib && ln -s %s-%s.jar %s.jar" % (iceRootDir, name, iceVersion, name))
-
- for name in ["freeze", "glacier2", "ice", "icebox", "icediscovery", "icegrid", "icepatch2", "icestorm"]:
- runCommand("cd %s/lib && rm -f %s.jar" % (iceRootDir, name))
- runCommand("cd %s/lib && ln -s %s-%s-source.jar %s-source.jar" % (iceRootDir, name, iceVersion, name))
-
- package = "com.zeroc.ice"
- packageRoot = os.path.join(buildRootDir, "Ice-%s" % iceVersion)
- packageInstallLocation = "/Library/Developer/Ice-%s" % iceVersion
-
- runCommand("pkgbuild --root %s --identifier=%s --install-location=%s --version %s %s/%s.pkg" %
- (packageRoot, package, packageInstallLocation, iceVersion, packagesDir, package))
-
- package = "com.zeroc.icepython"
- packageRoot = os.path.join(buildRootDir, "python")
- packageInstallLocation = "/Library/Python/2.7/site-packages"
-
- runCommand("pkgbuild --root %s --identifier=%s --install-location=%s --version %s %s/%s.pkg" %
- (packageRoot, package, packageInstallLocation, iceVersion, packagesDir, package))
-
- package = "com.zeroc.icegridadmin"
- packageRoot = os.path.join(buildRootDir, "IceGrid Admin.app")
- packageInstallLocation = "/Applications/IceGrid Admin.app"
-
- runCommand("pkgbuild --root \"%s\" --identifier=%s --install-location=\"%s\" --version %s %s/%s.pkg" %
- (packageRoot, package, packageInstallLocation, iceVersion, packagesDir, package))
-
-
- distribution = os.path.join(distDir, "src", "mac", "Ice", "distribution.xml")
- resources = os.path.join(distDir, "src", "mac", "Ice", "resources")
- scripts = os.path.join(distDir, "src", "mac", "Ice", "scripts")
-
-
- runCommand("productbuild --distribution=%s --resources=%s --scripts=%s --package-path=%s %s/Ice-%s.pkg" %
- (distribution, resources, scripts, packagesDir, installerDir, iceVersion))
-
-
- copy(os.path.join(distDir, "src", "mac", "Ice", "README.txt"), installerDir)
- copy(os.path.join(distDir, "src", "mac", "Ice", "uninstall.sh"), installerDir)
- print("ok")
-
- volname = "Ice-" + version
- sys.stdout.write( "Building disk image... " + volname + " ")
- sys.stdout.flush()
-
- if os.path.exists("scratch.dmg.sparseimage"):
- os.remove("scratch.dmg.sparseimage")
- runCommand("hdiutil create scratch.dmg -volname \"%s\" -type SPARSE -fs HFS+" % volname)
- runCommand("hdid scratch.dmg.sparseimage")
- runCommand("ditto -rsrc %s \"/Volumes/%s\"" % (installerDir, volname))
- runCommand("hdiutil detach \"/Volumes/%s\"" % volname)
- if os.path.exists(os.path.join(buildRootDir, "..", volname) + ".dmg"):
- os.remove(os.path.join(buildRootDir, "..", volname) + ".dmg")
- runCommand("hdiutil convert scratch.dmg.sparseimage -format UDZO -o %s.dmg -imagekey zlib-devel=9" %
- os.path.join(buildRootDir, "..", volname))
- os.remove("scratch.dmg.sparseimage")
-
- shutil.rmtree(installerDir)
- shutil.rmtree(packagesDir)
- print("ok")
-
-class Linux(Platform):
- def __init__(self, uname, arch, languages):
- Platform.__init__(self, uname, "linux", arch, languages, "", "", "so")
-
-class SunOS(Platform):
- def __init__(self, uname, arch, languages):
- if arch == "i86pc":
- Platform.__init__(self, uname, "solaris", "x86", languages, "64", "amd64", "so")
- else:
- Platform.__init__(self, uname, "solaris", "sparc", languages, "64", "sparcv9", "so")
-
- def getMakeOptions(self):
- return "-j 40"
-
-#
-# Third-party helper classes
-#
-class BerkeleyDB(ThirdParty):
- def __init__(self, platform):
- global berkeleydb, berkeleydbjar
- ThirdParty.__init__(self, platform, "BerkeleyDB", berkeleydb, ["cpp", "cpp-64"], None, "DB_HOME")
-
- def getFilesFromSubDirs(self, platform, bindir, libdir, x64):
- files = [ os.path.join(bindir, "db*") ]
- if not x64:
- files += [ os.path.join(libdir, "db.jar") ]
- files += platform.getSharedLibraryFiles(self.location, os.path.join(libdir, "*"))
- files += platform.getSharedLibraryFiles(self.location, os.path.join(libdir, "*"), "jnilib")
- return files
-
-
-class Bzip2(ThirdParty):
- def __init__(self, platform):
- global bzip2
- ThirdParty.__init__(self, platform, "Bzip2", bzip2, ["cpp"])
-
- def getFilesFromSubDirs(self, platform, bindir, libdir, x64):
- return platform.getSharedLibraryFiles(self.location, os.path.join(libdir, "*"))
-
-class Expat(ThirdParty):
- def __init__(self, platform):
- global expat
- ThirdParty.__init__(self, platform, "Expat", expat, ["cpp", "cpp-64"])
-
- def getFilesFromSubDirs(self, platform, bindir, libdir, x64):
- return platform.getSharedLibraryFiles(self.location, os.path.join(libdir, "libexpat*"))
-
-class OpenSSL(ThirdParty):
- def __init__(self, platform):
- global openssl
- ThirdParty.__init__(self, platform, "OpenSSL", openssl, ["cpp", "cpp-64"])
-
- def getFilesFromSubDirs(self, platform, bindir, libdir, x64):
- files = [ os.path.join(bindir, "openssl") ]
- files += platform.getSharedLibraryFiles(self.location, os.path.join(libdir, "libssl*"))
- files += platform.getSharedLibraryFiles(self.location, os.path.join(libdir, "libcrypto*"))
- return files
-
-class Mcpp(ThirdParty):
- def __init__(self, platform):
- global mcpp
- ThirdParty.__init__(self, platform, "Mcpp", mcpp, ["cpp", "cpp-64"])
-
-class Iconv(ThirdParty):
- def __init__(self, platform):
- global iconv
- ThirdParty.__init__(self, platform, "Iconv", iconv, ["cpp", "cpp-64"])
-
- def getFilesFromSubDirs(self, platform, bindir, libdir, x64):
- files = platform.getSharedLibraryFiles(self.location, os.path.join(libdir, "libiconv*"))
- # We also need some symbolic links
- files += [os.path.join(self.location, os.path.join(libdir, "libiconv." + platform.shlibExtension + ".2")),
- os.path.join(self.location, os.path.join(libdir, "libiconv." + platform.shlibExtension))]
- return files
-
-class Proguard(ThirdParty):
- def __init__(self, platform):
- global proguard
- ThirdParty.__init__(self, platform, "Proguard", proguard, ["java"])
-
-class JavaApplicationBundler(ThirdParty):
- def __init__(self, platform):
- global javaApplicationBundler
- ThirdParty.__init__(self, platform, "JavaApplicationBundler", javaApplicationBundler, ["java"])
-
-
-platform = None
-def getPlatform(thirdParties):
-
- global platform
- if not platform:
- (sysname, nodename, release, ver, machine) = os.uname();
- if not languages.has_key(sysname):
- print(sys.argv[0] + ": error: `" + sysname + "' is not a supported system")
-
- if sysname == "Linux":
- p = subprocess.Popen("lsb_release -i", shell = True, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
- if(p.wait() != 0):
- print("lsb_release failed:\n" + p.stdout.read().strip())
- sys.exit(1)
- distribution = re.sub("Distributor ID:", "", p.stdout.readline().decode('UTF-8')).strip()
- if distribution.find("RedHat") != -1:
- languages[sysname].remove("cs")
-
- platform = eval(sysname.replace("-", ""))(sysname, machine, languages[sysname])
- for t in thirdParties:
- eval(t)(platform)
- return platform
diff --git a/distribution/lib/FixUtil.py b/scripts/FixUtil.py
index 27ef4a61df1..27ef4a61df1 100755
--- a/distribution/lib/FixUtil.py
+++ b/scripts/FixUtil.py
diff --git a/scripts/fixLineEnd.py b/scripts/fixLineEnd.py
deleted file mode 100755
index 53aed7bb622..00000000000
--- a/scripts/fixLineEnd.py
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env python
-# **********************************************************************
-#
-# Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
-#
-# This copy of Ice is licensed to you under the terms described in the
-# ICE_LICENSE file included in this distribution.
-#
-# **********************************************************************
-
-import os, sys
-sys.path.append(os.path.join(os.path.dirname(__file__), "..", "lib"))
-import FixUtil
-
-def usage():
- print "Usage: " + sys.argv[0] + " [options]"
- print
- print "Options:"
- print "-h Show this message."
- print
-
-for x in sys.argv[1:]:
- if x == "-h":
- usage()
- sys.exit(0)
- elif x.startswith("-"):
- print sys.argv[0] + ": unknown option `" + x + "'"
- print
- usage()
- sys.exit(1)
-
-FixUtil.fixLineEnd()
diff --git a/scripts/fixVersion.py b/scripts/fixVersion.py
index 2c3226ef414..e71b4c4323a 100755
--- a/scripts/fixVersion.py
+++ b/scripts/fixVersion.py
@@ -9,7 +9,6 @@
# **********************************************************************
import os, sys, getopt
-sys.path.append(os.path.join(os.path.dirname(__file__), "..", "lib"))
import FixUtil
def usage():