****************************************************

         OVAL SQL & XML Definition Interpreters

           Build Instructions - Red Hat Linux

    Copyright (c) 2004 - The MITRE Corporation

****************************************************

The MITRE Corporation developed the Definition Interpreters to 
demonstrate the usability of OVAL definitions in both the XML and 
SQL formats.  The source for the Interpreters is freely available
for reference use. This document describes the steps you need to
build each of the OVAL Definition Interpreters.

For information about using the Interpreters refer to the ReadMe.txt
file included with each Interpreter, or the OVAL Web site.

      XML Definition Interpreter:
      http://oval.mitre.org/oval/download/README_xml.html 

      SQL Definition Interpreter:
      http://oval.mitre.org/oval/download/README_sql.html 

BY USING THE INTERPRETERS, YOU SIGNIFY YOUR ACCEPTANCE OF THE
TERMS AND CONDITIONS OF USE.  IF YOU DO NOT AGREE TO THESE TERMS,
DO NOT USE THE INTERPRETER.  SEE THE TERMS.TXT FILE INCLUDED WITH
THE INTERPRETER, OR http://oval.mitre.org/oval/termsofuse.html.


-- CONTENTS --

  I    OVERVIEW
        A. Source Distribution
        B. Source Distribution Contents
        C. Supporting Libraries
  II   SQL DEFINITION INTERPRETER
        A. PCRE Library
        B. SQLite Library
        C. Building the SQL Definition Interpreter
  III  XML DEFINITION INTERPRETER
        A. PCRE Library
        B. Xerces Library
        C. Building the XML Definition Interpreter
  IV   PCRE
  V    SQLite
  VI   XERCES
  VI I REPORTING PROBLEMS

-- I -- OVERVIEW --

Download the appropriate installation files from the OVAL Web site.

  A. Source Distributions

       The source for the Interpreters is freely available on the OVAL
       Web site.  There is currently a bzipped tarball for linux users 
       that contains all the source code as well as a Makefile for 
       each interpreter.  To download the source go to:

            http://oval.mitre.org/oval/download/interpreter.html

  B. Source Distribution Contents

       The source code distribution contains the source for
       both the XML & SQL Definition Interpreters. The source distribution
       does not include the source for the libraries needed to compile the
       Interpreters.


  C. Supporting Libraries

       The Interpreters rely on several c/c++ libraries that can be found
       on the web.  The supporting libraries are not included in the source
       distribution of the Interpreters.  See sections IV - VI for more 
       information about the specific libraries used and where to download
       their source from.
     
       
-- II -- SQL DEFINITION INTERPRETER --

The following instructions describe how to build the OVAL SQL Definition 
Interpreter on a Linux system.  The SQL Definition Interpreter has been
built on Red Hat Linux and tested on Red Hat Enterprise Linux 3 and Red 
Hat 9.  The source distribution includes a Makefile that has can be used 
to build the Interpreter.  Before the Interpreter can be built, the 
supporting libraries must be installed. Follow the instructions below to 
setup and install the supporting libraries.

  A. PCRE (Perl-compatible regular-expression) Library
 
       Red Hat Enterprise 3 and Red Hat 9 generally include the PCRE 
       library.  If it has not been installed your system, it is easiest
       to simply install the pcre-devel RPM, available from Red Hat via
       your install media or Internet download method.

  B. SQLite Library

       The OVAL Query Interpreter uses the open source SQLite.  From the
       SQLite Web site:

       "SQLite is a C library that implements an embedable SQL database
       engine...SQLite is not a client library used to connect to a big
       database server.  SQLite is the server.  The SQLite library reads
       and writes directly to and from the database files on disk."

       By default, the database file created by the OVAL Query Interpreter 
       is called 'data.slt'.

       We use the sqlite-2.8.13-1.i386.rpm and sqlite-devel-2.8.13-1.i386.rpm 
       RPMS, which you can download from:

          http://www.sqlite.org/sqlite-2.8.13-1.i386.rpm
       and
          http://www.sqlite.org/sqlite-devel-2.8.13-1.i386.rpm

       For more information about SQLite, or to download the source code 
       for the database engine, please visit the SQLite Web site at
       http://www.sqlite.org.


       Note: Our ovalqi RPM places a pre-compiled copy of this library into
             /usr/lib/ovalqi to reduce the dependencies that an unsophisticated
	     user would need to resolve.


  C. Building the SQL Definition Interpreter

      After setting up the PCRE and SQLite libraries, decompress the 
      source tarball into a directory.  Change into the following
      directory:

         <installed path>\Interpreters\project\redhat\QueryInterpreter

      From that directory, simply run "make" to build the SQL Definition
      Interpreter.


