Package: GaudiRelease
Package Coordinator: Marco Clemencic, Charles Leggett
Purpose: Gaudi common set of packages
no-shared-dir
(always disabled for ATLAS).
( )Added support zipped python directories in InstallArea.
The directory InstallArea/python is automatically compressed (at build time) in InstallArea/python.zip. The compression allows only .py files in the archive, so this may break some packages. The solution is to replace the non-python files with python modules.
The creation of the archives cannot be disabled, but the plain directories are always accessible and can be used instead of the archives using the CMT tag no-pyzip, for example to do some debugging.
More details in the notes of GaudiPolicy.
( )The InstallArea/python directory is replaced, in PYTHONPATH, by InstallArea/python.zip. The old directory is still present and used to generate the .zip file or for debugging (can be used at run-time specifying the CMT tag "no-pyzip").
The use of .zip files increases significantly the speed of the configuration of an application (when using configurables).
Since .zip files can only contain python files, it is not possible to store anything else under InstallArea/python path.
The current implementation re-creates the .zip file during the build of each package, so re-compressing files already in the original .zip, which can become a problem with very large projects. A merge feature would be welcome, but it has to allow also the removal of the files that have been removed from the original python directory (a la install.py). Note that the current implementation of the module "zipfile" does not allow replacement or removal.
This, implicitly, addresses bug #39868 because the .pyc files are automatically generated during the zipping step to be included in the .zip file.
See PEP-0273 for more information.Modified the the code behind from Configurables import MyConf to match the standard Python semantics: raise an exception if the configurable is not found.
The meta-module "Configurables" should be deprecated in favor of "Gaudi.Configurables", that can also be used as in:
import Gaudi.Configurables as cfgs cfgs.MyConfThe exception for missing configurables can be disabled with
import Gaudi.Configurables Gaudi.Configurables.ignoreMissingConfigurables = True(done by default in genconfuser.py for backward compatibility). ( )