Merge "setup.py: replace lsb_release to platform and replace list-all-py to glob"
[tools/mic.git] / setup.py
1 #!/usr/bin/env python
2
3 import os, sys
4 import glob
5 from distutils.core import setup
6 try:
7     import setuptools
8     # enable "setup.py develop", optional
9 except ImportError:
10     pass
11
12 MOD_NAME = 'mic'
13
14 version_path = 'VERSION'
15 if not os.path.isfile(version_path):
16     print 'No VERSION file in topdir, abort'
17     sys.exit(1)
18
19 try:
20     # first line should be the version number
21     version = open(version_path).readline().strip()
22     if not version:
23         print 'VERSION file is invalid, abort'
24         sys.exit(1)
25
26     ver_file = open('%s/__version__.py' % MOD_NAME, 'w')
27     ver_file.write("VERSION = \"%s\"\n" % version)
28     ver_file.close()
29 except IOError:
30     print 'WARNING: Cannot write version number file'
31     pass
32
33 # --install-layout is recognized after 2.5
34 if sys.version_info[:2] > (2, 5):
35     if len(sys.argv) > 1 and 'install' in sys.argv:
36         dist=None
37         import platform
38         try:
39             (dist, ver, id) = platform.linux_distribution()
40         except:
41             pass
42
43         # for debian-like distros, set deb-layout py-lib 
44         if dist in ('debian', 'Ubuntu'):
45             sys.argv.append('--install-layout=deb')
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 setup(name=MOD_NAME,
62       version = version,
63       description = 'New MeeGo Image Creator',
64       author='Jian-feng Ding',
65       author_email='jian-feng.ding@intel.com',
66       url='https://meego.gitorious.org/meego-developer-tools/image-creator',
67       scripts=[
68           'tools/mic',
69           ],
70       packages = PACKAGES,
71       data_files = [("/usr/lib/mic/plugins/imager", IMAGER_PLUGINS),
72                     ("/usr/lib/mic/plugins/backend", BACKEND_PLUGINS),
73                     ("/etc/mic", ["distfiles/mic.conf"])]
74 )
75