GitLab will be upgraded on June 23rd evening. During the upgrade the service will be unavailable, sorry for the inconvenience.

Commit ab44da36 authored by Alejandro Homs Puron's avatar Alejandro Homs Puron

* Added Espia support for ESRF/Linux 1.x - RedHat EL 4

* Allow strict (Core/Espia) dependency version linkage
  based on [LIMA_]LINK_STRICT_VERSION variable (from config.inc)
* Added TANGO EnvHelper to pre-fetch Lima.Core environment through
  auxiliary Python/TANGO subprocesses
* Read LIMA_LINK_STRICT_VERSION and CORE/ESPIA_VERSION files in
  target sub-modules to ensure the correct plugin dependency versioning
* In TACO, ensure that Lima.Frelon is loaded before Lima.Core
parent d00e2744
taco @ e6ec7098
Subproject commit 1e05f6e30f90caa48ef24755bafa56b39673204f
Subproject commit e6ec7098945d7692cc234a691b3c7f702fed6e9b
tango @ 95b56779
Subproject commit 998510eed96ea2ee21e796fd35b4f8e8baba6c47
Subproject commit 95b56779f01b87c096c1227c9a7646b9aed6c75d
This diff is collapsed.
adsc @ 3c76683e
Subproject commit 45b98d78bfa4e379797efebf6cd15c050807b0f2
Subproject commit 3c76683e849ef9e850818513395a56c41cc758bd
andor @ 297a0578
Subproject commit 0d283168989b9ca272bc2f81b417b8f5ca1a1452
Subproject commit 297a05787af4ee228c38e1718be73fdb38cf4dbc
basler @ a41cc590
Subproject commit 187227fa38ca6f63a1ce5c2af8f1ae2679dde256
Subproject commit a41cc59003651fe90b675be389c06b5dbb5b47db
espia @ 1b8e87a9
Subproject commit d60e3aab7aec2255e0d0675d0708f0e8b90e0d3f
Subproject commit 1b8e87a9d0f47212897d0f1ee3ab653e64a24bcd
frelon @ 61f571ed
Subproject commit a6e5283de94984a6115fbac378d5dcf40ccb9bfe
Subproject commit 61f571ed660362d353a1a33075f0af335975b5a3
maxipix @ 47c0efca
Subproject commit c65cc467cda585c2f9c8c1e93135770d0e0d0402
Subproject commit 47c0efca287c034b8fb44227069b1babf3ab4324
mythen @ 2e1123f6
Subproject commit 189f88257b7ba1160204f55f042d4c25041b6071
Subproject commit 2e1123f6876066434c55d6de8055b664943f1aad
pilatus @ a9bd8cb7
Subproject commit 1289fedb276066b792c259dd6aec061285392be5
Subproject commit a9bd8cb7bf0170040f8132761eb4cdbeff7fb0f0
prosilica @ 71ab39a6
Subproject commit 396ed9cb3aafdd3f52ae1a09cb0f819a4a23d8a5
Subproject commit 71ab39a6b9bbae4ffbd442ee63352e8e7b7bf722
roperscientific @ 3c06bf3a
Subproject commit 5e1b9daeb55b9e5561b3da997e658b10a1ca8f49
Subproject commit 3c06bf3a7b32d354f18ffa914784dd5a3c7f6e3a
......@@ -42,6 +42,7 @@ if version.upper() == 'LAST':
version_dirs = [x for x in os.listdir(root_name) if x.startswith('v')]
version_dirs.sort(version_cmp)
version = version_dirs[-1]
del version_dirs, x
else:
if version[0] != 'v':
version = 'v' + version
......@@ -50,6 +51,13 @@ mod_path = os.path.join(root_name, version)
if not (os.path.isdir(mod_path) or os.path.islink(mod_path)):
raise ImportError('Invalid %s: %s' % (env_var_name, req_version))
if os.environ['LIMA_LINK_STRICT_VERSION'] == 'FULL':
core_version_fname = os.path.join(mod_path, 'CORE_VERSION')
core_version_file = open(core_version_fname, 'rt')
core_version = core_version_file.readline().strip()
os.environ['LIMA_CORE_VERSION'] = core_version
del core_version_fname, core_version_file, core_version
__path__.append(mod_path)
ld_open_flags = sys.getdlopenflags()
......@@ -60,6 +68,6 @@ globals().update(_S.__dict__)
sys.setdlopenflags(ld_open_flags)
del root_name, mod_name, mod_path, x, env_var_name
del version, req_version, version_dirs, version_code, version_cmp
del root_name, mod_name, mod_path, env_var_name
del version, req_version, version_code, version_cmp
del os, sys, imp, glob, DLFCN
ueye @ 5caf5407
Subproject commit c6e930b606d47c7c2489a17dec6cc4937c94d557
Subproject commit 5caf54073e181297104de3f4abca9b62f6f3a114
xpad @ dbaaf8cd
Subproject commit 85ca51ee8df6ad859b5ac80c41ba460b994b3456
Subproject commit dbaaf8cd8a0fb2a2334fdfb4e4b1f007fab69324
import sys
from Lima import processlib as Processlib
sys.modules['processlib'] = sys.modules['Lima.processlib']
sys.modules['Lima.processlib'] = None
from Lima.limacore import *
sys.modules['limacore'] = sys.modules['Lima.limacore']
sys.modules['Lima.limacore'] = None
from Lima.Debug import *
......@@ -31,9 +31,9 @@ def version_cmp(x, y):
return cmp(version_code(x), version_code(y))
env_var_name = 'LIMA_%s_VERSION' % mod_name.upper()
try:
version = os.environ[env_var_name]
except KeyError:
if env_var_name in os.environ:
version = os.environ[env_var_name]
else:
version = 'LAST'
req_version = version
......@@ -42,6 +42,7 @@ if version.upper() == 'LAST':
version_dirs = [x for x in os.listdir(root_name) if x.startswith('v')]
version_dirs.sort(version_cmp)
version = version_dirs[-1]
del version_dirs, x
else:
if version[0] != 'v':
version = 'v' + version
......@@ -63,6 +64,6 @@ sys.setdlopenflags(ld_open_flags)
sys.path.remove(mod_path)
del root_name, mod_name, mod_path, x, env_var_name, ld_open_flags
del version, req_version, version_dirs, version_code, version_cmp
del root_name, mod_name, mod_path, env_var_name, ld_open_flags
del version, req_version, version_code, version_cmp
del os, sys, imp, glob, DLFCN
......@@ -39,9 +39,10 @@ COMPILE_ANDOR=0
COMPILE_PHOTONICSCIENCE=0
COMPILE_CBF_SAVING=0
COMPILE_NXS_SAVING=0
LINK_STRICT_VERSION=1
export COMPILE_CORE COMPILE_SPS_IMAGE COMPILE_SIMULATOR \
COMPILE_ESPIA COMPILE_FRELON COMPILE_MAXIPIX COMPILE_PILATUS \
COMPILE_BASLER COMPILE_PROSILICA COMPILE_ROPERSCIENTIFIC COMPILE_ADSC \
COMPILE_MYTHEN COMPILE_UEYE COMPILE_XPAD COMPILE_PERKINELMER \
COMPILE_ANDOR COMPILE_PHOTONICSCIENCE \
COMPILE_CBF_SAVING COMPILE_NXS_SAVING
COMPILE_CBF_SAVING COMPILE_NXS_SAVING LINK_STRICT_VERSION
......@@ -46,73 +46,72 @@ INSTALL_INCLUDE_DIR = $(INSTALL_PLAT_DIR)/include
INSTALL_PKG_CONFIG_DIR = $(INSTALL_LIB_DIR)/pkgconfig
INSTALL_CONFIG_DEFINES =
ifeq ($(LINK_STRICT_VERSION),0)
ENV_LINK_STRICT_VER = 'MAJOR'
else
ENV_LINK_STRICT_VER = 'FULL'
endif
GLOB_PYTHON_ENV = \(os.environ\['LIMA_LINK_STRICT_VERSION'\][ \t]*=[ \t]*\)
GLOB_PYTHON_INIT_SED = "s/$(GLOB_PYTHON_ENV)'[A-Z]\+'/\1$(ENV_LINK_STRICT_VER)/"
ifneq ($(COMPILE_CORE), 0)
INSTALL_CORE_DIR = $(INSTALL_PLAT_DIR)/Core
CORE_FULL_VERSION = $(shell cat common/VERSION)
CORE_MAJ_VERSION = $(shell echo $(CORE_FULL_VERSION) | cut -d. -f1)
INSTALL_CORE_VDIR = $(INSTALL_CORE_DIR)/v$(CORE_FULL_VERSION)
endif
ifneq ($(COMPILE_SIMULATOR), 0)
INSTALL_SIMU_DIR = $(INSTALL_PLAT_DIR)/Simulator
SIMU_FULL_VERSION = $(shell cat camera/simulator/VERSION)
SIMU_MAJ_VERSION = $(shell echo $(SIMU_FULL_VERSION) | cut -d. -f1)
INSTALL_SIMU_VDIR = $(INSTALL_SIMU_DIR)/v$(SIMU_FULL_VERSION)
endif
ifneq ($(COMPILE_ESPIA), 0)
INSTALL_ESPIA_DIR = $(INSTALL_PLAT_DIR)/Espia
ESPIA_FULL_VERSION = $(shell cat camera/common/espia/VERSION)
ESPIA_MAJ_VERSION = $(shell echo $(ESPIA_FULL_VERSION) | cut -d. -f1)
INSTALL_ESPIA_VDIR = $(INSTALL_ESPIA_DIR)/v$(ESPIA_FULL_VERSION)
endif
ifneq ($(COMPILE_FRELON), 0)
INSTALL_FRELON_DIR = $(INSTALL_PLAT_DIR)/Frelon
FRELON_FULL_VERSION = $(shell cat camera/frelon/VERSION)
FRELON_MAJ_VERSION = $(shell echo $(FRELON_FULL_VERSION) | cut -d. -f1)
INSTALL_FRELON_VDIR = $(INSTALL_FRELON_DIR)/v$(FRELON_FULL_VERSION)
endif
ifneq ($(COMPILE_MAXIPIX), 0)
INSTALL_MAXIPIX_DIR = $(INSTALL_PLAT_DIR)/Maxipix
MAXIPIX_FULL_VERSION = $(shell cat camera/maxipix/VERSION)
MAXIPIX_MAJ_VERSION = $(shell echo $(MAXIPIX_FULL_VERSION) | cut -d. -f1)
INSTALL_MAXIPIX_VDIR = $(INSTALL_MAXIPIX_DIR)/v$(MAXIPIX_FULL_VERSION)
endif
ifneq ($(COMPILE_PILATUS), 0)
INSTALL_PILATUS_DIR = $(INSTALL_PLAT_DIR)/Pilatus
PILATUS_FULL_VERSION = $(shell cat camera/pilatus/VERSION)
PILATUS_MAJ_VERSION = $(shell echo $(PILATUS_FULL_VERSION) | cut -d. -f1)
INSTALL_PILATUS_VDIR = $(INSTALL_PILATUS_DIR)/v$(PILATUS_FULL_VERSION)
endif
ifneq ($(COMPILE_BASLER), 0)
INSTALL_BASLER_DIR = $(INSTALL_PLAT_DIR)/Basler
BASLER_FULL_VERSION = $(shell cat camera/basler/VERSION)
BASLER_MAJ_VERSION = $(shell echo $(BASLER_FULL_VERSION) | cut -d. -f1)
INSTALL_BASLER_VDIR = $(INSTALL_BASLER_DIR)/v$(BASLER_FULL_VERSION)
endif
ifneq ($(COMPILE_PROSILICA), 0)
INSTALL_PROSILICA_DIR = $(INSTALL_PLAT_DIR)/Prosilica
PROSILICA_FULL_VERSION = $(shell cat camera/prosilica/VERSION)
PROSILICA_MAJ_VERSION = $(shell echo $(PROSILICA_FULL_VERSION) | cut -d. -f1)
INSTALL_PROSILICA_VDIR = $(INSTALL_PROSILICA_DIR)/v$(PROSILICA_FULL_VERSION)
endif
ifneq ($(COMPILE_ROPERSCIENTIFIC), 0)
INSTALL_ROPERSCIENTIFIC_DIR = $(INSTALL_PLAT_DIR)/RoperScientific
ROPERSCIENTIFIC_FULL_VERSION = $(shell cat camera/roperscientific/VERSION)
ROPERSCIENTIFIC_MAJ_VERSION = $(shell echo $(ROPERSCIENTIFIC_FULL_VERSION) | cut -d. -f1)
INSTALL_ROPERSCIENTIFIC_VDIR = $(INSTALL_ROPERSCIENTIFIC_DIR)/v$(ROPERSCIENTIFIC_FULL_VERSION)
endif
ifneq ($(COMPILE_ADSC), 0)
INSTALL_ADSC_DIR = $(INSTALL_PLAT_DIR)/Adsc
ADSC_FULL_VERSION = $(shell cat camera/adsc/VERSION)
ADSC_MAJ_VERSION = $(shell echo $(ADSC_FULL_VERSION) | cut -d. -f1)
INSTALL_ADSC_VDIR = $(INSTALL_ADSC_DIR)/v$(ADSC_FULL_VERSION)
endif
......@@ -120,28 +119,24 @@ endif
ifneq ($(COMPILE_MYTHEN), 0)
INSTALL_MYTHEN_DIR = $(INSTALL_PLAT_DIR)/Mythen
MYTHEN_FULL_VERSION = $(shell cat camera/mythen/VERSION)
MYTHEN_MAJ_VERSION = $(shell echo $(MYTHEN_FULL_VERSION) | cut -d. -f1)
INSTALL_MYTHEN_VDIR = $(INSTALL_MYTHEN_DIR)/v$(MYTHEN_FULL_VERSION)
endif
ifneq ($(COMPILE_UEYE), 0)
INSTALL_UEYE_DIR = $(INSTALL_PLAT_DIR)/Ueye
UEYE_FULL_VERSION = $(shell cat camera/ueye/VERSION)
UEYE_MAJ_VERSION = $(shell echo $(UEYE_FULL_VERSION) | cut -d. -f1)
INSTALL_UEYE_VDIR = $(INSTALL_UEYE_DIR)/v$(UEYE_FULL_VERSION)
endif
ifneq ($(COMPILE_ANDOR), 0)
INSTALL_ANDOR_DIR = $(INSTALL_PLAT_DIR)/Andor
ANDOR_FULL_VERSION = $(shell cat camera/andor/VERSION)
ANDOR_MAJ_VERSION = $(shell echo $(ANDOR_FULL_VERSION) | cut -d. -f1)
INSTALL_ANDOR_VDIR = $(INSTALL_ANDOR_DIR)/v$(ANDOR_FULL_VERSION)
endif
ifneq ($(COMPILE_XPAD), 0)
INSTALL_XPAD_DIR = $(INSTALL_PLAT_DIR)/Xpad
XPAD_FULL_VERSION = $(shell cat camera/xpad/VERSION)
XPAD_MAJ_VERSION = $(shell echo $(XPAD_FULL_VERSION) | cut -d. -f1)
INSTALL_XPAD_VDIR = $(INSTALL_XPAD_DIR)/v$(XPAD_FULL_VERSION)
endif
......@@ -164,7 +159,8 @@ PROCESSOR_TYPE := $(shell uname -i)
install:
mkdir -p $(INSTALL_LIMA_DIR)
cp python/__init__.py $(INSTALL_LIMA_DIR)
sed $(GLOB_PYTHON_INIT_SED) python/__init__.py > \
$(INSTALL_LIMA_DIR)/__init__.py
mkdir -p $(INSTALL_LIB_DIR)
mkdir -p $(INSTALL_INCLUDE_DIR)
mkdir -p $(INSTALL_PKG_CONFIG_DIR)
......@@ -182,8 +178,6 @@ ifneq ($(COMPILE_CORE), 0)
cp -d third-party/Processlib/build/libprocesslib.so* $(INSTALL_LIB_DIR)
cp third-party/Processlib/sip/processlib.so $(INSTALL_CORE_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimacore.so*
#cp build/liblimacore.so.$(CORE_FULL_VERSION) $(INSTALL_LIB_DIR)
#cp -d build/liblimacore.so.$(CORE_MAJ_VERSION) $(INSTALL_LIB_DIR)
cp -d build/liblimacore.so* $(INSTALL_LIB_DIR)
cp sip/core/limacore.so $(INSTALL_CORE_VDIR)
cp common/python/Debug.py $(INSTALL_CORE_VDIR)
......@@ -197,6 +191,7 @@ endif
ifneq ($(COMPILE_SIMULATOR), 0)
mkdir -p $(INSTALL_SIMU_VDIR)
cp camera/simulator/python/__init__.py $(INSTALL_SIMU_DIR)
cp camera/simulator/python/CORE_VERSION $(INSTALL_SIMU_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimasimulator.so*
cp -d build/liblimasimulator.so* $(INSTALL_LIB_DIR)
cp sip/simulator/limasimulator.so $(INSTALL_SIMU_VDIR)
......@@ -205,6 +200,7 @@ endif
ifneq ($(COMPILE_ESPIA), 0)
mkdir -p $(INSTALL_ESPIA_VDIR)
cp camera/common/espia/python/__init__.py $(INSTALL_ESPIA_DIR)
cp camera/common/espia/python/CORE_VERSION $(INSTALL_ESPIA_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimaespia.so*
cp -d build/liblimaespia.so* $(INSTALL_LIB_DIR)
cp sip/espia/limaespia.so $(INSTALL_ESPIA_VDIR)
......@@ -213,6 +209,7 @@ endif
ifneq ($(COMPILE_FRELON), 0)
mkdir -p $(INSTALL_FRELON_VDIR)
cp camera/frelon/python/__init__.py $(INSTALL_FRELON_DIR)
cp camera/frelon/python/ESPIA_VERSION $(INSTALL_FRELON_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimafrelon.so*
cp -d build/liblimafrelon.so* $(INSTALL_LIB_DIR)
cp sip/frelon/limafrelon.so $(INSTALL_FRELON_VDIR)
......@@ -222,6 +219,7 @@ endif
ifneq ($(COMPILE_MAXIPIX), 0)
mkdir -p $(INSTALL_MAXIPIX_VDIR)
cp camera/maxipix/python/__init__.py $(INSTALL_MAXIPIX_DIR)
cp camera/maxipix/python/ESPIA_VERSION $(INSTALL_MAXIPIX_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimamaxipix.so*
cp -d build/liblimamaxipix.so* $(INSTALL_LIB_DIR)
cp sip/maxipix/limamaxipix.so $(INSTALL_MAXIPIX_VDIR)
......@@ -231,12 +229,14 @@ endif
ifneq ($(COMPILE_PILATUS), 0)
mkdir -p $(INSTALL_PILATUS_VDIR)
cp camera/pilatus/python/__init__.py $(INSTALL_PILATUS_DIR)
cp camera/pilatus/python/CORE_VERSION $(INSTALL_PILATUS_VDIR)
cp camera/pilatus/python/*.py $(INSTALL_PILATUS_VDIR)
cp camera/pilatus/include/*.h $(INSTALL_INCLUDE_DIR)
endif
ifneq ($(COMPILE_BASLER), 0)
mkdir -p $(INSTALL_BASLER_VDIR)
cp camera/basler/python/__init__.py $(INSTALL_BASLER_DIR)
cp camera/basler/python/CORE_VERSION $(INSTALL_BASLER_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimabasler.so*
cp -d build/liblimabasler.so* $(INSTALL_LIB_DIR)
cp sip/basler/limabasler.so $(INSTALL_BASLER_VDIR)
......@@ -245,6 +245,7 @@ endif
ifneq ($(COMPILE_PROSILICA), 0)
mkdir -p $(INSTALL_PROSILICA_VDIR)
cp camera/prosilica/python/__init__.py $(INSTALL_PROSILICA_DIR)
cp camera/prosilica/python/CORE_VERSION $(INSTALL_PROSILICA_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimaprosilica.so*
rm -rf $(INSTALL_LIB_DIR)/libPvAPI.so
cp -d build/liblimaprosilica.so* $(INSTALL_LIB_DIR)
......@@ -268,6 +269,7 @@ endif
ifneq ($(COMPILE_ROPERSCIENTIFIC), 0)
mkdir -p $(INSTALL_ROPERSCIENTIFIC_VDIR)
cp camera/roperscientific/python/__init__.py $(INSTALL_ROPERSCIENTIFIC_DIR)
cp camera/roperscientific/python/CORE_VERSION $(INSTALL_ROPERSCIENTIFIC_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimaroperscientific.so*
cp -d build/liblimaroperscientific.so* $(INSTALL_LIB_DIR)
cp sip/roperscientific/limaroperscientific.so $(INSTALL_ROPERSCIENTIFIC_VDIR)
......@@ -277,6 +279,7 @@ endif
ifneq ($(COMPILE_ADSC), 0)
mkdir -p $(INSTALL_ADSC_VDIR)
cp camera/adsc/python/__init__.py $(INSTALL_ADSC_DIR)
cp camera/adsc/python/CORE_VERSION $(INSTALL_ADSC_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimaadsc.so*
cp -d build/liblimaadsc.so* $(INSTALL_LIB_DIR)
cp sip/adsc/limaadsc.so $(INSTALL_ADSC_VDIR)
......@@ -288,6 +291,7 @@ endif
ifneq ($(COMPILE_MYTHEN), 0)
mkdir -p $(INSTALL_MYTHEN_VDIR)
cp camera/mythen/python/__init__.py $(INSTALL_MYTHEN_DIR)
cp camera/mythen/python/CORE_VERSION $(INSTALL_MYTHEN_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimamythen.so*
cp -d build/liblimamythen.so* $(INSTALL_LIB_DIR)
cp sip/mythen/limamythen.so $(INSTALL_MYTHEN_VDIR)
......@@ -297,6 +301,7 @@ endif
ifneq ($(COMPILE_UEYE), 0)
mkdir -p $(INSTALL_UEYE_VDIR)
cp camera/ueye/python/__init__.py $(INSTALL_UEYE_DIR)
cp camera/ueye/python/CORE_VERSION $(INSTALL_UEYE_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimaueye.so*
cp -d build/liblimaueye.so* $(INSTALL_LIB_DIR)
cp sip/ueye/limaueye.so $(INSTALL_UEYE_VDIR)
......@@ -305,6 +310,7 @@ endif
ifneq ($(COMPILE_ANDOR), 0)
mkdir -p $(INSTALL_ANDOR_VDIR)
cp camera/andor/python/__init__.py $(INSTALL_ANDOR_DIR)
cp camera/andor/python/CORE_VERSION $(INSTALL_ANDOR_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimaandor.so*
cp -d build/liblimaandor.so* $(INSTALL_LIB_DIR)
cp sip/andor/limaandor.so $(INSTALL_ANDOR_VDIR)
......@@ -314,6 +320,7 @@ endif
ifneq ($(COMPILE_XPAD), 0)
mkdir -p $(INSTALL_XPAD_VDIR)
cp camera/xpad/python/__init__.py $(INSTALL_XPAD_DIR)
cp camera/xpad/python/CORE_VERSION $(INSTALL_XPAD_VDIR)
rm -rf $(INSTALL_LIB_DIR)/liblimaxpad.so*
cp -d build/liblimaxpad.so* $(INSTALL_LIB_DIR)
cp sip/xpad/limaxpad.so $(INSTALL_XPAD_VDIR)
......
......@@ -40,8 +40,9 @@ if get_os is not None:
lima_plat = os.path.join(root_name, plat)
__path__.insert(0, lima_plat)
import Core
# This mandatory variable is systematically overwritten by 'make install'
os.environ['LIMA_LINK_STRICT_VERSION'] = 'FULL'
if get_os is not None:
all_dirs = os.listdir(lima_plat)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment