setup.py
author Tero Marttila <terom@paivola.fi>
Mon, 09 Mar 2015 23:31:13 +0200
changeset 738 3104fdf7ea26
parent 737 6ba76ac0bc72
child 740 74352351d6f5
permissions -rw-r--r--
pvl.hosts.hosts: drop support for instanced ip.* in favor of improved interface:ip.* =
#!/usr/bin/env python
# encoding: utf-8

from distutils.core import setup
from glob import glob

def _globs (*pats) :
    for pat in pats :
        for file in glob(pat) :
            yield file

def globs (*pats) :
    return list(_globs(*pats))

# TODO: fix to use PEP-396 once available:
#   https://www.python.org/dev/peps/pep-0396/#classic-distutils
for line in open('pvl/hosts/__init__.py'):
    if '__version__' in line:
        _, line_version = line.split('=')
        __version__ = line_version.strip().strip("''")

setup(
    name            = 'pvl-hosts',
    version         = __version__,
    description     = "DNS/DHCP hosts management",
    url             = 'http://verkko.paivola.fi/hg/pvl-hosts',

    author          = "Tero Marttila",
    author_email    = "terom@paivola.fi",
    
    # deps
    install_requires    = [
        # pvl.args
        # pvl.invoke
        'pvl-common',

        # pvl.hosts
        # TODO: replace with ipaddress for py3 forward-compat
        'ipaddr',
    ],
    extras_require = {
        # pvl.hosts-import
        'import': [
            'pvl-ldap',
        ],

        # pvl.dhcp-leases/syslog
        'db': [
            'sqlalchemy',
        ],
    },
    
    # pvl/
    namespace_packages = [ 'pvl' ],
    packages    = [
        'pvl.dhcp',
        'pvl.dns',
        'pvl.hosts',
    ],
    py_modules  = [
        'pvl.dot',
    ],

    # lib/pvl
    data_files = [
        ('lib/pvl',             globs('lib/pvl/*.sh')),
        ('lib/pvl/apply',       globs('lib/pvl/apply/*.sh')),
        ('lib/pvl/commit',      globs('lib/pvl/commit/*.sh')),
        ('lib/pvl/hosts',       globs('lib/pvl/hosts/*.sh')),
    ],
    
    # bin/
    scripts     = globs(
        'bin/pvl.dhcp-*',
        'bin/pvl.dns-*',
        'bin/pvl.hosts-*',
   ),
)