~lamont/maas/bug-1599223-2.0

4827.1.1 by Gavin Panella
Update copyright headers.
1
# Copyright 2012-2016 Canonical Ltd.  This software is licensed under the
10.1.4 by Julian Edwards
Add hashbang and copyright to setup.py
2
# GNU Affero General Public License version 3 (see the file LICENSE).
3
4489.5.31 by Gavin Panella
Get setup.py working with Python 3.5.
4
"""Setuptools installer for MAAS."""
23.1.2 by Gavin Panella
Top-of-file boilerplate.
5
1501.1.6 by Jeroen Vermeulen
Glob the PXE templates into setup.py.
6
from glob import glob
33.2.11 by Gavin Panella
Sorry, read() in setup.py got the better of me.
7
from os.path import (
8
    dirname,
9
    join,
3629.7.3 by ubuntudotcom1
Make format.
10
)
16.3.14 by Gavin Panella
Fix lint.
11
12
from setuptools import (
13
    find_packages,
14
    setup,
3629.7.3 by ubuntudotcom1
Make format.
15
)
16.3.14 by Gavin Panella
Fix lint.
16
4489.5.31 by Gavin Panella
Get setup.py working with Python 3.5.
17
# The directory in which setup.py lives.
18
here = dirname(__file__)
1505.2.6 by Jeroen Vermeulen
Get setup.py to import list_snippets.
19
20
33.2.11 by Gavin Panella
Sorry, read() in setup.py got the better of me.
21
def read(filename):
22
    """Return the whitespace-stripped content of `filename`."""
4489.5.31 by Gavin Panella
Get setup.py working with Python 3.5.
23
    path = join(here, filename)
24
    with open(path, "r") as fin:
33.2.11 by Gavin Panella
Sorry, read() in setup.py got the better of me.
25
        return fin.read().strip()
