setup.py 8.32 KB
Newer Older
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
##############################################################################
#
# Copyright (c) 2010-2013 Vifib SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#
##############################################################################
27
from setuptools import setup, find_packages
28 29
import glob
import os
30

31
version = '1.0.373'
32
name = 'slapos.cookbook'
Julien Muchembled's avatar
Julien Muchembled committed
33
long_description = open("README.rst").read()
34

35
for f in sorted(glob.glob(os.path.join('slapos', 'recipe', 'README.*.rst'))):
36
  long_description += '\n' + open(f).read() + '\n'
37

38 39 40 41
extras_require = {
    'test': (
        'jsonschema',
        'mock',
42
        'psycopg2',
43
        'testfixtures',
44
        'requests',
45 46 47
    ),
}

48 49
setup(name=name,
      version=version,
50
      description="SlapOS recipes.",
51 52 53 54 55
      long_description=long_description,
      classifiers=[
          "Framework :: Buildout :: Recipe",
          "Programming Language :: Python",
        ],
56 57 58
      maintainer="Nexedi",
      maintainer_email="info@nexedi.com",
      url="https://lab.nexedi.com/nexedi/slapos",
Łukasz Nowak's avatar
Łukasz Nowak committed
59
      keywords='slapos recipe',
60 61 62 63 64
      license='GPLv3',
      namespace_packages=['slapos', 'slapos.recipe'],
      packages=find_packages(),
      include_package_data=True,
      install_requires=[
65
        'enum34; python_version<"3.4"',  # for inotify-simple
66
        'jsonschema',
67
        'netaddr', # to manipulate on IP addresses
68
        'setuptools', # namespaces
Julien Muchembled's avatar
typo  
Julien Muchembled committed
69
        'inotify_simple',
70
        'lock_file', #another lockfile implementation for multiprocess
71
        'slapos.core', # uses internally
72 73
        'zc.buildout', # plays with buildout
        'zc.recipe.egg', # for scripts generation
74
        'pytz', # for timezone database
75 76
        'passlib',
        'bcrypt',
77 78
        ],
      zip_safe=True,
79 80
      entry_points={
        'zc.buildout': [
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
81
          'addresiliency = slapos.recipe.addresiliency:Recipe',
82
          'apacheperl = slapos.recipe.apacheperl:Recipe',
Antoine Catton's avatar
Antoine Catton committed
83
          'apachephp = slapos.recipe.apachephp:Recipe',
Antoine Catton's avatar
Antoine Catton committed
84
          'apacheproxy = slapos.recipe.apacheproxy:Recipe',
Antoine Catton's avatar
Antoine Catton committed
85
          'certificate_authority = slapos.recipe.certificate_authority:Recipe',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
86 87
          'certificate_authority.request = slapos.recipe.certificate_authority:Request',
          'check_page_content = slapos.recipe.check_page_content:Recipe',
88
          'check_port_listening = slapos.recipe.check_port_listening:Recipe',
89
          'check_url_available = slapos.recipe.check_url_available:Recipe',
90
          'check_parameter = slapos.recipe.check_parameter:Recipe',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
91
          'cloud9 = slapos.recipe.cloud9:Recipe',
92
          'cloudooo.test = slapos.recipe.erp5_test:CloudoooRecipe',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
93
          'copyfilelist = slapos.recipe.copyfilelist:Recipe',
Antoine Catton's avatar
Antoine Catton committed
94
          'cron = slapos.recipe.dcron:Recipe',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
95 96
          'cron.d = slapos.recipe.dcron:Part',
          'dropbear = slapos.recipe.dropbear:Recipe',
Antoine Catton's avatar
Antoine Catton committed
97
          'dropbear.add_authorized_key = slapos.recipe.dropbear:AddAuthorizedKey',
Antoine Catton's avatar
Antoine Catton committed
98
          'dropbear.client = slapos.recipe.dropbear:Client',
Antoine Catton's avatar
Antoine Catton committed
99
          'equeue = slapos.recipe.equeue:Recipe',
Antoine Catton's avatar
Antoine Catton committed
100
          'erp5.promise = slapos.recipe.erp5_promise:Recipe',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
101
          'erp5testnode = slapos.recipe.erp5testnode:Recipe',
102
          'free_port = slapos.recipe.free_port:Recipe',
103 104
          'generate.mac = slapos.recipe.random:Mac',
          'generate.password = slapos.recipe.random:Password',
105
          'generic.cloudooo = slapos.recipe.generic_cloudooo:Recipe',
Antoine Catton's avatar
Antoine Catton committed
106 107
          'generic.kumofs = slapos.recipe.generic_kumofs:Recipe',
          'generic.memcached = slapos.recipe.generic_memcached:Recipe',
108
          'generic.mysql.wrap_update_mysql = slapos.recipe.generic_mysql:WrapUpdateMySQL',
109
          'gitinit = slapos.recipe.gitinit:Recipe',
110 111
          'ipv4toipv6 = slapos.recipe.6tunnel:FourToSix',
          'ipv6toipv4 = slapos.recipe.6tunnel:SixToFour',
112
          'jsondump = slapos.recipe.jsondump:Recipe',
Antoine Catton's avatar
Antoine Catton committed
113
          'logrotate = slapos.recipe.logrotate:Recipe',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
114
          'logrotate.d = slapos.recipe.logrotate:Part',
115
          'mkdirectory = slapos.recipe.mkdirectory:Recipe',
Antoine Catton's avatar
Antoine Catton committed
116
          'nbdserver = slapos.recipe.nbdserver:Recipe',
117
          'neoppod.cluster = slapos.recipe.neoppod:Cluster',
Vincent Pelletier's avatar
Vincent Pelletier committed
118 119 120
          'neoppod.admin = slapos.recipe.neoppod:Admin',
          'neoppod.master = slapos.recipe.neoppod:Master',
          'neoppod.storage = slapos.recipe.neoppod:Storage',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
121
          'notifier = slapos.recipe.notifier:Recipe',
Antoine Catton's avatar
Antoine Catton committed
122 123
          'notifier.callback = slapos.recipe.notifier:Callback',
          'notifier.notify = slapos.recipe.notifier:Notify',
Antoine Catton's avatar
Antoine Catton committed
124
          'onetimeupload = slapos.recipe.onetimeupload:Recipe',
125
          'pbs = slapos.recipe.pbs:Recipe',
126
          'postgres = slapos.recipe.postgres:Recipe',
Antoine Catton's avatar
Antoine Catton committed
127
          'proactive = slapos.recipe.proactive:Recipe',
128
          'promise.plugin= slapos.recipe.promise_plugin:Recipe',
Łukasz Nowak's avatar
Łukasz Nowak committed
129
          'publish = slapos.recipe.publish:Recipe',
130
          'publish.serialised = slapos.recipe.publish:Serialised',
131
          'publish-early = slapos.recipe.publish_early:Recipe',
132
          'publishsection = slapos.recipe.publish:PublishSection',
133
          'publishurl = slapos.recipe.publishurl:Recipe',
134 135
          'publish_failsafe = slapos.recipe.publish:RecipeFailsafe',
          'publish.serialised_failsafe = slapos.recipe.publish:SerialisedFailsafe',
136
          'random.time = slapos.recipe.random:Time',
137
          'random.integer = slapos.recipe.random:Integer',
138
          'readline = slapos.recipe.readline:Recipe',
139
          'redis.server = slapos.recipe.redis:Recipe',
140
          'request = slapos.recipe.request:Recipe',
141
          'request.serialised = slapos.recipe.request:RequestJSONEncoded',
142
          'request.edge = slapos.recipe.request:RequestEdge',
143
          'requestoptional = slapos.recipe.request:RequestOptional',
144 145
          'requestoptional.serialised = '
          'slapos.recipe.request:RequestOptionalJSONEncoded',
146
          're6stnet.registry = slapos.recipe.re6stnet:Recipe',
Antoine Catton's avatar
Antoine Catton committed
147 148
          'shell = slapos.recipe.shell:Recipe',
          'signalwrapper= slapos.recipe.signal_wrapper:Recipe',
149
          'simplelogger = slapos.recipe.simplelogger:Recipe',
150
          'simplehttpserver = slapos.recipe.simplehttpserver:Recipe',
Antoine Catton's avatar
Antoine Catton committed
151
          'slapconfiguration = slapos.recipe.slapconfiguration:Recipe',
152
          'slapconfiguration.serialised = slapos.recipe.slapconfiguration:Serialised',
153
          'slapconfiguration.jsonschema = slapos.recipe.slapconfiguration:JsonSchema',
154
          'slapconfiguration.jsondump = slapos.recipe.slapconfiguration:JsonDump',
155
          'squid = slapos.recipe.squid:Recipe',
Antoine Catton's avatar
Antoine Catton committed
156
          'sshkeys_authority = slapos.recipe.sshkeys_authority:Recipe',
Cédric de Saint Martin's avatar
Cédric de Saint Martin committed
157
          'sshkeys_authority.request = slapos.recipe.sshkeys_authority:Request',
158
          'switch-softwaretype = slapos.recipe.switch_softwaretype:Recipe',
Antoine Catton's avatar
Antoine Catton committed
159 160
          'symbolic.link = slapos.recipe.symbolic_link:Recipe',
          'tidstorage = slapos.recipe.tidstorage:Recipe',
161
          'trac = slapos.recipe.trac:Recipe',
162
          'urlparse = slapos.recipe._urlparse:Recipe',
Antoine Catton's avatar
Antoine Catton committed
163
          'uuid = slapos.recipe._uuid:Recipe',
164
          'userinfo = slapos.recipe.userinfo:Recipe',
Antoine Catton's avatar
Antoine Catton committed
165
          'wrapper = slapos.recipe.wrapper:Recipe',
166
          'zabbixagent = slapos.recipe.zabbixagent:Recipe',
167 168
          'zero-knowledge.read = slapos.recipe.zero_knowledge:ReadRecipe',
          'zero-knowledge.write = slapos.recipe.zero_knowledge:WriteRecipe'
169 170
        ],
      },
171
      extras_require=extras_require,
172
      test_suite='slapos.test',
173
      tests_require=extras_require['test'],
174
    )