Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: sconsUtils
-
Labels:None
-
Story Points:6
-
Epic Link:
-
Team:SQuaRE
Description
After some discussion on Data Management, its clear that sconsUtils is a hard requirement on EUPS for both tests and installation. It was decided by RFC-44 that tests should not depend on EUPS. However, I'd argue that sconsUtils should also not depend on EUPS as any package that uses sconsUtils (the virtual entirety of the stack) can not build or run tests without the presence of EUPS. The current situation is that the complete stack has a hard dependency on EUPS.
Attempting to build sconUtils without the presence of EUPS. The tests fail attempting to import the eups module.
$ SCONSUTILS_DIR=. scons -Q
|
Unable to import eups; guessing flavor
|
CC is gcc version 4.8.3
|
Checking for C++11 support
|
C++11 supported with '-std=c++11'
|
Unable to import eups; guessing flavor
|
Doxygen is not setup; skipping documentation build.
|
ImportError: No module named eups:
|
File "/home/vagrant/sconsUtils/SConstruct", line 9:
|
scripts.BasicSConstruct.initialize(packageName="sconsUtils")
|
File "python/lsst/sconsUtils/scripts.py", line 106:
|
SCons.Script.SConscript(os.path.join(root, "SConscript"))
|
File "/usr/lib/scons/SCons/Script/SConscript.py", line 609:
|
return method(*args, **kw)
|
File "/usr/lib/scons/SCons/Script/SConscript.py", line 546:
|
return _SConscript(self.fs, *files, **subst_kw)
|
File "/usr/lib/scons/SCons/Script/SConscript.py", line 260:
|
exec _file_ in call_stack[-1].globals
|
File "/home/vagrant/sconsUtils/tests/SConscript", line 5:
|
import eups
|
Attempting to bypass the test failures:
[vagrant@jenkins-el7-1 sconsUtils]$ rm -rf tests
|
[vagrant@jenkins-el7-1 sconsUtils]$ SCONSUTILS_DIR=. scons -Q install
|
Unable to import eups; guessing flavor
|
CC is gcc version 4.8.3
|
Checking for C++11 support
|
C++11 supported with '-std=c++11'
|
Error with git version: uncommitted changes
|
Found problem with version number; update or specify force=True to proceed
|
Attachments
Issue Links
- blocks
-
DM-2768 investigate decomposition of stack build into independent packages
- Done
-
RFC-44 Remove build system dependencies from tests
- Implemented
- is duplicated by
-
DM-1164 remove dependency between sconsUtils and eups
- Won't Fix
- is triggered by
-
RFC-69 Refactor sconsUtils to enhance usability in CI
- Adopted
- is triggering
-
DM-3655 LSST_CFG_PATH support broken because of recent sconsUtils change
- Won't Fix
- relates to
-
DM-3208 sconsUtils "probe" refactoring
- To Do
I've found another hard dep. on eups, if the install target is attempting to deploy a directory named 'ups' it shells out to invoke eups.
https://github.com/lsst/sconsUtils/blob/54c983ffe9714a33657c4388de3506fe7a40518d/python/lsst/sconsUtils/installation.py#L366