diff options
Diffstat (limited to 'rpkid/doc/Installation')
-rw-r--r-- | rpkid/doc/Installation | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/rpkid/doc/Installation b/rpkid/doc/Installation deleted file mode 100644 index 5e9d01fa..00000000 --- a/rpkid/doc/Installation +++ /dev/null @@ -1,150 +0,0 @@ -RPKI Engine  1.0 - -* MainÂ_Page -* RelatedÂ_Pages -* Packages -* Classes -* Files -* [Search ] - -* RPKI_Engine_Reference_Manual - -Installation Guide - -Installation instructions for rpkid et al. - -These are the production-side RPKI tools, for Internet Registries (RIRs, LIRs, -etc). See the "rcynic" program for relying party tools. - -rpkid is a set of Python modules supporting generation and maintenance of -resource certificates. Most of the code is in the rpkid/rpki/ directory. rpkid -itself is a relatively small program that calls the library modules. There are -several other programs that make use of the same libraries, as well as a -collection of test programs. - -At present the package is intended to be run out of its build directory. -Setting up proper installation in a system area using the Python distutils -package would likely not be very hard but has not yet been done. - -Note that initial development of this code has been on FreeBSD, so installation -will probably be easiest on FreeBSD. - -Before attempting to build the package, you need to install any missing -prerequisites. Note that the Python code requires Python version 2.5 or 2.6. -rpkid et al are mostly self-contained, but do require a small number of -external packages to run. - -* If your Python installation does not already include the sources files needed - to compile new Python extension modules, you will need to install whatever - package does include those source files. The need for and name of this - package varies from system to system. On FreeBSD, the base Python interpreter - package includes the development sources; on at least some Linux - distributions, you have to install a separate "python-devel" package or - something similar. If you get compilation errors trying to build the POW code - (below) and the error message says something about the file "Python.h" being - missing, this is almost certainly your problem. - -* http://codespeak.net/lxml/, a Pythonic interface to the Gnome LibXML2 - libraries. lxml in turn requires the LibXML2 C libraries. - - o FreeBSD: /usr/ports/devel/py-lxml - o Fedora: python-lxml.i386 - o Ubuntu: python-lxml - -* http://sourceforge.net/projects/mysql-python/, the Python "db" interface to - MySQL. MySQLdb in turn requires MySQL client and server. rpkid et al have - been tested with MySQL 5.0 and 5.1. - - o FreeBSD: /usr/ports/databases/py-MySQLdb - o Fedora: MySQL-python.i386 - o Ubuntu: python-mysqldb - -rpkid et al also make heavy use of a modified copy of the Python OpenSSL -Wrappers (POW) package, but this copy has enough modifications and additions -that it's included in the subversion tree. - -The next step is to build the OpenSSL and POW binaries. At present the OpenSSL -code is just a snapshot of the OpenSSL development sources, compiled with -special options to enable RFC 3779 support that ISC wrote under previous -contract to ARIN. The POW (Python OpenSSL Wrapper) library is an extended copy -of the stock POW release. - -To build these, cd to the top-level directory in the distribution, run the -configure script, then run "make": - - $ cd $top - $ ./configure - $ make - -This should automatically build everything, in the right order, including -linking the POW extension module with the OpenSSL library to provide RFC 3779 -support. If you get errors building POW, see the above discussion of Python -development sources. - -The architecture is intended to support hardware signing modules (HSMs), but -the code to support them has not been written. - -At this point, you should have all the necessary software installed to run the -core programs, but you will probably want to test it. The test suite requires a -few more external packages, only one of which is Python code. - -* http://pyyaml.org/. Several of the test programs use PyYAML to parse a YAML - description of a simulated allocation hierarchy to test. - - o FreeBSD: /usr/ports/devel/py-yaml - o Ubuntu: python-yaml - -* http://xmlsoft.org/XSLT/. Some of the test code uses xsltproc, from the Gnome - LibXSLT package. - - o FreeBSD: /usr/ports/textproc/libxslt - o Ubuntu: xsltproc - -All tests should be run from the rpkid/ directories. - -Some of the tests require MySQL databases to store their data. To set up all -the databases that the tests will need, run the SQL commands in rpkid/tests/ -smoketest.setup.sql. The MySQL command line client is usually the easiest way -to do this, eg: - - $ cd $top/rpkid - $ mysql -u root -p <tests/smoketest.setup.sql - -To run the tests, run "make all-tests": - - $ cd $top/rpkid - $ make all-tests - -If nothing explodes, your installation is probably ok. Any Python backtraces in -the output indicate a problem. - -There's a last set of tools that only developers should need, as they're only -used when modifying schemas or regenerating the documentation. These tools are -listed here for completeness. - -* http://www.doxygen.org/. Doxygen in turn pulls in several other tools, - notably Graphviz, pdfLaTeX, and Ghostscript. - - o FreeBSD: /usr/ports/devel/doxygen - o Ubuntu: doxygen - -* http://www.mbayer.de/html2text/. The documentation build process uses - xsltproc and html2text to dump flat text versions of a few critical - documentation pages. - - o FreeBSD: /usr/ports/textproc/html2text - -* http://www.thaiopensource.com/relaxng/trang.html. Trang is used to convert - RelaxNG schemas from the human-readable "compact" form to the XML form that - LibXML2 understands. Trang in turn requires Java. - - o FreeBSD: /usr/ports/textproc/trang - -* http://search.cpan.org/dist/SQL-Translator/. SQL-Translator, also known as - "SQL Fairy", includes code to parse an SQL schema and dump a description of - it as Graphviz input. SQL Fairy in turn requires Perl. - - o FreeBSD: /usr/ports/databases/p5-SQL-Translator - -Once you've finished with installation, the next thing you should read is the -Configuration_Guide. |