X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=lttng_ivc%2Futils%2Fproject.py;h=5111819d432ed93c75d890bfff40d7c432c91bb9;hb=8e2c5f79e23839ec13866fc4827a1c402aab1687;hp=71d17e2a14d79c48c3b790be177b5305a8257d1c;hpb=74eb709665e53e922313f01de3b6d3d3fdc1df70;p=deliverable%2Flttng-ivc.git diff --git a/lttng_ivc/utils/project.py b/lttng_ivc/utils/project.py index 71d17e2..5111819 100644 --- a/lttng_ivc/utils/project.py +++ b/lttng_ivc/utils/project.py @@ -1,3 +1,23 @@ +# Copyright (c) 2017 Jonathan Rajotte-Julien +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + import os import shutil import git @@ -6,6 +26,7 @@ import logging import lttng_ivc.settings as Settings from lttng_ivc.utils.utils import sha256_checksum +from lttng_ivc.utils.utils import find_dir, find_file _logger = logging.getLogger('project') @@ -307,6 +328,12 @@ class Lttng_modules(Project): p.check_returncode() self.isInstalled = True + def autobuild(self): + try: + super(Lttng_modules, self).autobuild() + except subprocess.CalledProcessError as e: + self.skip = True + class Lttng_ust(Project): def __init__(self, label, git_path, sha1, tmpdir): @@ -318,9 +345,18 @@ class Lttng_ust(Project): jul_path = os.path.join(self.installation_path, "share/java/liblttng-ust-agent.jar") - classpath = ":".join([jul_path, Settings.log4j_class_path, '.']) + classpath = ":".join([jul_path, '.']) self.add_special_env_variable("CLASSPATH", classpath) + def install(self): + super(Lttng_ust, self).install() + python_path = find_dir(self.installation_path, "lttngust") + if python_path: + # Fetch the parent of lttngust folder + python_path = os.path.dirname(python_path) + self.add_special_env_variable("PYTHONPATH", python_path) + + class Lttng_tools(Project): def __init__(self, label, git_path, sha1, tmpdir): @@ -329,6 +365,15 @@ class Lttng_tools(Project): self.add_special_env_variable("LTTNG_SESSION_CONFIG_XSD_PATH", os.path.join(self.installation_path, "share/xml/lttng/")) + # Find the mi xsd + for xsd in Settings.mi_xsd_file_name: + mi = find_file(self.source_path, xsd) + if mi: + break + if not mi: + raise Exception("MI xsd not found") + self.mi_xsd = mi + class Babeltrace(Project): pass