• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5"""This module provides access to autotest_lib.client.common_lib.cros namespace,
6and fixes the environment variable for shared libraries (DLL).
7"""
8
9import os, sys
10
11cwd = os.path.dirname(sys.modules[__name__].__file__)
12client_dir = os.path.abspath(os.path.join(cwd, '../../common_lib/cros'))
13sys.path.insert(0, client_dir)
14
15DLL_PATH_ENV_NAME = 'LD_LIBRARY_PATH'
16DLL_PATH = '/usr/local/lib:/usr/local/lib64'
17if not os.environ.get(DLL_PATH_ENV_NAME):
18    print 'Set up %s!' % DLL_PATH_ENV_NAME
19    os.environ[DLL_PATH_ENV_NAME] = DLL_PATH
20    try:
21        # Note: It is required to restart the process since the linker/loader
22        #       has kept a copy of the environment in its cache.
23        print 'Restarting "%s"....' % sys.argv[0]
24        os.execv(sys.argv[0], sys.argv)
25    except Exception as e:
26        print 'Error: Failed to restart %s' % sys.argv[0], e
27        sys.exit(1)
28