src.pyconf.streamOpener = ConfigOpener([cfg.VARS.datadir])
try:
site_cfg = src.pyconf.Config(open(os.path.join(cfg.VARS.datadir,
- 'site.pyconf')))
+ 'site.pyconf')),
+ PWD = ('SITE', cfg.VARS.datadir) )
except src.pyconf.ConfigError as e:
raise src.SatException(_("Error in configuration file: "
"site.pyconf\n %(error)s") % \
+ cfg.VARS.sep
+ "site.pyconf and edit the file")
raise src.SatException( e );
-
merger.merge(cfg, site_cfg)
# apply overwrite from command line if needed
project_name = os.path.basename(
project_pyconf_path)[:-len(".pyconf")]
try:
- project_cfg = src.pyconf.Config(open(project_pyconf_path))
+ project_pyconf_dir = os.path.dirname(project_pyconf_path)
+ project_cfg = src.pyconf.Config(open(project_pyconf_path),
+ PWD=("", project_pyconf_dir))
except Exception as e:
raise src.SatException(_("Error in configuration file: "
"%(file_path)s\n %(error)s") % \
try:
prod_cfg = src.pyconf.Config(open(
os.path.join(products_dir,
- fName)))
+ fName)),
+ PWD=("", products_dir))
except src.pyconf.ConfigError as e:
raise src.SatException(_(
"Error in configuration file: %(prod)s\n %(error)s") % \
#-*- coding:utf-8 -*-
# The path to the archive root directory
-root_path : ""
+root_path : $PWD + "/../"
# path to the PROJECT
-project_path : $root_path + "PROJECT/"
+project_path : $PWD + "/"
# Where to search the archives of the products
ARCHIVEPATH : $root_path + "ARCHIVES"
logger.write(src.printcolors.printcSuccess(_("OK")), 3)
except Exception as e:
logger.write(src.printcolors.printcError(_("KO ")), 3)
- logger.write(e, 3)
+ logger.write(str(e), 3)
success = 1
logger.write("\n", 3)
return success
# Get the launcher template
profile_install_dir = os.path.join(binaries_dir_name,
config.APPLICATION.profile.product)
- withProfile = src.fileEnviron.withProfile.replace( "PROFILE_INSTALL_DIR",
- profile_install_dir )
+ withProfile = src.fileEnviron.withProfile
+ withProfile = withProfile.replace(
+ "ABSOLUTE_APPLI_PATH'] = 'PROFILE_INSTALL_DIR'",
+ "ABSOLUTE_APPLI_PATH'] = out_dir_Path + '/" + profile_install_dir + "'")
+ withProfile = withProfile.replace(
+ "os.path.join( 'PROFILE_INSTALL_DIR'",
+ "os.path.join( out_dir_Path, '" + profile_install_dir + "'")
before, after = withProfile.split(
"# here your local standalone environment\n")
launch_file.write(after)
launch_file.close()
+ # Little hack to put out_dir_Path outside the strings
+ src.replace_in_file(filepath, 'r"out_dir_Path', 'out_dir_Path + r"' )
+
# change the rights in order to make the file executable for everybody
os.chmod(filepath,
stat.S_IRUSR |
project_pyconf_cfg.addMapping("project_path",
src.pyconf.Mapping(project_pyconf_cfg),
"")
- project_pyconf_cfg.project_path = ""
+ project_pyconf_cfg.project_path = src.pyconf.Reference(project_pyconf_cfg,
+ src.pyconf.DOLLAR,
+ 'PWD')
# Write the project pyconf file
project_file_name = os.path.basename(project_file_path)
logger.write("\n", 2)
src.printcolors.print_value(logger, "Package path", path_targz, 2)
- return res
\ No newline at end of file
+ return res
for dictionary in dict_args:
result.update(dictionary)
return result
+
+def replace_in_file(filein, strin, strout):
+ '''Replace <strin> by <strout> in file <filein>
+ '''
+ shutil.move(filein, filein + "_old")
+ fileout= filein
+ filein = filein + "_old"
+ fin = open(filein, "r")
+ fout = open(fileout, "w")
+ for line in fin:
+ fout.write(line.replace(strin, strout))
\ No newline at end of file
pi = src.product.get_product_config(self.cfg, product)
if self.for_package:
- pi.install_dir = os.path.join(self.for_package, pi.name)
+ pi.install_dir = os.path.join("out_dir_Path",
+ self.for_package,
+ pi.name)
# Do not define environment if the product is native
if src.product.product_is_native(pi):
# Add the pwdPath to able to run the launcher after unpacking a package
# Used only in case of a salomeTools package
-out_dir_Path=os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname((os.path.abspath(os.path.dirname(__file__)))))))
-prereq_install_Path=os.path.join(out_dir_Path , 'PREREQUISITES', 'INSTALL')
-prereq_build_Path=os.path.join(out_dir_Path , 'PREREQUISITES', 'BUILD')
+out_dir_Path=os.path.abspath(os.path.dirname(__file__))
# Preliminary work to initialize path to SALOME Python modules
def __initialize():
self.sys = sys
self.os = os
- def __init__(self, streamOrFile=None, parent=None):
+ def __init__(self, streamOrFile=None, parent=None, PWD = None):
"""
Initializes an instance.
streamOrFile = streamOpener(streamOrFile)
load = object.__getattribute__(self, "load")
load(streamOrFile)
+ # Specific add for salomeTools : PWD
+ if PWD:
+ key, pwd = PWD
+ if key == "":
+ self.PWD = pwd
+ else:
+ self[key].PWD = pwd
def load(self, stream):
"""