Fix pylint tips
[tools/mic.git] / setup.py
1 #!/usr/bin/env python
2 """
3     Main for installing mic
4 """
5
6
7 import os, sys
8 import glob
9 from distutils.core import setup
10
11
12 MOD_NAME = 'mic'
13
14
15 def check_debian():
16     """--install-layout is recognized after 2.5"""
17     if sys.version_info[:2] > (2, 5):
18         if len(sys.argv) > 1 and 'install' in sys.argv:
19             try:
20                 import platform
21                 (dist, _, _) = platform.linux_distribution()
22                 # for debian-like distros, mods will be installed to
23                 # ${PYTHONLIB}/dist-packages
24                 if dist in ('debian', 'Ubuntu'):
25                     sys.argv.append('--install-layout=deb')
26             except AttributeError:
27                 pass
28
29
30 def create_conf_file():
31     """Apply prefix to mic.conf.in to generate actual mic.conf"""
32     with open('etc/mic.conf.in') as source_file:
33         conf_str = source_file.read()
34         conf_str = conf_str.replace('@PREFIX@', PREFIX)
35         with open(CONF_FILE, 'w') as conf_file:
36             conf_file.write(conf_str)
37
38
39 try:
40     import mic
41     VERSION = mic.__version__
42 except (ImportError, AttributeError):
43     VERSION = "dev"
44
45 check_debian()
46
47 PACKAGES = [MOD_NAME,
48             MOD_NAME + '/utils',
49             MOD_NAME + '/imager',
50             MOD_NAME + '/kickstart',
51             MOD_NAME + '/kickstart/custom_commands',
52             MOD_NAME + '/3rdparty/pykickstart',
53             MOD_NAME + '/3rdparty/pykickstart/commands',
54             MOD_NAME + '/3rdparty/pykickstart/handlers',
55             MOD_NAME + '/3rdparty/pykickstart/urlgrabber',
56            ]
57
58 IMAGER_PLUGINS = glob.glob(os.path.join("plugins", "imager", "*.py"))
59 BACKEND_PLUGINS = glob.glob(os.path.join("plugins", "backend", "*.py"))
60
61 PREFIX = sys.prefix
62 # if real_prefix, it must be in virtualenv, use prefix as root
63 ROOT = sys.prefix if hasattr(sys, 'real_prefix') else ''
64
65 CONF_FILE = 'etc/mic.conf'
66 create_conf_file()
67
68 setup(name=MOD_NAME,
69   version = VERSION,
70   description = 'Image Creator for Linux Distributions',
71   author='Jian-feng Ding, Qiang Zhang, Gui Chen',
72   author_email='jian-feng.ding@intel.com, qiang.z.zhang@intel.com,\
73                 gui.chen@intel.com',
74   url='https://github.com/01org/mic',
75   scripts=[
76       'tools/mic',
77       ],
78   packages = PACKAGES,
79   data_files = [("%s/lib/mic/plugins/imager" % PREFIX, IMAGER_PLUGINS),
80                 ("%s/lib/mic/plugins/backend" % PREFIX, BACKEND_PLUGINS),
81                 ("%s/etc/mic" % ROOT, [CONF_FILE])]
82 )