aboutsummaryrefslogtreecommitdiff
path: root/setup.py
blob: 09534317dd072ce8b5eda2a35b4e8840e951134b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# $Id$
# 
# Copyright (C) 2014  Dragon Research Labs ("DRL")
# Portions copyright (C) 2011--2013  Internet Systems Consortium ("ISC")
# 
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notices and this permission notice appear in all copies.
# 
# THE SOFTWARE IS PROVIDED "AS IS" AND DRL AND ISC DISCLAIM ALL
# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL DRL OR
# ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
# OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

from distutils.core import setup, Extension
from glob import glob
import setup_extensions

try:
  import setup_autoconf as autoconf

except ImportError:
  class autoconf:
    "Fake autoconf object to let --help work without autoconf."
    sbindir = libexecdir = datarootdir = sysconfdir = ""
    CFLAGS = LDFLAGS = LIBS = CA_TARGET = RP_TARGET = ""

try:
  from rpki.version import VERSION

except ImportError:
  VERSION = "0.0"

# pylint: disable=W0622

setup_args = dict(
  name          = "rpkitoolkit",
  version       = VERSION,
  description   = "RPKI Toolkit",
  license       = "BSD",
  url           = "http://rpki.net/",
  cmdclass      = {"build_scripts"   : setup_extensions.build_scripts,
                   "install_scripts" : setup_extensions.install_scripts},
  packages      = ["rpki",
                   "rpki.POW",
                   "rpki.irdb",
                   "rpki.gui",
                   "rpki.gui.app",
                   "rpki.gui.cacheview",
                   "rpki.gui.api",
                   "rpki.gui.routeview"],
  ext_modules   = [Extension("rpki.POW._POW", ["ext/POW.c"], 
                             extra_compile_args =  autoconf.CFLAGS.split(),
                             extra_link_args    = (autoconf.LDFLAGS + " " +
                                                   autoconf.LIBS).split())],
  package_data  = {"rpki.gui.app" :
                   ["migrations/*.py",
                    "static/*/*",
                    "templates/*.html",
                    "templates/*/*.html",
                    "templatetags/*.py"],
                   "rpki.gui.cacheview" :
                   ["templates/*/*.html"]})

# Add rp stuff here too, eventually.

if autoconf.CA_TARGET == "ca":
  setup_args.update(
    scripts     = [(autoconf.sbindir,
                    ["ca/rpkic",
                     "ca/rpki-confgen",
                     "ca/rpki-start-servers",
                     "ca/rpki-sql-backup",
                     "ca/rpki-sql-setup",
                     "ca/rpki-manage",
                     "ca/rpkigui-query-routes",
                     "ca/irbe_cli"]),
                   (autoconf.libexecdir,
                    ["ca/irdbd",
                     "ca/pubd",
                     "ca/rootd",
                     "ca/rpkid",
                     "ca/rpkigui-import-routes",
                     "ca/rpkigui-check-expired",
                     "ca/rpkigui-rcynic",
                     "ca/rpkigui-apache-conf-gen"])],
    data_files  = [(autoconf.sysconfdir  + "/rpki",
                    ["ca/rpki-confgen.xml"]),
                   (autoconf.datarootdir + "/rpki/wsgi",
                    ["ca/rpki.wsgi"]),
                   (autoconf.datarootdir + "/rpki/media/css",
                    glob("rpki/gui/app/static/css/*")),
                   (autoconf.datarootdir + "/rpki/media/js",
                    glob("rpki/gui/app/static/js/*")),
                   (autoconf.datarootdir + "/rpki/media/img",
                    glob("rpki/gui/app/static/img/*")),
                   (autoconf.datarootdir + "/rpki/upgrade-scripts",
                    glob("ca/upgrade-scripts/*"))])

setup(**setup_args)