summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorStephane Wirtel <stephane@openerp.com>2010-06-02 14:41:51 +0200
committerStephane Wirtel <stephane@openerp.com>2010-06-02 14:41:51 +0200
commit4169795ad229cb8a61d71c49354be897046a8bd1 (patch)
tree714a7d051cdc7e586199de2b41becf915572c5c8 /setup.py
parentd1cfcf4c5cf99b98883613418d076e606864e8b7 (diff)
[IMP] Rewrite the setup.py file to use the setuptools package
bzr revid: stephane@openerp.com-20100602124151-j07ji0u8ds16qfdy
Diffstat (limited to 'setup.py')
-rwxr-xr-xsetup.py112
1 files changed, 27 insertions, 85 deletions
diff --git a/setup.py b/setup.py
index 39fda7703e8..587078eb4b5 100755
--- a/setup.py
+++ b/setup.py
@@ -32,8 +32,8 @@ import os
from os.path import join, isfile, basename
import glob
-from distutils.core import setup, Command
-from distutils.command.install import install
+from setuptools import setup, find_packages
+from setuptools.command.install import install
from distutils.sysconfig import get_python_lib
has_py2exe = False
@@ -51,54 +51,10 @@ if 'bdist_rpm' in sys.argv:
# get python short version
py_short_version = '%s.%s' % sys.version_info[:2]
-required_modules = [
- ('lxml', 'lxml module: pythonic libxml2 and libxslt bindings'),
- ('mako', 'Mako template engine'),
- ('dateutil', "Extensions to the standard datetime module"),
- ('psycopg2', 'PostgreSQL module'),
- ('pychart', 'pychart module'),
- ('pydot', 'pydot module'),
- ('pytz', 'Timezone handling library for Python'),
- ('reportlab', 'reportlab module'),
- ('yaml', 'YAML parser and emitter for Python'),
- ('pywebdav', 'PyWebDAV is a standards compliant WebDAV server and library written in Python'),
-]
-
-def check_modules():
- errors = []
- for modname, desc in required_modules:
- try:
- imp.find_module(modname)
- except ImportError:
- errors.append(
- 'Error: python module %s (%s) is required' % (modname, desc))
-
- if errors:
- print '\n'.join(errors)
- sys.exit(1)
-
def find_addons():
- for root, _, names in os.walk(join('bin', 'addons')):
+ for root, _, names in os.walk(join('bin', 'addons'), followlinks=True):
if '__openerp__.py' in names or '__terp__.py' in names:
yield basename(root), root
- #look for extra modules
- try:
- empath = os.getenv('EXTRA_MODULES_PATH', '../addons/')
- for mname in open(join(empath, 'server_modules.list')):
- mname = mname.strip()
- if not mname:
- continue
-
- terp = join(empath, mname, '__openerp__.py')
- if not os.path.exists(terp):
- terp = join(empath, mname, '__terp__.py')
-
- if os.path.exists(terp):
- yield mname, join(empath, mname)
- else:
- print "Module %s specified, but no valid path." % mname
- except:
- pass
def data_files():
'''Build list of data files to be installed'''
@@ -145,17 +101,6 @@ def data_files():
return files
-if not os.getenv('NO_CHECK_MODULES') :
- check_modules()
-
-f = file('openerp-server','w')
-f.write("""#!/bin/sh
-echo "Error: the content of this file should have been replaced during "
-echo "installation\n"
-exit 1
-""")
-f.close()
-
def find_package_dirs():
package_dirs = {'openerp-server': 'bin'}
for mod, path in find_addons():
@@ -201,37 +146,34 @@ setup(name = name,
license = license,
data_files = data_files(),
cmdclass = {
- 'install' : openerp_server_install,
+ 'install' : openerp_server_install,
},
scripts = ['openerp-server'],
- packages = ['openerp-server',
- 'openerp-server.addons',
- 'openerp-server.ir',
- 'openerp-server.osv',
- 'openerp-server.pychart',
- 'openerp-server.pychart.afm',
- 'openerp-server.report',
- 'openerp-server.report.printscreen',
- 'openerp-server.report.pyPdf',
- 'openerp-server.report.render',
- 'openerp-server.report.render.html2html',
- 'openerp-server.report.render.makohtml2html',
- 'openerp-server.report.render.odt2odt',
- 'openerp-server.report.render.rml2html',
- 'openerp-server.report.render.rml2pdf',
- 'openerp-server.report.render.rml2txt',
- 'openerp-server.service',
- 'openerp-server.tools',
- 'openerp-server.wizard',
- 'openerp-server.workflow'] + \
- [('openerp-server.addons.' + name)
- for name, _ in find_addons()],
+ packages = [
+ '.'.join(['openerp-server'] + package.split('.')[1:]) for package in find_packages()
+ ],
package_dir = find_package_dirs(),
- console = [{"script": join("bin", "openerp-server.py"),
- "icon_resources": [(1,join("pixmaps","openerp-icon.ico"))]
- }],
+ console = [
+ {
+ "script": join("bin", "openerp-server.py"),
+ "icon_resources": [(1, join("pixmaps","openerp-icon.ico"))]
+ }
+ ],
options = options,
- )
+ install_requires = ['lxml',
+ 'mako',
+ 'python-dateutil',
+ 'psycopg2',
+ 'pychart',
+ 'pydot',
+ 'pytz',
+ 'reportlab',
+ 'pyyaml',
+ 'pywebdav'],
+ extras_require={
+ 'SSL' : ['pyopenssl'],
+ }
+)
if has_py2exe:
# Sometime between pytz-2008a and pytz-2008i common_timezones started to