Commit 7f1c58dc authored by Maciej Delmanowski's avatar Maciej Delmanowski

Include DebOps roles and playbooks in PyPI package

This should make the Python DebOps package on PyPI a bit more useful,
and provide simple, stable releases in the future. The DebOps monorepo
can still be installed manually if needed.

The DebOps scripts don't support the included roles and playbooks yet,
this will be implemented before the next release.
parent 28a1cfbd
......@@ -65,6 +65,11 @@ Added
`GitLab CI <https://about.gitlab.com/>`_ instance, with Vagrant, KVM and LXC
technologies and some custom scripts.
- DebOps roles and playbooks will be included in the Python packages released
on PyPI. This will allow for easier installation of DebOps via :command:`pip`
(no need to download the roles and playbooks separately) as well as simple
stable releases. The DebOps monorepo can still be installed separately.
Changed
~~~~~~~
......
# Python package manifest
# Package Ansible roles and playbooks. They will be located inside of the
# 'debops' package to not conflict with the Ansible project itself.
# To make this possible, the setup script will symlink the existing 'ansible/'
# directory to 'debops/ansible/' during package creation.
graft debops/ansible
global-exclude *.py[cod] __pycache__ *.so *.swp *.retry .fuse_hidden*
# Include other files as package data
include debops/padlock-script
include README.md
......
......@@ -17,52 +17,62 @@ README = open('README.md').read()
RELEASE = os.popen('git describe').read().strip().lstrip('v')
setup(
name="debops",
version=RELEASE,
install_requires=['netaddr', 'argparse', 'passlib', 'ansible'],
try:
# Symlink the 'ansible/' directory inside of the 'debops/' Python package
# directory. The files will be included in the package using the
# MANIFEST.in file. This requires 'python-setuptools' APT package from
# 'jessie-backports' repository.
os.symlink('../ansible', 'debops/ansible')
setup(
name="debops",
version=RELEASE,
install_requires=['netaddr', 'argparse', 'passlib', 'ansible'],
scripts=SCRIPTS,
packages=find_packages(exclude=['tests']),
include_package_data=True,
scripts=SCRIPTS,
packages=find_packages(exclude=['tests']),
include_package_data=True,
# metadata for upload to PyPI
author="DebOps Developers",
author_email="debops-users@lists.debops.org",
description="Your Debian-based data center in a box",
long_description=README,
license="GPL-3.0",
keywords="ansible",
url="https://debops.org/",
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4',
download_url="https://github.com/debops/debops"
"/archive/v" + RELEASE + ".tar.gz",
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: Information Technology',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: GNU General Public License v3 '
'or later (GPLv3+)',
'Natural Language :: English',
'Operating System :: POSIX',
'Programming Language :: Other Scripting Engines',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Topic :: System :: Installation/Setup',
'Topic :: System :: Systems Administration',
'Topic :: Utilities'
],
# metadata for upload to PyPI
author="DebOps Developers",
author_email="debops-users@lists.debops.org",
description="Your Debian-based data center in a box",
long_description=README,
license="GPL-3.0",
keywords="ansible debian sysadmin",
url="https://debops.org/",
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, '
'!=3.3.*, !=3.4.*, <4',
download_url="https://github.com/debops/debops"
"/archive/v" + RELEASE + ".tar.gz",
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Console',
'Intended Audience :: Information Technology',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: GNU General Public License v3 '
'or later (GPLv3+)',
'Natural Language :: English',
'Operating System :: POSIX',
'Programming Language :: Other Scripting Engines',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Topic :: System :: Installation/Setup',
'Topic :: System :: Systems Administration',
'Topic :: Utilities'
],
# these are for easy_install (used by bdist_*)
zip_safe=True
# entry_points = {
# "console_scripts": [
# "debops = debops.cmds.main:run",
# ],
# },
)
# these are for easy_install (used by bdist_*)
zip_safe=True
# entry_points = {
# "console_scripts": [
# "debops = debops.cmds.main:run",
# ],
# },
)
finally:
# Unlink the symlinked 'ansible/' directory
os.unlink('debops/ansible')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment