summaryrefslogtreecommitdiffstats
path: root/pki/dogtag/ocsp
diff options
context:
space:
mode:
Diffstat (limited to 'pki/dogtag/ocsp')
-rwxr-xr-xpki/dogtag/ocsp/build_linux38
-rwxr-xr-xpki/dogtag/ocsp/config-ext/build_linux_pki318
-rw-r--r--pki/dogtag/ocsp/config/product.xml305
-rw-r--r--pki/dogtag/ocsp/config/release.xml86
-rw-r--r--pki/dogtag/ocsp/pki-ocsp.spec317
5 files changed, 1064 insertions, 0 deletions
diff --git a/pki/dogtag/ocsp/build_linux b/pki/dogtag/ocsp/build_linux
new file mode 100755
index 000000000..698dde47c
--- /dev/null
+++ b/pki/dogtag/ocsp/build_linux
@@ -0,0 +1,38 @@
+#!/bin/bash
+# BEGIN COPYRIGHT BLOCK
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# (C) 2007 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+# Always switch into the base directory of this
+# shell script prior to executing it so that all
+# of its output is written to this directory
+cd `dirname $0`
+
+# Retrieve the directory name housing this component
+PWD=`pwd`
+
+# Set Linux component-specific environment variables
+LINUX_BUILD_SCRIPT=`basename $0`
+export LINUX_BUILD_SCRIPT
+LINUX_COMPONENT=`basename ${PWD}`
+export LINUX_COMPONENT
+LINUX_SPECFILE="pki-ocsp.spec"
+export LINUX_SPECFILE
+
+# Invoke the shared Linux PKI build script
+config-ext/build_linux_pki $@
+
diff --git a/pki/dogtag/ocsp/config-ext/build_linux_pki b/pki/dogtag/ocsp/config-ext/build_linux_pki
new file mode 100755
index 000000000..d9ea91e8c
--- /dev/null
+++ b/pki/dogtag/ocsp/config-ext/build_linux_pki
@@ -0,0 +1,318 @@
+#!/bin/bash
+# BEGIN COPYRIGHT BLOCK
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# (C) 2007 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+# Always switch into the base directory above this
+# shared shell script prior to executing it so that
+# all of its output is written to this directory
+cd `dirname $0`/..
+
+# Set pre-defined variables
+#
+# NOTE: Variables prefixed with "LINUX" are defined in the invoking script.
+# Variables prefixed with "PKI" are defined in this shared script.
+# Variables containing no prefix are reserved for the generated script.
+#
+PKI_ABORT_SCRIPT="false"
+PKI_BASEDIR="../../.."
+PKI_BUILD_XML=build.xml
+PKI_DIR=pki
+PKI_LINUX_DIR=linux
+PKI_RELEASE_DIR=release
+PKI_RELEASE_SCRIPT=release
+PKI_SHARED_SCRIPT=`basename $0`
+PKI_SRC_DIR=base
+
+# Check the values of the passed-in environment variables
+if [ "${LINUX_BUILD_SCRIPT}" == "" ]; then
+ printf "ERROR: The 'LINUX_BUILD_SCRIPT' environment variable is undefined!\n"
+ PKI_ABORT_SCRIPT="true"
+fi
+if [ "${LINUX_COMPONENT}" == "" ]; then
+ printf "ERROR: The 'LINUX_COMPONENT' environment variable is undefined!\n"
+ PKI_ABORT_SCRIPT="true"
+fi
+if [ "${LINUX_SPECFILE}" == "" ]; then
+ printf "ERROR: The 'LINUX_SPECFILE' environment variable is undefined!\n"
+ PKI_ABORT_SCRIPT="true"
+fi
+if [ "${PKI_ABORT_SCRIPT}" == "true" ]; then
+ printf "\n"
+ printf "The '${PKI_SHARED_SCRIPT}' shared build script MUST be invoked by "
+ printf "a\nPKI component-specific build script (e. g. - '${LINUX_BUILD_SCRIPT}')\n"
+ printf "which defines ALL environment variables prefixed by 'LINUX'!\n"
+ exit 255
+fi
+
+# Compute remaining variables by assigning their values from the specfile
+PKI_SOURCE_CODE_URL="https://pki-svn.fedora.redhat.com/svn/pki/trunk/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}"
+PKI_PRODUCT_UI_PREFIX=`grep " base_ui_prefix" ${LINUX_SPECFILE} | awk '{ print $3; }'`
+PKI_PRODUCT_PREFIX=`grep " base_prefix" ${LINUX_SPECFILE} | awk '{ print $3; }'`
+PKI_PRODUCT=`grep " base_component" ${LINUX_SPECFILE} | awk '{ print $3; }'`
+if [ "${PKI_PRODUCT_UI_PREFIX}" != "" ]; then
+ PKI_PRODUCT_BUILD_XML="${PKI_BUILD_XML}"
+ PKI_PRODUCT_NAME="${PKI_PRODUCT_PREFIX}-${PKI_PRODUCT}"
+ PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_LINUX_DIR}/${LINUX_COMPONENT}"
+elif [ "${PKI_PRODUCT_PREFIX}" != "" ]; then
+ PKI_PRODUCT_BUILD_XML="${PKI_BASEDIR}/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}/${PKI_BUILD_XML}"
+ PKI_PRODUCT_NAME="${PKI_PRODUCT_PREFIX}-${PKI_PRODUCT}"
+ PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}"
+else
+ PKI_PRODUCT_BUILD_XML="${PKI_BASEDIR}/${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}/${PKI_BUILD_XML}"
+ PKI_PRODUCT_NAME="${PKI_PRODUCT}"
+ PKI_PRODUCT_SOURCE_PATH="${PKI_DIR}/${PKI_SRC_DIR}/${LINUX_COMPONENT}"
+fi
+PKI_RELEASE_ROOT="${PKI_BASEDIR}/${PKI_RELEASE_DIR}/${PKI_PRODUCT_SOURCE_PATH}"
+PKI_SOURCE_CODE_LOCAL_REPOSITORY="`pwd`/${PKI_BASEDIR}/${PKI_PRODUCT_SOURCE_PATH}"
+
+# Always check that local source code for this PKI component is available
+if [ ! -d "${PKI_SOURCE_CODE_LOCAL_REPOSITORY}" ]; then
+ printf "Please checkout the '${LINUX_COMPONENT}' source code from:\n\n"
+ printf " '${PKI_SOURCE_CODE_URL}'\n\n"
+ printf "to:\n\n"
+ printf " '${PKI_SOURCE_CODE_LOCAL_REPOSITORY}'\n\n"
+ exit 255
+fi
+
+# Define awk scripts
+check_targets='
+BEGIN {
+ success = "false";
+}
+
+{
+ while( getline < FILENAME > 0 ) {
+ if( substr( $0, 0, 80 ) ~ "target name" ) {
+ start = substr( $0,
+ match( $0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ if( build_target == target ) {
+ success = "true";
+ }
+ }
+ }
+}
+
+END {
+ printf( "%s", success );
+}'
+
+display_targets='{
+ while( getline < FILENAME > 0 ) {
+ if( substr( $0, 0, 80 ) ~ "target name" ) {
+ start = substr( $0,
+ match( $0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ }
+ if( substr( $0, 0, 80 ) ~ "description" ) {
+ start = substr( $0,
+ match( $0, "\"" ) + 1 );
+ description[target] = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ printf( "'%20s' %s\n", target, description[target] );
+ }
+ }
+}'
+
+# Provide a usage function
+usage() {
+ if [ $# -gt 0 ] ; then
+ echo
+ echo "$1"
+ fi
+ echo
+ echo "Usage: ${LINUX_BUILD_SCRIPT} [target]"
+ echo
+ echo " where [target] is one of the optional values:"
+ echo
+ echo " help --> display '${PKI_PRODUCT_NAME}' usage statement"
+ awk "$display_targets" ${PKI_PRODUCT_BUILD_XML}
+ echo
+ exit 255
+}
+
+# Verify that the appropriate number of
+# command-line parameters have been entered
+# and that a valid target has been specified
+if [ $# -eq 0 ] ; then
+ RELEASE_TARGET=main
+ BUILD_TARGET=""
+elif [ $# -eq 1 ] ; then
+ if [ "$1" == "help" ]; then
+ usage
+ else
+ SUCCESS=`awk -v build_target=$1 "$check_targets" ${PKI_PRODUCT_BUILD_XML}`
+ if [ "${SUCCESS}" == "false" ]; then
+ usage "ERROR: Invalid target '$1' specified for '${PKI_PRODUCT_NAME}'!"
+ else
+ RELEASE_TARGET=local
+ BUILD_TARGET="$1"
+ fi
+ fi
+elif [ $# -gt 1 ] ; then
+ usage "ERROR: Too many parameters specified for '${PKI_PRODUCT_NAME}'!"
+fi
+
+# This script may ONLY be run on Linux!
+PKI_OS=`uname`
+if [ "${PKI_OS}" != "Linux" ]; then
+ printf "The '${LINUX_BUILD_SCRIPT}' script is ONLY executable on a 'Linux' machine!\n"
+ exit 255
+fi
+
+# Always start with a new release root directory
+rm -rf ${PKI_RELEASE_ROOT}
+mkdir -p ${PKI_RELEASE_ROOT}
+
+# Copy the source code to the release root
+cd ${PKI_BASEDIR}
+find ${PKI_PRODUCT_SOURCE_PATH} -name .svn -prune -o -name *.swp -prune -o -print | cpio -pdum ${PKI_RELEASE_DIR} > /dev/null 2>&1
+cd - > /dev/null 2>&1
+
+# Remove unused files
+rm -rf ${PKI_RELEASE_ROOT}/build_*
+rm -rf ${PKI_RELEASE_ROOT}/*.spec
+if [ -d ${PKI_RELEASE_ROOT}/config-ext ]; then
+ rm -rf ${PKI_RELEASE_ROOT}/config-ext
+fi
+
+# Create the default spec file
+cp ${LINUX_SPECFILE} ${PKI_RELEASE_ROOT}/${PKI_PRODUCT_NAME}.spec
+
+# Use bash-specific syntax to create the default build script
+cat >> ${PKI_RELEASE_ROOT}/${PKI_RELEASE_SCRIPT} << END_OF_SCRIPT
+#!/bin/bash
+
+#####################################################################
+### DO NOT EDIT! This script has been automatically generated! ###
+#####################################################################
+
+# Always switch into the base directory of this
+# shell script prior to executing it so that all
+# of its output is written to this directory
+cd \`dirname \$0\`
+
+# Set pre-defined variables
+BUILD_SCRIPT=\`basename \$0\`
+BUILD_XML=${PKI_BUILD_XML}
+SPECFILE=${PKI_PRODUCT_NAME}.spec
+
+# Define awk scripts
+check_targets='
+BEGIN {
+ success = "false";
+}
+
+{
+ while( getline < FILENAME > 0 ) {
+ if( substr( \$0, 0, 80 ) ~ "target name" ) {
+ start = substr( \$0,
+ match( \$0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ if( build_target == target ) {
+ success = "true";
+ }
+ }
+ }
+}
+
+END {
+ printf( "%s", success );
+}'
+
+display_targets='{
+ while( getline < FILENAME > 0 ) {
+ if( substr( \$0, 0, 80 ) ~ "target name" ) {
+ start = substr( \$0,
+ match( \$0, "\"" ) + 1 );
+ target = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ }
+ if( substr( \$0, 0, 80 ) ~ "description" ) {
+ start = substr( \$0,
+ match( \$0, "\"" ) + 1 );
+ description[target] = substr( start,
+ start,
+ match( start, "\"" ) - 1 );
+ printf( "'%20s' %s\n", target, description[target] );
+ }
+ }
+}'
+
+# Provide a usage function
+usage() {
+ if [ \$# -gt 0 ] ; then
+ echo
+ echo "\$1"
+ fi
+ echo
+ echo "Usage: \${BUILD_SCRIPT} [target]"
+ echo
+ echo " where [target] is one of the optional values:"
+ echo
+ echo " help --> display '${PKI_PRODUCT_NAME}' usage statement"
+ awk "\$display_targets" \${BUILD_XML}
+ echo
+ exit 255
+}
+
+# Verify that the appropriate number of
+# command-line parameters have been entered
+# and that a valid target has been specified
+if [ \$# -eq 0 ] ; then
+ RELEASE_TARGET=main
+ BUILD_TARGET=main
+elif [ \$# -eq 1 ] ; then
+ if [ "\$1" == "help" ]; then
+ usage
+ else
+ SUCCESS=\`awk -v build_target=\$1 "\$check_targets" \${BUILD_XML}\`
+ if [ "\${SUCCESS}" == "false" ]; then
+ usage "ERROR: Invalid target '\$1' specified for '${PKI_PRODUCT_NAME}'!"
+ else
+ RELEASE_TARGET=local
+ BUILD_TARGET="\$1"
+ fi
+ fi
+elif [ \$# -gt 1 ] ; then
+ usage "ERROR: Too many parameters specified for '${PKI_PRODUCT_NAME}'!"
+fi
+
+# This script may ONLY be run on Linux!
+OS=\`uname\`
+if [ "\${OS}" != "Linux" ]; then
+ printf "The '\${BUILD_SCRIPT}' script is ONLY executable on a 'Linux' machine!\n"
+ exit 255
+fi
+
+ant -f config/release.xml -Dbasedir=. -Dspecfile=\${SPECFILE} -Dtarget=\${BUILD_TARGET} \${RELEASE_TARGET}
+
+END_OF_SCRIPT
+chmod 00755 ${PKI_RELEASE_ROOT}/${PKI_RELEASE_SCRIPT}
+
+cd ${PKI_RELEASE_ROOT}
+./${PKI_RELEASE_SCRIPT} ${BUILD_TARGET}
+
diff --git a/pki/dogtag/ocsp/config/product.xml b/pki/dogtag/ocsp/config/product.xml
new file mode 100644
index 000000000..33caf48ed
--- /dev/null
+++ b/pki/dogtag/ocsp/config/product.xml
@@ -0,0 +1,305 @@
+<!-- ### BEGIN COPYRIGHT BLOCK ###
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Copyright (C) 2007 Red Hat, Inc.
+ All rights reserved.
+ ### END COPYRIGHT BLOCK ### -->
+<project name="product.xml" default="main" basedir=".">
+
+ <!-- Set up properties based upon the user's default Ant configuration -->
+ <property file=".ant.properties"/>
+ <property file="${user.home}/.ant.properties"/>
+ <property environment="env"/>
+
+
+ <!-- Check for required properties passed-in via the build scripts -->
+ <fail message="The '-Dspecfile=SPECFILE' property MUST always be specified!"
+ unless="specfile"/>
+
+
+ <!-- Set up optional properties passed-in via the build scripts -->
+ <property name="basedir" value=""/>
+ <property name="dirsec" value=""/>
+ <property name="target" value=""/>
+
+
+ <!-- Set up properties obtained from the spec file -->
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="Name">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_product\s+(.*)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="spec.product.ui.prefix">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_ui_prefix\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="product.prefix">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_prefix\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="product">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_component\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+ <!-- if "spec.product.ui.prefix" is "" or "linux", -->
+ <!-- set "product.ui.prefix" to ""; otherwise -->
+ <!-- set "product.ui.prefix" to "spec.product.ui.prefix" -->
+ <condition property="product.ui.prefix"
+ value=""
+ else="${spec.product.ui.prefix}">
+ <or>
+ <equals arg1="${spec.product.ui.prefix}"
+ arg2=""/>
+ <equals arg1="${spec.product.ui.prefix}"
+ arg2="linux"/>
+ </or>
+ </condition>
+
+ <!-- "product.name" is of the form "x-y-z" -->
+ <condition property="product.name"
+ value="${product.ui.prefix}-${product.prefix}-${product}">
+ <not>
+ <equals arg1="${product.ui.prefix}"
+ arg2=""/>
+ </not>
+ </condition>
+
+ <!-- "product.name" is of the form "x-y" -->
+ <condition property="product.name"
+ value="${product.prefix}-${product}">
+ <and>
+ <equals arg1="${product.ui.prefix}"
+ arg2=""/>
+ <not>
+ <equals arg1="${product.prefix}"
+ arg2=""/>
+ </not>
+ </and>
+ </condition>
+
+ <!-- "product.name" is of the form "x" -->
+ <condition property="product.name"
+ value="${product}">
+ <and>
+ <equals arg1="${product.ui.prefix}"
+ arg2=""/>
+ <equals arg1="${product.prefix}"
+ arg2=""/>
+ </and>
+ </condition>
+
+ <exec executable="perl"
+ failonerror="true"
+ outputproperty="version">
+ <arg value="-ne"/>
+ <arg value="print $1 if /%define base_version\s+(\S+)/"/>
+ <arg value="${specfile}"/>
+ </exec>
+
+
+ <!-- Set up architecture-dependent properties -->
+ <exec executable="uname"
+ failonerror="true"
+ outputproperty="arch">
+ <arg line="-i"/>
+ </exec>
+
+ <!-- Set up architecture-independent properties -->
+ <property name="jar.home" value="/usr/share/java"/>
+ <property name="pki-jar.home" value="${jar.home}/${product.prefix}"/>
+ <property name="jni-jar.home" value="/usr/lib/java"/>
+
+ <!-- Set up properties that control various build options -->
+ <property name="debug" value="true"/>
+ <property name="chmod.fail" value="true"/>
+ <property name="chmod.maxparallel" value="250"/>
+ <property name="deprecation" value="false"/>
+ <property name="optimize" value="true"/>
+
+
+ <!-- Set up properties related to the source tree -->
+ <property name="docs.dir" value="docs"/>
+ <property name="lib.dir" value="lib"/>
+ <property name="src.dir" value="src"/>
+ <property name="test.dir" value="test"/>
+ <property name="etc.dir" value="${src.dir}/etc"/>
+ <property name="script.dir" value="${src.dir}/script"/>
+
+
+ <!-- Set up properties for the release area -->
+ <property name="release.root" value="."/>
+
+
+ <!-- Set up properties for the build area -->
+ <property name="build.dir" value="build"/>
+ <property name="bootstrap.dir" value="bootstrap"/>
+ <property name="build.jars" value="${build.dir}/jars"/>
+ <property name="build.classes" value="${build.dir}/classes"/>
+ <property name="build.lib" value="${build.dir}/lib"/>
+ <property name="build.javadocs" value="${build.dir}/javadocs"/>
+ <property name="build.tests" value="${build.dir}/testcases"/>
+ <property name="build.tests.javadocs" value="${build.dir}/javadocs.test/"/>
+ <property name="manifest.tmp" value="${build.dir}/optional.manifest"/>
+
+
+ <!-- Set up properties for the distribution area -->
+ <property name="dist.name" value="${product.name}-${version}"/>
+ <property name="dist.base" value="dist"/>
+ <property name="dist.base.source" value="${dist.base}/source"/>
+ <property name="dist.base.binaries" value="${dist.base}/binary"/>
+ <property name="dist.dir" value="dist"/>
+ <property name="dist.bin" value="${dist.dir}/bin"/>
+ <property name="dist.lib" value="${dist.dir}/lib"/>
+ <property name="dist.docs" value="${dist.dir}/docs"/>
+ <property name="dist.etc" value="${dist.dir}/etc"/>
+ <property name="src.dist.name" value="${product.name}-${version}"/>
+ <property name="src.dist.dir" value="dist-src"/>
+ <property name="src.dist.src" value="${src.dist.dir}/src"/>
+ <property name="src.dist.docs" value="${src.dist.dir}/docs"/>
+ <property name="src.dist.lib" value="${src.dist.dir}/lib"/>
+
+
+ <!-- Set up properties for log messages -->
+ <property name="begin.clean.log.message"
+ value="Removing '${product.name}' component directories ..."/>
+ <property name="empty.clean.log.message"
+ value="Nothing to do!"/>
+ <property name="end.clean.log.message"
+ value="Completed removing '${product.name}' component directories."/>
+ <property name="begin.download.log.message"
+ value="Downloading '${product.name}' dependent components ..."/>
+ <property name="empty.download.log.message"
+ value="Nothing to do!"/>
+ <property name="end.download.log.message"
+ value="Completed downloading '${product.name}' dependent components."/>
+ <property name="begin.compile.java.log.message"
+ value="Compiling '${product.name}' java code from '${src.dir}' into '${build.classes}' ..."/>
+ <property name="empty.compile.java.log.message"
+ value="Nothing to do!"/>
+ <property name="end.compile.java.log.message"
+ value="Completed compiling '${product.name}' java code from '${src.dir}' into '${build.classes}'."/>
+ <property name="begin.build.jars.log.message"
+ value="Generating '${product.name}' jar files ..."/>
+ <property name="empty.build.jars.log.message"
+ value="Nothing to do!"/>
+ <property name="end.build.jars.log.message"
+ value="Completed generating '${product.name}' jar files."/>
+ <property name="begin.build.jni.headers.log.message"
+ value="Generating '${product.name}' java header files ..."/>
+ <property name="empty.build.jni.headers.log.message"
+ value="Nothing to do!"/>
+ <property name="end.build.jni.headers.log.message"
+ value="Completed generating '${product.name}' java header files."/>
+ <property name="notify.build.log.message"
+ value="Built classes, jars, and jni headers for the '${product.name}' component."/>
+ <property name="begin.compile.junit.tests.log.message"
+ value="Compiling '${product.name}' junit tests from '${test.dir}' into '${build.tests}' ..."/>
+ <property name="empty.compile.junit.tests.log.message"
+ value="Nothing to do!"/>
+ <property name="end.compile.junit.tests.log.message"
+ value="Completed compiling '${product.name}' junit tests from '${test.dir}' into '${build.tests}'."/>
+ <property name="begin.run.junit.tests.log.message"
+ value="Executing '${product.name}' tests ..."/>
+ <property name="empty.run.junit.tests.log.message"
+ value="Nothing to do!"/>
+ <property name="end.run.junit.tests.log.message"
+ value="Completed executing '${product.name}' tests."/>
+ <property name="notify.verify.log.message"
+ value="Verified the '${product.name}' component."/>
+ <property name="begin.clean.javadocs.log.message"
+ value="Removing '${product.name}' javadocs directory ..."/>
+ <property name="empty.clean.javadocs.log.message"
+ value="Nothing to do!"/>
+ <property name="end.clean.javadocs.log.message"
+ value="Completed removing '${product.name}' javadocs directory."/>
+ <property name="begin.compose.javadocs.log.message"
+ value="Composing '${product.name}' javadocs ..."/>
+ <property name="empty.compose.javadocs.log.message"
+ value="Nothing to do!"/>
+ <property name="end.compose.javadocs.log.message"
+ value="Completed composing '${product.name}' javadocs."/>
+ <property name="notify.document.log.message"
+ value="Documented '${product.name}' javadocs."/>
+ <property name="begin.distribute.binaries.log.message"
+ value="Creating '${product.name}' binary distributions ..."/>
+ <property name="begin.binary.wrappers.log.message"
+ value=" Creating '${product.name}' binary wrappers ..."/>
+ <property name="empty.binary.wrappers.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.wrappers.log.message"
+ value=" Completed creating '${product.name}' binary wrappers."/>
+ <property name="begin.binary.zip.log.message"
+ value=" Creating '${product.name}' binary zip files ..."/>
+ <property name="empty.binary.zip.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.zip.log.message"
+ value=" Completed creating '${product.name}' binary zip files."/>
+ <property name="begin.binary.tar.log.message"
+ value=" Creating '${product.name}' binary tar files ..."/>
+ <property name="empty.binary.tar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.tar.log.message"
+ value=" Completed creating '${product.name}' binary tar files."/>
+ <property name="begin.binary.gtar.log.message"
+ value=" Creating '${product.name}' binary gzip files ..."/>
+ <property name="empty.binary.gtar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.binary.gtar.log.message"
+ value=" Completed creating '${product.name}' binary gzip files."/>
+ <property name="end.distribute.binaries.log.message"
+ value="Completed creating '${product.name}' binary distributions."/>
+ <property name="begin.distribute.source.log.message"
+ value="Creating '${product.name}' source distributions ..."/>
+ <property name="begin.source.zip.log.message"
+ value=" Creating '${product.name}' source zip files ..."/>
+ <property name="empty.source.zip.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.source.zip.log.message"
+ value=" Completed creating '${product.name}' source zip files."/>
+ <property name="begin.source.tar.log.message"
+ value=" Creating '${product.name}' source tar files ..."/>
+ <property name="empty.source.tar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.source.tar.log.message"
+ value=" Completed creating '${product.name}' source tar files."/>
+ <property name="begin.source.gtar.log.message"
+ value=" Creating '${product.name}' source gzip files ..."/>
+ <property name="empty.source.gtar.log.message"
+ value=" Nothing to do!"/>
+ <property name="end.source.gtar.log.message"
+ value=" Completed creating '${product.name}' source gzip files."/>
+ <property name="end.distribute.source.log.message"
+ value="Completed creating '${product.name}' source distributions."/>
+ <property name="notify.distribute.log.message"
+ value="Distributed '${product.name}' distribution packages."/>
+ <property name="notify.main.log.message"
+ value="Built, verified, documented, and distributed a fresh '${product.name}' component."/>
+
+</project>
+
diff --git a/pki/dogtag/ocsp/config/release.xml b/pki/dogtag/ocsp/config/release.xml
new file mode 100644
index 000000000..fc43aaeb7
--- /dev/null
+++ b/pki/dogtag/ocsp/config/release.xml
@@ -0,0 +1,86 @@
+<!-- ### BEGIN COPYRIGHT BLOCK ###
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Copyright (C) 2007 Red Hat, Inc.
+ All rights reserved.
+ ### END COPYRIGHT BLOCK ### -->
+<project name="release.xml" default="main" basedir="${basedir}">
+
+ <echo message="Importing shared properties ..."/>
+ <import file="product.xml"/>
+ <import file="product-ext.xml" optional="true"/>
+ <import file="release-ext.xml" optional="true"/>
+ <echo message="Completed importing shared properties."/>
+
+
+ <target name="local"
+ depends=""
+ description="--> Generate this target locally">
+ <echo message="Generating the '${product.name}' target locally ..."/>
+ <exec executable="ant" dir="${release.root}">
+ <arg value="-Dspecfile=${product.name}.spec"/>
+ <arg value="-Ddirsec=${dirsec}"/>
+ <arg value="${target}"/>
+ </exec>
+ <echo message="Completed generating the '${product.name}' target locally."/>
+ </target>
+
+
+ <target name="main"
+ depends=""
+ description="--> Generate component RPMS and SRPMS">
+ <echo message="Generating '${product.name}' RPMS and SRPMS ..."/>
+
+ <exec executable="pwd"
+ failonerror="true"
+ outputproperty="top.dir"/>
+ <echo message="Established the '${top.dir}' top-level directory."/>
+
+ <echo message="Creating the '${product.name}' source distribution ..."/>
+ <exec executable="ant"
+ dir="${release.root}">
+ <arg value="-Dspecfile=${product.name}.spec"/>
+ <arg value="-Ddirsec=${dirsec}"/>
+ <arg value="distribute_source"/>
+ </exec>
+ <echo message="Completed creating the '${product.name}' source distribution."/>
+
+ <echo message="Creating '${product.name}' RPM directories ..."/>
+ <mkdir dir="${release.root}/dist/rpmpkg"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/SOURCES"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/RPMS"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/SRPMS"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/SPECS"/>
+ <mkdir dir="${release.root}/dist/rpmpkg/BUILD"/>
+ <echo message="Completed creating '${product.name}' RPM directories."/>
+
+ <echo message="Building '${product.name}' RPMS and SRPMS ..."/>
+ <exec executable="rpmbuild"
+ dir="${release.root}">
+ <arg value="--define"/>
+ <arg value="_topdir ${top.dir}/${release.root}/dist/rpmpkg"/>
+ <arg value="-ta"/>
+ <arg value="${top.dir}/${release.root}/dist/source/${product.name}-${version}.tar.gz"/>
+ </exec>
+ <echo message="Completed building '${product.name}' RPMS and SRPMS."/>
+
+ <echo message="Removing various '${product.name}' RPM directories and files ..."/>
+ <delete dir="${release.root}/dist/rpmpkg/BUILD"/>
+ <echo message="Completed removing various '${product.name}' RPM directories and files."/>
+
+ <echo message="Completed generating '${product.name}' RPMS and SRPMS."/>
+ </target>
+
+</project>
+
diff --git a/pki/dogtag/ocsp/pki-ocsp.spec b/pki/dogtag/ocsp/pki-ocsp.spec
new file mode 100644
index 000000000..9b615fe52
--- /dev/null
+++ b/pki/dogtag/ocsp/pki-ocsp.spec
@@ -0,0 +1,317 @@
+# BEGIN COPYRIGHT BLOCK
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# (C) 2007 Red Hat, Inc.
+# All rights reserved.
+# END COPYRIGHT BLOCK
+
+###############################################################################
+### D E F I N I T I O N S ###
+###############################################################################
+
+## Entity Definitions
+%define base_entity Dogtag
+%define base_flavor fedora
+%define base_prefix pki
+
+## Product Definitions
+%define base_system Certificate System
+%define base_product Online Certificate Status Protocol Manager
+%define base_component ocsp
+%define base_pki %{base_entity} %{base_system}
+
+## Package Header Definitions
+%define base_name %{base_prefix}-%{base_component}
+%define base_version 1.0.0
+%define base_release 6
+%define base_group System Environment/Daemons
+%define base_vendor Red Hat, Inc.
+%define base_license GPLv2 with exceptions
+%define base_packager %{base_vendor} <http://bugzilla.redhat.com/bugzilla>
+%define base_summary %{base_pki} - %{base_product}
+%define base_url http://pki-svn.fedora.redhat.com/wiki/PKI_Documentation
+
+## Pre & Post Install/Uninstall Scripts Definitions
+%define base_user pkiuser
+
+## Helper Definitions
+%define pki_ca %{base_entity} Certificate Authority
+%define pki_drm %{base_entity} Data Recovery Manager
+%define pki_ds Fedora Directory Server
+%define pki_ocsp %{base_entity} Online Certificate Status Protocol Manager
+%define pki_ra %{base_entity} Registration Authority
+%define pki_tks %{base_entity} Token Key Service
+%define pki_tps %{base_entity} Token Processing System
+
+## Don't build the debug packages
+%define debug_package %{nil}
+
+
+##===================##
+## Linux Definitions ##
+##===================##
+%ifos Linux
+## check for presence of UI packages
+%define linux_ui %(echo `rpm -q --quiet %{base_name}-ui; echo $?`)
+%define fedora_ui %(echo `rpm -q --quiet %{base_flavor}-%{base_name}-ui; echo $?`)
+
+%if !%{linux_ui}
+## if the Linux UI package is present, default to using it first
+%define base_ui %{base_name}-ui
+%else
+%if !%{fedora_ui}
+## otherwise, if the Fedora UI package is present, use it instead
+%define base_ui %{base_flavor}-%{base_name}-ui
+%else
+## finally, if neither the Linux nor the Fedora UI packages are present,
+## set base_ui to be equal to the Linux UI package to ALWAYS produce a
+## "BuildRequires" dependency failure of "%{base_name}-ui"
+%define base_ui %{base_name}-ui
+%endif
+%endif
+
+## For PKI version information, ALWAYS refer to the version of
+## the UI package dependency associated with this spec file!
+%define pki_version %(echo `rpm -q --queryformat '%{VERSION}' %{base_ui}`)
+%define pki_major_version %(echo `echo %{pki_version} | awk -F. '{ print $1 }'`)
+%define pki_minor_version %(echo `echo %{pki_version} | awk -F. '{ print $2 }'`)
+%define pki_patch_version %(echo `echo %{pki_version} | awk -F. '{ print $3 }'`)
+
+## A distribution model is required on certain Linux operating systems!
+##
+## check for a pre-defined distribution model
+%define undefined_distro %(test "%{dist}" = "" && echo 1 || echo 0)
+%if %{undefined_distro}
+%define is_fedora %(test -e /etc/fedora-release && echo 1 || echo 0)
+%if %{is_fedora}
+## define a default distribution model on Fedora Linux
+%define dist_prefix .fc
+%define dist_version %(echo `rpm -qf --qf='%{VERSION}' /etc/fedora-release` | tr -d [A-Za-z])
+%define dist %{dist_prefix}%{dist_version}
+%else
+%define is_redhat %(test -e /etc/redhat-release && echo 1 || echo 0)
+%if %{is_redhat}
+## define a default distribution model on Red Hat Linux
+%define dist_prefix .el
+%define dist_version %(echo `rpm -qf --qf='%{VERSION}' /etc/redhat-release` | tr -d [A-Za-z])
+%define dist %{dist_prefix}%{dist_version}
+%endif
+%endif
+%endif
+%endif
+
+
+
+###############################################################################
+### P A C K A G E H E A D E R ###
+###############################################################################
+
+Name: %{base_name}
+Version: %{base_version}
+Release: %{base_release}%{?dist}
+Summary: %{base_summary}
+Vendor: %{base_vendor}
+URL: %{base_url}
+License: %{base_license}
+Packager: %{base_packager}
+Group: %{base_group}
+
+
+## Without AutoReqProv: no, rpmbuild finds all sorts of crazy
+## dependencies that we don't care about, and refuses to install
+AutoReqProv: no
+
+BuildArch: noarch
+BuildRoot: %{_builddir}/%{base_name}-root
+
+
+## NOTE: This spec file may require a specific JDK, "gcc", and/or "gcc-c++"
+## packages as well as the "rpm" and "rpm-build" packages.
+##
+## Technically, "ant" should not need to be in "BuildRequires" since
+## it is the Java equivalent of "make" (and/or "Autotools").
+##
+BuildRequires: ant >= 1.6.2, %{base_ui} >= 1.0.0, %{base_prefix}-common >= 1.0.0, %{base_prefix}-util >= 1.0.0, java-devel >= 1.6.0, jpackage-utils >= 1.6.0, jss >= 4.2.4
+
+## Without Requires something, rpmbuild will abort!
+Requires: %{base_name}-ui, %{base_prefix}-common >= 1.0.0
+
+
+## This package is non-relocatable!
+#Prefix:
+
+Source0: %{base_name}-%{base_version}.tar.gz
+
+## This package currently contains no patches!
+#Patch0:
+
+
+%description
+%{base_pki} is an enterprise software system designed
+to manage enterprise Public Key Infrastructure (PKI) deployments.
+
+The %{pki_ocsp} is an optional
+PKI subsystem that can act as a stand-alone Online Certificate
+Status Protocol (OCSP) service.
+The %{pki_ocsp} performs the task of an
+online certificate validation authority by enabling OCSP-compliant clients to
+do real-time verification of certificates. Note that an online
+certificate-validation authority is often referred to as an OCSP Responder.
+
+Although the %{pki_ca} is already configured with an
+internal OCSP service. An external OCSP Responder is offered as a separate
+subsystem in case the user wants the OCSP service provided outside of a
+firewall while the %{pki_ca} resides inside of a firewall,
+or to take the load of requests off of the %{pki_ca}.
+
+The %{pki_ocsp} can receive Certificate
+Revocation Lists (CRLs) from multiple %{pki_ca} servers,
+and clients can query the %{pki_ocsp}
+for the revocation status of certificates issued by all of these
+%{pki_ca} servers.
+
+When an instance of %{pki_ocsp} is
+set up with an instance of %{pki_ca}, and publishing
+is set up to this %{pki_ocsp},
+CRLs are published to it whenever they are issued or updated.
+
+
+
+###############################################################################
+### P R E P A R A T I O N & S E T U P ###
+###############################################################################
+
+## On Linux systems, prep and setup expect there to be a Source file
+## in the /usr/src/redhat/SOURCES directory - it will be unpacked
+## in the _builddir (not BuildRoot)
+%prep
+
+
+%setup -q
+
+
+## This package currently contains no patches!
+#%patch0
+# patches
+
+
+
+###############################################################################
+### B U I L D P R O C E S S ###
+###############################################################################
+
+%build
+ant -Dspecfile=%{base_name}.spec
+
+
+
+###############################################################################
+### I N S T A L L A T I O N P R O C E S S ###
+###############################################################################
+
+%install
+cd dist/binary
+unzip %{name}-%{version}.zip -d ${RPM_BUILD_ROOT}
+sed -i 's/^preop.product.version=.*$/preop.product.version=%{pki_version}/' ${RPM_BUILD_ROOT}/usr/share/%{base_prefix}/%{base_component}/conf/CS.cfg
+sed -i 's/^cms.version=.*$/cms.version=%{pki_major_version}.%{pki_minor_version}/' ${RPM_BUILD_ROOT}/usr/share/%{base_prefix}/%{base_component}/conf/CS.cfg
+cd ${RPM_BUILD_ROOT}/usr/share/java/%{base_prefix}/%{base_component}
+mv %{base_component}.jar %{base_component}-%{version}.jar
+ln -s %{base_component}-%{version}.jar %{base_component}.jar
+
+
+
+###############################################################################
+### C L E A N U P P R O C E S S ###
+###############################################################################
+
+%clean
+rm -rf ${RPM_BUILD_ROOT}
+
+
+
+###############################################################################
+### P R E & P O S T I N S T A L L / U N I N S T A L L S C R I P T S ###
+###############################################################################
+
+%pre
+if [ `grep -c %{base_user} /etc/group` -eq 0 ] ; then
+ groupadd %{base_user}
+fi
+if [ `grep -c %{base_user} /etc/passwd` -eq 0 ] ; then
+ # SELinux policy requires a shell of /sbin/nologin
+ useradd -g %{base_user} -d %{_datadir}/%{base_prefix} -s /sbin/nologin -c "%{base_pki}" -m %{base_user}
+fi
+
+
+%post
+chmod 00755 %{_datadir}/%{base_prefix}/%{base_component}/setup/postinstall
+%{_datadir}/%{base_prefix}/%{base_component}/setup/postinstall %{base_prefix} %{base_component} %{base_version} %{base_release}
+echo ""
+echo "Install finished."
+
+
+%preun
+if [ -x /etc/init.d/%{base_name} ] ; then
+ /etc/init.d/%{base_name} stop
+fi
+
+
+## This package currently contains no post-uninstallation process!
+#%postun
+
+
+
+###############################################################################
+### I N V E N T O R Y O F F I L E S A N D D I R E C T O R I E S ###
+###############################################################################
+
+%files
+%attr(-,root,root) %{_datadir}/doc/%{base_name}-%{base_version}/*
+%attr(-,root,root) %{_datadir}/java/%{base_prefix}/%{base_component}
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/acl
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/alias
+%attr(00660,root,root) %{_datadir}/%{base_prefix}/%{base_component}/conf/CS.cfg
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/conf/[a-z]*
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/etc
+%attr(00770,root,root) %{_datadir}/%{base_prefix}/%{base_component}/logs/signedAudit
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/setup
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/shared
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/temp
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/webapps
+%attr(-,root,root) %{_datadir}/%{base_prefix}/%{base_component}/work
+
+
+
+###############################################################################
+### C H A N G E L O G ###
+###############################################################################
+
+%changelog
+* Mon Nov 24 2008 Ade Lee <alee@redhat.com> 1.0.0-6
+- Bugzilla Bug #237727 - selinux changes to init script
+* Sat Nov 22 2008 Matthew Harmsen <mharmsen@redhat.com> 1.0.0-5
+- Bugzilla Bug #472305 - "equality" tests in all spec files need to be fixed
+- Bumped "java" and "java-devel" 1.4.2 and 1.5.0 dependencies to 1.6.0
+- Changed "java-sdk" to "java-devel" for consistency
+* Thu Oct 10 2008 Jack Magne <jmagne@redhat.com> 1.0.0-4
+- Fix for port separation bug #466188.
+* Thu Jul 10 2008 Jack Magne <jmagne@redhat.com> 1.0.0-3
+- Fix for bug #458337.
+* Mon Jun 9 2008 Matthew Harmsen <mharmsen@redhat.com> 1.0.0-2
+- Bugzilla Bug #450345: Port Dogtag 1.0.0 to
+ Fedora 9 (32-bit i386 & 64-bit x86_64).
+* Tue Feb 19 2008 PKI Team <pki-devel@redhat.com> 1.0.0-1
+- Initial open source version based upon proprietary
+ Red Hat Certificate System (RHCS) 7.3.
+