summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorMarcus Cobden <mcobden@cisco.com>2013-11-11 13:37:46 +0000
committerMarcus Cobden <mcobden@cisco.com>2013-11-11 14:00:38 +0000
commit8d98a55df165f722654f5f3421a6944091fcb17d (patch)
tree5182a152077a28face3f0b2e396044eb62346c24 /setup.py
parentbd38e6d92fbfc580b0bfcd396a045d1f176557e2 (diff)
downloadansible-8d98a55df165f722654f5f3421a6944091fcb17d.tar.gz
Fix setup.py to work with 'pip install -e .'
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/setup.py b/setup.py
index c802eca6fd..9012498305 100644
--- a/setup.py
+++ b/setup.py
@@ -4,15 +4,27 @@ import os
import sys
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 distutils.core import setup
-# find library modules
-from ansible.constants import DEFAULT_MODULE_PATH
-dirs=os.listdir("./library/")
+# 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
+ 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 = []
-for i in dirs:
+for i in os.listdir(module_path):
data_files.append((os.path.join(DEFAULT_MODULE_PATH, i), glob('./library/' + i + '/*')))
setup(name='ansible',
@@ -23,7 +35,7 @@ setup(name='ansible',
url='http://ansibleworks.com/',
license='GPLv3',
install_requires=['paramiko', 'jinja2', "PyYAML"],
- package_dir={ 'ansible': 'lib/ansible' },
+ package_dir={ '': 'lib' },
packages=[
'ansible',
'ansible.utils',