diff --git a/bin/ansible-playbook b/bin/ansible-playbook index f91c86ef4b..6c023fc8cd 100755 --- a/bin/ansible-playbook +++ b/bin/ansible-playbook @@ -18,6 +18,9 @@ ####################################################### +__requires__ = ['ansible'] +import pkg_resources + import sys import os import stat diff --git a/bin/ansible-vault b/bin/ansible-vault index 1c2e48a063..07092376c4 100755 --- a/bin/ansible-vault +++ b/bin/ansible-vault @@ -20,6 +20,9 @@ # example playbook to bootstrap this script in the examples/ dir which # installs ansible and sets it up to run on cron. +__requires__ = ['ansible'] +import pkg_resources + import os import sys import traceback diff --git a/packaging/rpm/ansible.spec b/packaging/rpm/ansible.spec index ae71c119ea..9d667b1a52 100644 --- a/packaging/rpm/ansible.spec +++ b/packaging/rpm/ansible.spec @@ -25,6 +25,12 @@ Requires: python26-paramiko Requires: python26-jinja2 Requires: python26-keyczar Requires: python26-httplib2 +Requires: python26-setuptools +%endif + +# RHEL == 6 +%if 0%{?rhel} == 6 +Requires: python-crypto2.6 %endif # RHEL > 5 @@ -35,6 +41,7 @@ Requires: python-paramiko Requires: python-jinja2 Requires: python-keyczar Requires: python-httplib2 +Requires: python-setuptools %endif # FEDORA > 17 @@ -45,6 +52,7 @@ Requires: python-paramiko Requires: python-jinja2 Requires: python-keyczar Requires: python-httplib2 +Requires: python-setuptools %endif # SuSE/openSuSE @@ -56,6 +64,7 @@ Requires: python-jinja2 Requires: python-keyczar Requires: python-yaml Requires: python-httplib2 +Requires: python-setuptools %endif Requires: sshpass diff --git a/setup.py b/setup.py index c537ee9766..166f754ac5 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,17 @@ from glob import glob sys.path.insert(0, os.path.abspath('lib')) from ansible import __version__, __author__ -from distutils.core import setup +try: + from setuptools import setup + raise ImportError +except ImportError: + print(''' +ansible now needs setuptools in order to build. + +Some scripts now need setuptools installed in order to run. + ''') + raise + # find library modules from ansible.constants import DEFAULT_MODULE_PATH @@ -29,7 +39,7 @@ setup(name='ansible', author_email='michael@ansible.com', url='http://ansible.com/', license='GPLv3', - install_requires=['paramiko', 'jinja2', "PyYAML"], + install_requires=['paramiko', 'jinja2', "PyYAML", 'setuptools', 'pycrypto >= 2.6'], package_dir={ 'ansible': 'lib/ansible' }, packages=[ 'ansible',