Merge pull request #4874 from leth/editable_install

Fix setup.py to work with 'pip install -e .'
pull/4978/merge
jctanner 11 years ago
commit 15b89b45e1

@ -82,13 +82,13 @@ p = load_config_file()
active_user = pwd.getpwuid(os.geteuid())[0] active_user = pwd.getpwuid(os.geteuid())[0]
# Needed so the RPM can call setup.py and have modules land in the
# correct location. See #1277 for discussion
if getattr(sys, "real_prefix", None):
# in a virtualenv
DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/') DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/')
else: EDITABLE_MODULE_PATH = os.path.normpath(
DIST_MODULE_PATH = '/usr/share/ansible/' os.path.join(os.path.dirname(__file__), '../../library'))
if not os.path.exists(DIST_MODULE_PATH) \
and os.path.exists(EDITABLE_MODULE_PATH):
DIST_MODULE_PATH = EDITABLE_MODULE_PATH
# check all of these extensions when looking for yaml files for things like # check all of these extensions when looking for yaml files for things like
# group variables # group variables

@ -4,15 +4,27 @@ import os
import sys import sys
from glob import glob from glob import glob
sys.path.insert(0, os.path.abspath('lib')) def rel(f):
return os.path.join(os.path.dirname(__file__), f)
sys.path.insert(0, rel('lib'))
from ansible import __version__, __author__ from ansible import __version__, __author__
from distutils.core import setup from distutils.core import setup
# find library modules # Needed so the RPM can call setup.py and have modules land in the
from ansible.constants import DEFAULT_MODULE_PATH # correct location. See #1277 for discussion
dirs=os.listdir("./library/") if getattr(sys, "real_prefix", None):
# in a virtualenv
DEFAULT_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/library')
else:
DEFAULT_MODULE_PATH = '/usr/share/ansible/library'
module_path = DEFAULT_MODULE_PATH
if not os.path.exists(DEFAULT_MODULE_PATH):
module_path = rel('library')
data_files = [] data_files = []
for i in dirs: for i in os.listdir(module_path):
data_files.append((os.path.join(DEFAULT_MODULE_PATH, i), glob('./library/' + i + '/*'))) data_files.append((os.path.join(DEFAULT_MODULE_PATH, i), glob('./library/' + i + '/*')))
setup(name='ansible', setup(name='ansible',
@ -23,7 +35,7 @@ setup(name='ansible',
url='http://ansibleworks.com/', url='http://ansibleworks.com/',
license='GPLv3', license='GPLv3',
install_requires=['paramiko', 'jinja2', "PyYAML"], install_requires=['paramiko', 'jinja2', "PyYAML"],
package_dir={ 'ansible': 'lib/ansible' }, package_dir={ '': 'lib' },
packages=[ packages=[
'ansible', 'ansible',
'ansible.utils', 'ansible.utils',

Loading…
Cancel
Save