Sponson is a tool to create and setup `systemd-nspawn` containers in a Docker-like way, without using Docker.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.1 KiB

  1. # -*- coding: utf-8 -*-
  2. from glob import glob
  3. from setuptools import find_packages
  4. from setuptools import setup
  5. import sponson
  6. from sponson.constants import ETC_DNSMASQ_CONF_DIR
  7. def get_version(fname="sponson/__init__.py"):
  8. with open(fname) as f:
  9. for line in f:
  10. if line.startswith('__version__'):
  11. return eval(line.split('=')[-1])
  12. setup(
  13. name="sponson",
  14. version=get_version(),
  15. packages=find_packages(),
  16. url="https://code.lapwing.org/devops/sponson",
  17. license="GPLv3",
  18. author="Sam Black",
  19. author_email="samwwwblack@lapwing.org",
  20. description="'systemd-nspawn' wrapper",
  21. long_description=sponson.__doc__,
  22. include_package_data=True,
  23. data_files=[
  24. ("/usr/libexec/sponson", glob("services/libexec/*")),
  25. ("/usr/lib/systemd/network", glob("services/systemd/network/*")),
  26. ("/usr/lib/systemd/system", glob("services/systemd/system/*")),
  27. ("/usr/share/dbus-1/system-services",
  28. glob("services/dbus/services/*")),
  29. ("/usr/share/dbus-1/system.d", glob("services/dbus/systemd.d/*")),
  30. ("/etc/bash_completion.d", ["services/sponson-bash-completion.sh"]),
  31. (ETC_DNSMASQ_CONF_DIR, ["services/resolv.conf"])
  32. ],
  33. install_requires=[
  34. "click >= 6.2",
  35. "pyyaml >= 3.11",
  36. "pydbus >= 0.6"
  37. ],
  38. dependency_links=[
  39. ("git+https://code.lapwing.org/git/libraries/"
  40. "pydbus.git@develop#egg=pydbus-0.6.0.1")
  41. ],
  42. entry_points={
  43. "console_scripts": ["sponson = sponson.cli:main"],
  44. },
  45. classifiers=[
  46. "Environment :: Console",
  47. "Development Status :: 3 - Alpha",
  48. "Intended Audience :: Developers",
  49. "Intended Audience :: System Administrators",
  50. ("License :: OSI Approved :: "
  51. "GNU General Public License v3 or later (GPLv3+)"),
  52. "Operating System :: POSIX :: Linux",
  53. "Programming Language :: Python :: 3",
  54. "Programming Language :: Python :: 3.5",
  55. "Programming Language :: Python :: 3.6",
  56. "Programming Language :: Python :: 3 :: Only",
  57. "Topic :: System :: Systems Administration"
  58. ]
  59. )