# Get the hpc if any
if 'hpc' in dic_version:
- hpc = dic_version.hpc
+ hpc = dic_version['hpc']
elif 'hpc' in config.APPLICATION:
hpc = config.APPLICATION.hpc
# merge opt_depend in depend
if prod_info is not None and 'opt_depend' in prod_info:
for depend in prod_info.opt_depend:
- if depend in config.APPLICATION.products:
+ if (depend in config.APPLICATION.products) and (depend not in prod_info.depend) :
prod_info.depend.append(depend,'')
ko = []
res =[]
prop, value = options.properties # for example 'is_SALOME_module', 'yes'
- for p_name, p_info in resAll:
- try:
- if p_info.properties[prop] == value:
- res.append((p_name, p_info))
- ok.append(p_name)
- else:
- ko.append(p_name)
- except:
- ko.append(p_name)
+ if value[0] == '!':
+ for p_name, p_info in resAll:
+ try:
+ if p_info.properties[prop] == value[1:]:
+ ko.append(p_name)
+ else:
+ res.append((p_name, p_info))
+ ok.append(p_name)
+ except:
+ res.append((p_name, p_info))
+ ok.append(p_name)
+ else:
+ for p_name, p_info in resAll:
+ try:
+ if p_info.properties[prop] == value:
+ res.append((p_name, p_info))
+ ok.append(p_name)
+ else:
+ ko.append(p_name)
+ except:
+ ko.append(p_name)
if len(ok) != len(resAll):
logger.trace("on properties %s\n products accepted:\n %s\n products rejected:\n %s\n" %
"""
runtime_dep={}
build_dep={}
+
if "system_info" in product_info:
- if distrib in product_info.system_info:
- sysinfo=product_info.system_info[distrib]
- else:
- sysinfo=product_info.system_info
+
+ sysinfo=product_info.system_info
+ additional_sysinfo = None
+
+ for key in sysinfo :
+ if distrib in key :
+ additional_sysinfo = sysinfo[key]
if check_cmd[0]=="rpm":
if "rpm" in sysinfo:
if "rpm_dev" in sysinfo:
for pkg in sysinfo.rpm_dev:
build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg)
+ if additional_sysinfo :
+ if "rpm" in additional_sysinfo:
+ for pkg in additional_sysinfo.rpm:
+ runtime_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg)
+ if "rpm_dev" in additional_sysinfo:
+ for pkg in additional_sysinfo.rpm_dev:
+ build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg)
if check_cmd[0]=="apt":
if "apt" in sysinfo:
for pkg in sysinfo.apt:
if "apt_dev" in sysinfo:
for pkg in sysinfo.apt_dev:
build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg)
+ if additional_sysinfo :
+ if "apt" in additional_sysinfo:
+ for pkg in additional_sysinfo.apt:
+ runtime_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg)
+ if "apt_dev" in additional_sysinfo:
+ for pkg in additional_sysinfo.apt_dev:
+ build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg)
+
return runtime_dep,build_dep