diff options
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..86f40983 --- /dev/null +++ b/setup.py @@ -0,0 +1,110 @@ +# $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}) + +# If and when we start using setup.py to install RP scripts or start +# trying to separate RP and CA modules in the rpki package tree, we'll +# need to do something about sharing "packages", "scripts", etc. +# Write that code when we need it. + +if autoconf.RP_TARGET == "rp": + setup_args.update( + 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"]}) + +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) |