You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
suricata/python/setup.py

75 lines
2.4 KiB
Python

from __future__ import print_function
import os
import re
import sys
import shutil
from distutils.core import setup
from distutils.command.build_py import build_py
# Get the Suricata version from configure.ac.
version = None
if os.path.exists("../configure.ac"):
with open("../configure.ac", "r") as conf:
for line in conf:
if line.find("AC_INIT") > 1:
m = re.search("AC_INIT\(\[suricata\],\[(\d.+)\]\)", line)
if m:
version = m.group(1)
break
else:
print("error: failed to parse Suricata version from: %s" % (
line.strip()), file=sys.stderr)
sys.exit(1)
if version is None:
print("error: failed to find Suricata version", file=sys.stderr)
sys.exit(1)
class do_build(build_py):
def run(self):
build_py.run(self)
defaults_py_out = os.path.join(
self.build_lib, "suricata", "config", "defaults.py")
if not os.path.exists(defaults_py_out):
# Must be an out of tree build, find defaults.py.
defaults_py_in = os.path.join(
self.build_lib, "..", "suricata", "config", "defaults.py")
if os.path.exists(defaults_py_in):
shutil.copy(defaults_py_in, defaults_py_out)
else:
print("error: failed to find defaults.py")
sys.exit(1)
setup(
name="suricata",
description="Suricata control tools",
version=version,
author='OISF Developers, Eric Leblond',
author_email='oisf-devel@lists.openinfosecfoundation.org, eric@regit.org',
url='https://www.suricata-ids.org/',
packages=[
"suricata",
"suricata.config",
"suricata.ctl",
"suricata.sc",
"suricatasc",
],
scripts=[
"bin/suricatactl",
"bin/suricatasc",
],
provides=['suricatactl', 'suricatasc'],
requires=['argparse','simplejson'],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: GNU General Public License (GPL)',
'Operating System :: POSIX',
'Programming Language :: Python',
'Topic :: System :: Systems Administration',
],
cmdclass={'build_py': do_build},
)