26
1 by Raphael Badin
Initial commit.
27
28
setup(
29
    name="maas",
4489.5.31 by Gavin Panella
Get setup.py working with Python 3.5.
30
    version="1.10a1",
1 by Raphael Badin
Initial commit.
31
    url="https://launchpad.net/maas",
171.4.9 by Francis J. Lacoste
Remerge changes to load from site-packages.
32
    license="AGPLv3",
668.1.2 by Gavin Panella
Update docstring and package metadata, including author email.
33
    description="Metal As A Service",
634.3.10 by Gavin Panella
Load the correct README.
34
    long_description=read('README'),
1 by Raphael Badin
Initial commit.
35
288.2.2 by Gavin Panella
Change MaaS to MAAS everywhere.
36
    author="MAAS Developers",
668.1.3 by Gavin Panella
Fix the author email address.
37
    author_email="maas-devel@lists.launchpad.net",
1 by Raphael Badin
Initial commit.
38
38.2.5 by Gavin Panella
Add MANIFEST.in and find only production packages in setup.py.
39
    packages=find_packages(
4489.5.31 by Gavin Panella
Get setup.py working with Python 3.5.
40
        where='src',
38.2.5 by Gavin Panella
Add MANIFEST.in and find only production packages in setup.py.
41
        exclude=[
4489.5.31 by Gavin Panella
Get setup.py working with Python 3.5.
42
            "*.testing",
43
            "*.tests",
44
            "maastesting",
45
        ],
46
    ),
47
    package_dir={'': 'src'},
237.1.1 by Francis J. Lacoste
Install data files.
48
    include_package_data=True,
20.1.1 by Dave Walker (Daviey)
Trivial changes to make PEP8 compliant.
49
703.1.1 by Andres Rodriguez
setup.py: Install data_files that are required by maas, rather than manually copy them on packaging
50
    data_files=[
51
        ('/etc/maas',
4189.1.1 by Andres Rodriguez
Move maas-http.conf to /usr/share/maas
52
            ['etc/maas/drivers.yaml']),
2202.1.1 by Andres Rodriguez
Install UEFI templates
53
        ('/etc/maas/templates/uefi',
54
            glob('etc/maas/templates/uefi/*.template')),
1505.1.3 by Jeroen Vermeulen
Include DNS templates in setup.py.
55
        ('/etc/maas/templates/dns',
56
            glob('etc/maas/templates/dns/*.template')),
1501.1.6 by Jeroen Vermeulen
Glob the PXE templates into setup.py.
57
        ('/etc/maas/templates/pxe', glob('etc/maas/templates/pxe/*.template')),
1505.2.11 by Jeroen Vermeulen
Rename etc/maas/templates/user-data to commissioning-user-data.
58
        ('/etc/maas/templates/commissioning-user-data',
59
            glob('etc/maas/templates/commissioning-user-data/*.template')),
60
        ('/etc/maas/templates/commissioning-user-data/snippets',
1976.1.1 by Andres Rodriguez
Install shell snippets
61
            glob('etc/maas/templates/commissioning-user-data/snippets/*.py') +
62
            glob('etc/maas/templates/commissioning-user-data/snippets/*.sh')),
703.1.1 by Andres Rodriguez
setup.py: Install data_files that are required by maas, rather than manually copy them on packaging
63
        ('/usr/share/maas',
4189.1.1 by Andres Rodriguez
Move maas-http.conf to /usr/share/maas
64
            ['contrib/maas-rsyslog.conf',
65
             'contrib/maas-http.conf']),
1504.1.1 by Andres Rodriguez
Install preseeds in /etc/maas/preseeds
66
        ('/etc/maas/preseeds',
703.1.1 by Andres Rodriguez
setup.py: Install data_files that are required by maas, rather than manually copy them on packaging
67
            ['contrib/preseeds_v2/commissioning',
68
             'contrib/preseeds_v2/enlist',
940.1.1 by Andres Rodriguez
Install enlist_userdata preseed
69
             'contrib/preseeds_v2/enlist_userdata',
1599.3.14 by Raphael Badin
Fix setup.py.
70
             'contrib/preseeds_v2/curtin',
71
             'contrib/preseeds_v2/curtin_userdata',
2433.1.1 by Blake Rouse
Add suse support.
72
             'contrib/preseeds_v2/curtin_userdata_centos',
3061.1.2 by Blake Rouse
Add preseed for custom images. Add tests.
73
             'contrib/preseeds_v2/curtin_userdata_custom',
2433.1.1 by Blake Rouse
Add suse support.
74
             'contrib/preseeds_v2/curtin_userdata_suse',
4581.2.1 by Blake Rouse
Remove all of the debian installer.
75
             'contrib/preseeds_v2/curtin_userdata_windows']),
2935.1.2 by Jason Hobbs
combine /usr/bin entries
76
        ('/usr/bin',
77
            ['scripts/maas-generate-winrm-cert',
78
             'scripts/uec2roottar']),
4814.1.1 by Blake Rouse
Update DHCP template to use maas-dhcp-notify wrapper to not slow down dhcpd when its committing a lease.
79
        ('/usr/sbin',
4808.1.12 by Blake Rouse
Fix reference in setup.py to maas-dhcp-notify.
80
            ['scripts/maas-dhcp-helper']),
703.1.1 by Andres Rodriguez
setup.py: Install data_files that are required by maas, rather than manually copy them on packaging
81
    ],
82
20.1.1 by Dave Walker (Daviey)
Trivial changes to make PEP8 compliant.
83
    classifiers=[
4489.5.6 by Gavin Panella
Begin migration to Python 3.5.
84
        'Development Status :: 5 - Production/Stable',
85
        'Intended Audience :: Information Technology',
86
        'Intended Audience :: System Administrators',
87
        'License :: OSI Approved :: GNU Affero General Public License v3',
88
        'Operating System :: POSIX :: Linux',
89
        'Programming Language :: JavaScript',
1 by Raphael Badin
Initial commit.
90
        'Programming Language :: Python',
4489.5.6 by Gavin Panella
Begin migration to Python 3.5.
91
        'Topic :: System :: Systems Administration',
4489.5.31 by Gavin Panella
Get setup.py working with Python 3.5.
92
    ],
171.4.9 by Francis J. Lacoste
Remerge changes to load from site-packages.
93
)