-- III -- XML DEFINITION INTERPRETER --

The following instructions describe how to build the OVAL XML Definition 
Interpreter on a Red Hat system.  The XML Definition Interpreter has been
built on Red Hat and tested on Red Hat Enterprise Linux 3 and Red Hat 9.
The source distribution includes a makefile that has can be used to
build the Interpreter.  Before the Interpreter can be built the supporting
libraries must be installed. Follow the instruction below to setup and install
the supporting libraries.

  A. PCRE (Perl-compatible regular-expression) Library
 
       Red Hat Enterprise 3 and Red Hat 9 generally include the PCRE 
       library.  If it has not been installed your system, it is easiest
       to simply install the pcre-devel RPM, available from Red Hat via
       your install media or Internet download method.

  B. Xerces Library

       The Definition Interpreter uses the open source Xerces library.  The
       binary was compiled with version 2.5 of the xerces-c library.  From
       the Xerces Web site:

         "This product includes software developed by the Apache Software
	 Foundation (http://www.apache.org/)."

       For more information about Xerces visit:

         http://xml.apache.org

       The source code is also available at the above Web site.

       Note: Our ovaldi RPM places a pre-compiled copy of this library into
             /usr/lib/ovaldi to reduce the dependencies that an unsophisticated
	     user would need to resolve.

  C. Building the XML Definition Interpreter

      After installing the PCRE and Xerces libraries, change into the 
      directory:

        <installed path>\Interpreters\project\redhat\DefinitionInterpreter

      From that directory, simply run "make" to build the XML Definition
      Interpreter.

 
-- IV -- PCRE --

The Interpreters use the open source PCRE library.  The Interpreters
currently use version 4.4 of the PCRE library.  From the PCRE Web site:

  "Regular expression support is provided by the PCRE library 
   package, which is open source software, written by Philip Hazel,
   and copyright by the University of Cambridge, England."

For more information about PCRE visit:

    http://www.pcre.org

To download the source code for PCRE, please use the following ftp
site:

    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

-- V -- SQLite --

The OVAL Query Interpreter uses the open source SQLite.  From the
SQLite Web site:

  "SQLite is a C library that implements an embedable SQL database
  engine...SQLite is not a client library used to connect to a big
  database server.  SQLite is the server.  The SQLite library reads
  and writes directly to and from the database files on disk."

By default, the database file created by the OVAL Query Interpreter is
called 'data.slt'.

We use the sqlite-2.8.13-1.i386.rpm and sqlite-devel-2.8.13-1.i386.rpm 
RPMS, which you can download from:

   http://www.sqlite.org/sqlite-2.8.13-1.i386.rpm
and
   http://www.sqlite.org/sqlite-devel-2.8.13-1.i386.rpm

For more information about SQLite, or to download the source code for
the database engine, please visit the SQLite Web site at
www.sqlite.org.

-- VI -- XERCES --

The Definition Interpreter uses the open source Xerces library.  The
binary was compiled with version 2.5 of the xerces-c library.  From
the Xerces Web site:

  "This product includes software developed by the Apache Software
  Foundation (http://www.apache.org/)."

For more information about Xerces visit:

    http://xml.apache.org

The source code is also available at the above Web site.


    Note: Our ovaldi RPM places a pre-compiled copy of this library into
	  /usr/lib/ovaldi to reduce the dependencies that an unsophisticated
	  user would need to resolve.


-- VII -- REPORTING PROBLEMS --

To report a problem with either OVAL Definition Interpreter, please
send an email with a brief description of the problem to 
oval@mitre.org. Include the platform the Interpreter was run on, and
the version of the Interpreter and definitions file.

