X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=python-lttngust%2Fsetup.py.in;h=303d624539e30c08d3f9216d0b6c181a15fba891;hb=a49a7e686059ce795ce678b42cc109b7a2b1d91e;hp=370fd613e1c1f0d633d50b270ce07133a5c24af1;hpb=0b2253f5c9af73904d49da32085036c16b9d2d75;p=lttng-ust.git diff --git a/python-lttngust/setup.py.in b/python-lttngust/setup.py.in index 370fd613..303d6245 100644 --- a/python-lttngust/setup.py.in +++ b/python-lttngust/setup.py.in @@ -15,22 +15,54 @@ # along with this library; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +import os +import sys + from distutils.core import setup, Extension +PY_PATH_WARN_MSG = """ +-------------------------------------WARNING------------------------------------ +The install directory used:\n ({0})\nis not included in your PYTHONPATH. + +To add this directory to your Python search path permanently you can add the +following command to your .bashrc/.zshrc: + export PYTHONPATH="${{PYTHONPATH}}:{0}" +-------------------------------------------------------------------------------- +""" + +def main(): + dist = setup(name='lttngust', + version='@PACKAGE_VERSION@', + description='LTTng-UST Python agent', + packages=['lttngust'], + package_dir={'lttngust': 'lttngust'}, + options={'build': {'build_base': 'build'}}, + url='http://lttng.org', + license='LGPL-2.1', + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3' + 'Topic :: System :: Logging', + ]) + +# After the installation, we check that the install directory is included in +# the Python search path and we print a warning message when it's not. We need +# to do this because Python search path differs depending on the distro and +# some distros don't include any `/usr/local/` (the default install prefix) in +# the search path. This is also useful for out-of-tree installs and tests. It's +# only relevant to make this check on the `install` command. + + if 'install' in dist.command_obj: + install_dir = dist.command_obj['install'].install_libbase + if install_dir not in sys.path: + # We can't consider this an error because if affects every + # distro differently. We only warn the user that some + # extra configuration is needed to use the agent + abs_install_dir = os.path.abspath(install_dir) + print(PY_PATH_WARN_MSG.format(abs_install_dir)) -setup(name='lttngust', - version='@PACKAGE_VERSION@', - description='LTTng-UST Python agent', - packages=['lttngust'], - package_dir={'lttngust': 'lttngust'}, - options={'build': {'build_base': 'build'}}, - url='http://lttng.org', - license='LGPL-2.1', - classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3' - 'Topic :: System :: Logging', - ]) +if __name__ == '__main__': + main()