#! /usr/bin/env python
import os,sys,shutil,glob
+from optparse import OptionParser
from salome_misc import AutoChdir
from salome_config import read_config_file, initialize, update_config_file
current_directory=os.path.dirname(os.path.abspath(__file__))
-def __init(envAcc={}, paraview_version=None):
+def __init(envAcc={}, paraview_version=None, use_pleiade_mirrors=False):
# Read configuration
filename=os.path.join(current_directory, "SalomeMiniConfig.cfg")
config=read_config_file(filename)
config["paraview_version"] = paraview_version[0]
config["paraview_git_version"] = paraview_version[1]
update_config_file(filename, {"paraview_version": paraview_version[0], "paraview_git_version":paraview_version[1]})
+ pass
+ if use_pleiade_mirrors:
+ config["use_pleiade_mirrors"] = use_pleiade_mirrors
+ #update_config_file(filename, {"use_pleiade_mirrors": "yes"})
+ pass
# Check system prerequisites
check_gcc_version(config["gcc_version_min"], envAcc)
# Download archives
return os.path.abspath(destReal)
####################
-def __let_us_go(paraview_version=None):
+def __let_us_go(paraview_version=None, use_pleiade_mirrors=False):
envAcc={}
- config=__init(paraview_version=paraview_version)
+ config=__init(paraview_version=paraview_version, use_pleiade_mirrors=use_pleiade_mirrors)
# Prepare build
rootDir="SalomeMini"
print("Env file generated : %s"%envFile)
pass
-def __usage(exe):
- return """
-Usage: %s [--with-paraview-version=number,sha1]\n
-Use option --with-paraview-version to build a specific paraview version. Give the
-version number (e.g. 5.1) and a git sha1.
-"""%(exe)
+def __parse_options():
+ parser = OptionParser()
+ parser.add_option("--with-paraview-version", dest="paraview_version",
+ help="Build a specific paraview version. Give the version number (e.g. 5.1) and a git sha1.", metavar="number,sha1")
+ parser.add_option("--pleiade",
+ action="store_true", dest="pleiade", default=False,
+ help="Use PLEIADE mirrors (for EDF).")
+ (options, args) = parser.parse_args()
+ return options, args
###
if __name__ == "__main__":
- if len(sys.argv) not in [1,2]:
- print __usage(sys.argv[0])
+ options, args = __parse_options()
+ if args:
+ print "Unrecognized argument(s):", ",".join(args)
sys.exit(1)
paraview_version = None
- if len(sys.argv) == 2:
- if sys.argv[1].startswith("--with-paraview-version="):
- try:
- number,sha1 = sys.argv[1].split("=")[1].split(",")
- paraview_version = (number.strip(),sha1.strip())
- except:
- print "Syntax error in paraview version"
- print __usage(sys.argv[0])
- sys.exit(1)
- else:
- print __usage(sys.argv[0])
+ if options.paraview_version:
+ try:
+ number,sha1 = options.paraview_version.split(",")
+ paraview_version = (number.strip(),sha1.strip())
+ except:
+ print "Syntax error in paraview version"
sys.exit(1)
- __let_us_go(paraview_version)
+ __let_us_go(paraview_version=paraview_version, use_pleiade_mirrors=options.pleiade)
[ParaView]
paraview_git_repo=https://github.com/Kitware/ParaView.git
-paraview_git_version=97cdb51f
+#paraview_git_repo=https://gitlab.kitware.com/paraview/paraview.git
+paraview_git_repo_pleiade=https://git.forge.pleiade.edf.fr/git/prerequisites-salome.paraview.git
+paraview_git_version=09fee996
paraview_version=5.1
[SALOME]
-# Last Update: 31/08/2016
+# Last Update: 13/09/2016
salome_git_repo=https://git.salome-platform.org/gitpub
-medcoupling_version=7146d186409953ffb6875c8b75deaf6971ce981a
+salome_git_repo_pleiade=https://git.forge.pleiade.edf.fr/git
+medcoupling_version=c05e2c047dcd8953a4242c696dd34abf0674ffdf
repo_config_version=e31ab9172f3922b62b56c10969e2b88eda24c002
-paravis_version=f8c7a434ba8797c580c2fe4c532a4cbac580d309
+paravis_version=f671e69102c5ae8e2194509a6b719fae0b06d26c
[Build options]
make_nb_jobs=6
[System]
gcc_version_min=4.9.2
+use_pleiade_mirrors=no
config["swig_version"] = c.get('Prerequisites', 'swig_version', 0)
config["swig_url"] = c.get('Prerequisites', 'swig_url', 0)
config["paraview_git_repo"] = c.get('ParaView', 'paraview_git_repo', 0)
+ config["paraview_git_repo_pleiade"] = c.get('ParaView', 'paraview_git_repo_pleiade', 0)
config["paraview_git_version"] = c.get('ParaView', 'paraview_git_version', 0)
config["paraview_version"] = c.get('ParaView', 'paraview_version', 0)
config["salome_git_repo"] = c.get('SALOME', 'salome_git_repo', 0)
+ config["salome_git_repo_pleiade"] = c.get('SALOME', 'salome_git_repo_pleiade', 0)
config["medcoupling_version"] = c.get('SALOME', 'medcoupling_version', 0)
config["repo_config_version"] = c.get('SALOME', 'repo_config_version', 0)
config["paravis_version"] = c.get('SALOME', 'paravis_version', 0)
config["make_nb_jobs"] = c.get('Build options', 'make_nb_jobs', 0)
config["do_archive_download"] = c.getboolean('Build options', 'do_archive_download')
config["gcc_version_min"] = c.get('System', 'gcc_version_min')
+ config["use_pleiade_mirrors"] = c.getboolean('System', 'use_pleiade_mirrors')
return config
__softwares = ["cmake","python","hdf5","swig","qt","med","medcoupling","paraview","paravis"]
config["paraCompFlag"] = "-j%s"%config["make_nb_jobs"]
- config["paraviewLoc"] = (config["paraview_git_repo"],config["paraview_git_version"])
- salome_git_repo = config["salome_git_repo"]
- config["medcouplingLoc"] = (os.path.join(salome_git_repo,"tools","medcoupling.git"),config["medcoupling_version"])
- config["repoConfigLoc"] = (os.path.join(salome_git_repo,"tools","configuration.git"),config["repo_config_version"])
- config["paravisLoc"] = (os.path.join(salome_git_repo,"modules","paravis.git"),config["paravis_version"])
+ if config["use_pleiade_mirrors"]:
+ config["paraviewLoc"] = (config["paraview_git_repo_pleiade"],config["paraview_git_version"])
+ salome_git_repo = config["salome_git_repo_pleiade"]
+ config["medcouplingLoc"] = (os.path.join(salome_git_repo,"tools-salome.medcoupling.git"),config["medcoupling_version"])
+ config["repoConfigLoc"] = (os.path.join(salome_git_repo,"tools-salome.configuration.git"),config["repo_config_version"])
+ config["paravisLoc"] = (os.path.join(salome_git_repo,"modules-salome.paravis.git"),config["paravis_version"])
+ else:
+ config["paraviewLoc"] = (config["paraview_git_repo"],config["paraview_git_version"])
+ salome_git_repo = config["salome_git_repo"]
+ config["medcouplingLoc"] = (os.path.join(salome_git_repo,"tools","medcoupling.git"),config["medcoupling_version"])
+ config["repoConfigLoc"] = (os.path.join(salome_git_repo,"tools","configuration.git"),config["repo_config_version"])
+ config["paravisLoc"] = (os.path.join(salome_git_repo,"modules","paravis.git"),config["paravis_version"])
+ pass
+
pass
def update_config_file(filename, dico):
#! /usr/bin/env python
import os
+import sys
import tarfile
import shutil
import subprocess
+import urllib2
from salome_misc import AutoChdir
if p.returncode != 0:
msg = "Error in checkout\n" + p_err
raise Exception(msg)
- if dirGitLoc=="ParaView":
+ if dirGitLoc in ["ParaView", "prerequisites-salome.paraview"]:
p=subprocess.Popen(["git","submodule","update","--init"],cwd=dirGitLoc,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p_out,p_err=p.communicate()
if p.returncode != 0:
else:
raise Exception("Unrecognized localization of source : %s"%srcLoc)
-import urllib2
-def __download(url, outfile):
+def __download(url, outfile, use_pleiade_mirrors, subfolder):
+ if use_pleiade_mirrors:
+ archive_name = os.path.basename(url)
+ url = os.path.join("http://ftp.pleiade.edf.fr/projets/YAMM/Public/SALOME/sources", subfolder, archive_name)
+
print "Downloading",outfile,"..."
if os.path.exists(outfile):
print "Already downloaded" # :TODO: should include MD5 check
pass
if do_archive_download:
- __download(config["cmake_url"], cmakeLoc)
- __download(config["med_url"], medLoc)
- __download(config["hdf5_url"], hdf5Loc)
- __download(config["swig_url"], swigLoc)
- __download(config["qt_url"], qtLoc)
- __download(config["python_url"], pythonLoc)
+ use_pleiade_mirrors = config["use_pleiade_mirrors"]
+ __download(config["cmake_url"], cmakeLoc, use_pleiade_mirrors, "prerequis")
+ __download(config["med_url"], medLoc, use_pleiade_mirrors, "tools")
+ __download(config["hdf5_url"], hdf5Loc, use_pleiade_mirrors, "prerequis")
+ __download(config["swig_url"], swigLoc, use_pleiade_mirrors, "prerequis")
+ __download(config["qt_url"], qtLoc, use_pleiade_mirrors, "prerequis")
+ __download(config["python_url"], pythonLoc, use_pleiade_mirrors, "prerequis")
pass
config["cmakeLoc"] = cmakeLoc