2012-10-25 15:42:38 +00:00
|
|
|
from distutils.core import setup
|
2019-10-18 08:24:11 +00:00
|
|
|
from distutils.errors import DistutilsError
|
2012-10-29 21:18:32 +00:00
|
|
|
import os
|
2014-02-07 23:44:47 +00:00
|
|
|
import re
|
2019-10-17 18:48:52 +00:00
|
|
|
import subprocess
|
|
|
|
|
|
|
|
|
2019-10-18 08:24:11 +00:00
|
|
|
# We have it only if it is a git cloned repo.
|
|
|
|
build_helper = os.path.join('bin', 'build-helper')
|
|
|
|
# Version file path.
|
|
|
|
version_file = os.path.join('cdist', 'version.py')
|
|
|
|
# If we have build-helper we could be a git repo.
|
|
|
|
if os.path.exists(build_helper):
|
|
|
|
# Try to generate version.py.
|
|
|
|
rv = subprocess.run([build_helper, 'version', ])
|
|
|
|
if rv.returncode != 0:
|
|
|
|
raise DistutilsError("Failed to generate {}".format(version_file))
|
|
|
|
else:
|
|
|
|
# Otherwise, version.py should be present.
|
|
|
|
if not os.path.exists(version_file):
|
|
|
|
raise DistutilsError("Missing version file {}".format(version_file))
|
2019-10-17 18:48:52 +00:00
|
|
|
|
|
|
|
|
2019-11-27 13:59:25 +00:00
|
|
|
import cdist # noqa
|
2012-10-29 21:18:32 +00:00
|
|
|
|
2016-07-10 09:09:09 +00:00
|
|
|
|
2012-10-29 21:18:32 +00:00
|
|
|
def data_finder(data_dir):
|
|
|
|
entries = []
|
|
|
|
for name in os.listdir(data_dir):
|
2014-01-14 10:35:24 +00:00
|
|
|
|
|
|
|
# Skip .gitignore files
|
|
|
|
if name == ".gitignore":
|
|
|
|
continue
|
|
|
|
|
2014-02-07 23:44:47 +00:00
|
|
|
# Skip vim swp files
|
|
|
|
swpfile = re.search(r'^\..*\.swp$', name)
|
|
|
|
if swpfile:
|
|
|
|
continue
|
|
|
|
|
2012-10-29 21:18:32 +00:00
|
|
|
entry = os.path.join(data_dir, name)
|
|
|
|
if os.path.isdir(entry):
|
|
|
|
entries.extend(data_finder(entry))
|
|
|
|
else:
|
|
|
|
entries.append(entry)
|
|
|
|
|
|
|
|
return entries
|
|
|
|
|
2019-02-15 19:34:45 +00:00
|
|
|
|
2012-10-29 21:50:27 +00:00
|
|
|
cur = os.getcwd()
|
|
|
|
os.chdir("cdist")
|
2012-10-29 21:18:32 +00:00
|
|
|
package_data = data_finder("conf")
|
2012-10-29 21:50:27 +00:00
|
|
|
os.chdir(cur)
|
2012-10-29 21:18:32 +00:00
|
|
|
|
2016-07-10 09:09:09 +00:00
|
|
|
|
2012-10-25 15:42:38 +00:00
|
|
|
setup(
|
2016-07-10 09:09:09 +00:00
|
|
|
name="cdist",
|
|
|
|
packages=["cdist", "cdist.core", "cdist.exec", "cdist.util", ],
|
2012-10-29 21:18:32 +00:00
|
|
|
package_data={'cdist': package_data},
|
2019-12-20 22:10:47 +00:00
|
|
|
scripts=["scripts/cdist", "scripts/cdist-new-type"],
|
2016-07-10 09:09:09 +00:00
|
|
|
version=cdist.version.VERSION,
|
|
|
|
description="A Usable Configuration Management System",
|
|
|
|
author="Nico Schottelius",
|
|
|
|
author_email="nico-cdist-pypi@schottelius.org",
|
2019-05-08 21:38:43 +00:00
|
|
|
url="https://www.cdi.st/",
|
2016-07-10 09:09:09 +00:00
|
|
|
classifiers=[
|
2012-10-25 15:42:38 +00:00
|
|
|
"Development Status :: 6 - Mature",
|
|
|
|
"Environment :: Console",
|
|
|
|
"Intended Audience :: System Administrators",
|
2019-11-27 13:59:25 +00:00
|
|
|
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", # noqa
|
2012-10-25 15:42:38 +00:00
|
|
|
"Operating System :: MacOS :: MacOS X",
|
|
|
|
"Operating System :: POSIX",
|
|
|
|
"Operating System :: POSIX :: BSD",
|
|
|
|
"Operating System :: POSIX :: Linux",
|
|
|
|
"Operating System :: Unix",
|
|
|
|
"Programming Language :: Python",
|
|
|
|
"Programming Language :: Python :: 3",
|
|
|
|
"Topic :: System :: Boot",
|
|
|
|
"Topic :: System :: Installation/Setup",
|
|
|
|
"Topic :: System :: Operating System",
|
|
|
|
"Topic :: System :: Software Distribution",
|
|
|
|
"Topic :: Utilities"
|
|
|
|
],
|
2016-07-10 09:09:09 +00:00
|
|
|
long_description='''
|
2012-10-25 15:42:38 +00:00
|
|
|
cdist is a usable configuration management system.
|
2016-07-10 09:09:09 +00:00
|
|
|
It adheres to the KISS principle and is being used in small up to
|
|
|
|
enterprise grade environments.
|
|
|
|
cdist is an alternative to other configuration management systems like
|
2012-10-26 05:36:07 +00:00
|
|
|
cfengine, bcfg2, chef and puppet.
|
2012-10-25 15:42:38 +00:00
|
|
|
'''
|
|
|
|
)
|