Skip to content
Commits on Source (1702)
......@@ -19,9 +19,9 @@
<classpathentry excluding="**/CMakeLists.txt" kind="src" path="base/ocsp/src"/>
<classpathentry excluding="**/CMakeLists.txt" kind="src" path="base/tks/src"/>
<classpathentry excluding="**/CMakeLists.txt" kind="src" path="base/tps/src"/>
<classpathentry excluding="**/CMakeLists.txt" kind="src" path="base/server/tomcat-8.5/src"/>
<classpathentry excluding="**/CMakeLists.txt" kind="src" path="base/common/examples/java"/>
<classpathentry excluding="**/CMakeLists.txt" kind="src" path="base/console/src"/>
<classpathentry kind="src" path="base/server/tomcat-8.5/src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="/usr/share/java/apache-commons-cli.jar"/>
<classpathentry kind="lib" path="/usr/share/java/apache-commons-logging.jar"/>
......@@ -33,12 +33,6 @@
<classpathentry kind="lib" path="/usr/share/java/jakarta-commons-httpclient.jar"/>
<classpathentry kind="lib" path="/usr/share/java/junit.jar"/>
<classpathentry kind="lib" path="/usr/share/java/ldapjdk.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson/jackson-core-asl.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson/jackson-jaxrs.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson/jackson-mapper-asl.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson/jackson-mrbean.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson/jackson-smile.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson/jackson-xc.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jaxb-api.jar"/>
<classpathentry kind="lib" path="/usr/share/java/httpcomponents/httpclient.jar"/>
<classpathentry kind="lib" path="/usr/share/java/httpcomponents/httpcore.jar"/>
......@@ -46,7 +40,6 @@
<classpathentry kind="lib" path="/usr/share/java/resteasy/resteasy-client.jar"/>
<classpathentry kind="lib" path="/usr/share/java/resteasy/resteasy-jaxb-provider.jar"/>
<classpathentry kind="lib" path="/usr/share/java/resteasy/resteasy-jaxrs.jar"/>
<classpathentry kind="lib" path="/usr/share/java/resteasy/resteasy-jackson-provider.jar"/>
<classpathentry kind="lib" path="/usr/share/java/servlet.jar"/>
<classpathentry kind="lib" path="/usr/share/java/velocity.jar"/>
<classpathentry kind="lib" path="/usr/share/java/xerces-j2.jar"/>
......@@ -57,7 +50,6 @@
<classpathentry kind="lib" path="/usr/share/java/tomcat/catalina.jar"/>
<classpathentry kind="lib" path="/usr/share/java/tomcat/tomcat-util.jar"/>
<classpathentry kind="lib" path="/usr/share/java/commons-io.jar"/>
<classpathentry kind="lib" path="/usr/lib/java/nuxwdog.jar"/>
<classpathentry kind="lib" path="/usr/lib/java/jss4.jar"/>
<classpathentry kind="lib" path="/usr/share/java/tomcatjss.jar"/>
<classpathentry kind="lib" path="/usr/share/java/tomcat/tomcat-api.jar"/>
......@@ -69,5 +61,9 @@
<classpathentry kind="lib" path="/usr/share/java/jboss-annotations-1.2-api/jboss-annotations-api_1.2_spec.jar"/>
<classpathentry kind="lib" path="/usr/share/java/tomcat/tomcat-juli.jar"/>
<classpathentry kind="lib" path="/usr/share/java/tomcat/jaspic-api.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson-databind.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jackson-core.jar"/>
<classpathentry kind="lib" path="/usr/share/java/resteasy/resteasy-jackson2-provider.jar"/>
<classpathentry kind="lib" path="/usr/share/java/slf4j/slf4j-simple.jar"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
srpm:
dnf install -y git
./build.sh --with-timestamp --with-commit-id srpm
if [[ "${outdir}" != "" ]]; then \
mv ${HOME}/build/pki/SRPMS/* ${outdir}; \
fi
......@@ -6,3 +6,8 @@ MANIFEST
*.pyc
__pycache__
.pytest_cache/
.idea/
tests/artifacts/
tests/tests.retry
base/util/test/PKICertImport/dbs
target/
......@@ -5,55 +5,69 @@ services:
- docker
cache: pip
jobs:
include:
- env: TASK_TO_RUN="pki-test"
env:
- IMAGE=fedora:29 TASK="PKI"
- IMAGE=fedora:29 TASK="IPA"
- IMAGE=fedora:30 TASK="PKI"
- IMAGE=fedora:30 TASK="IPA"
before_install:
- set -a && source .travis/global_variables
- echo -e $gerrit_ssh_key >> ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
# Post the Travis Build URL
- TRAVIS_BUILD_URL="https://travis-ci.org/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID"
- MESSAGE="$(printf "Build Started.\nTravis Build:"${TRAVIS_BUILD_URL})"
- .travis/set_gerrit_message.sh -m "${MESSAGE}"
install: .travis/init_task.sh | tee /dev/tty | grep -Eo '(http|https)://transfer.sh/[a-zA-Z0-9./?=_-]*.txt' | uniq >> ${TRANSFER_SH_URLS}
- set -a && source travis/global_variables
- touch ${LOGS}
install:
# Setup the required build environment
- travis/builder-init.sh
# Initialize PKI build env
- docker exec -i ${CONTAINER} ${SCRIPTDIR}/pki-init.sh
# Trigger build process
- docker exec -i ${CONTAINER} ${SCRIPTDIR}/pki-build.sh
# If IPA, first initialize IPA env, then install new PKI RPMS
- if [ $TASK = "IPA" ]; then docker exec -i ${CONTAINER} ${SCRIPTDIR}/ipa-init.sh; fi
# Install recently build Dogtag RPMS
- docker exec -i ${CONTAINER} ${SCRIPTDIR}/pki-install.sh
script:
- set -o pipefail
- travis_wait 20 .travis/run_task.sh | tee /dev/tty | grep -Eo '(http|https)://transfer.sh/[a-zA-Z0-9./?=_-]*.txt' | uniq >> ${TRANSFER_SH_URLS}
after_failure:
# Post the URL of Travis Job that failed
- TRAVIS_JOB_URL="https://travis-ci.org/$TRAVIS_REPO_SLUG/jobs/$TRAVIS_JOB_ID"
- MESSAGE="$(printf "Job 1 Failed\nTravis Job:"${TRAVIS_JOB_URL}"\n\nLogs:\n" )"$'\n'"$(cat ${TRANSFER_SH_URLS})"
- .travis/set_gerrit_message.sh -v -1 -m "${MESSAGE}"
- cat ${TRANSFER_SH_URLS}
after_script:
- docker kill ${CONTAINER}
- docker rm ${CONTAINER}
- >
if [ $TASK = "IPA" ]; then
docker exec -i ${CONTAINER} ${SCRIPTDIR}/ipa-test.sh
else
docker exec -i ${CONTAINER} ${SCRIPTDIR}/ds-create.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/ca-create.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/kra-create.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/ocsp-create.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/tks-create.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/tps-create.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/tps-remove.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/tks-remove.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/ocsp-remove.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/kra-remove.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/ca-remove.sh
docker exec -i ${CONTAINER} ${SCRIPTDIR}/ds-remove.sh
fi
matrix:
fast_finish: true
include:
- stage: rawhide
env: IMAGE=fedora:rawhide TASK="PKI"
- env: IMAGE=fedora:rawhide TASK="IPA"
# This is a dummy job to mark the build as finished, without waiting for rawhide jobs
- env: DUMMY_JOB=FOR_FAST_FINISH
before_install: true
install: true
script: true
after_script: true
allow_failures:
- stage: rawhide
env: IMAGE=fedora:rawhide TASK="PKI"
- env: IMAGE=fedora:rawhide TASK="IPA"
- env: TASK_TO_RUN="ipa-test"
before_install:
- set -a && source .travis/global_variables
- echo -e $gerrit_ssh_key >> ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
install: .travis/init_task.sh
script: travis_wait 20 .travis/run_task.sh
after_script:
- cat ${LOGS}
- docker kill ${CONTAINER}
- docker rm ${CONTAINER}
after_failure:
- docker exec ${CONTAINER} journalctl -l > ${PKI_LOG}
- echo "Uploading CI Logs to transfer.sh ..."
- curl -w "\n" --upload-file ./${PKI_LOG} https://transfer.sh/dogtag_build_logs.txt > ${TRANSFER_SH_URLS}
- curl -w "\n" --upload-file ./${CI_RESULTS_LOG} https://transfer.sh/freeipa-integration.txt >> ${TRANSFER_SH_URLS}
# Post the URL of Travis Job that failed
- TRAVIS_JOB_URL="https://travis-ci.org/$TRAVIS_REPO_SLUG/jobs/$TRAVIS_JOB_ID"
- MESSAGE="$(printf "Job 2 Failed\nTravis Job:"${TRAVIS_JOB_URL}"\n\nLogs:\n" )"$'\n'"$(cat ${TRANSFER_SH_URLS})"
- .travis/set_gerrit_message.sh -v -1 -m "${MESSAGE}"
- cat ${TRANSFER_SH_URLS}
- stage: Verification Label
before_install: echo -e $gerrit_ssh_key >> ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
script:
- MESSAGE="$(printf "Travis Build Successful.")"
- .travis/set_gerrit_message.sh -v +1 -m "${MESSAGE}"
after_script:
# Add remote repo in SSH form. Using existing 'origin' will result in user/pass authentication
- .travis/delete_branch.sh
#!/bin/bash
## prepare additional build dependencies
dnf builddep -y --spec ${BUILDDIR}/pki/specs/$1.spec.in
\ No newline at end of file
#!/bin/bash
set -e
BUILDLOG=/tmp/compose_$1.log
function compose {
pushd ${BUILDDIR}/pki
# run make with --quiet to reduce log verbosity.
sudo -u ${BUILDUSER} MAKEFLAGS="-j2 --quiet" -- \
./scripts/$1 rpms
popd
}
function upload {
if test -f $BUILDLOG; then
echo "Uploading build log to transfer"
curl --upload-file $BUILDLOG https://transfer.sh/pkitravis_$1.txt
# Add new line for readability of logs
printf "\n\n=====================================\n\n"
fi
}
if test "${TRAVIS}" != "true"; then
compose
else
trap "upload $1" EXIT
echo "Runing $1 rpms."
echo "Build log will be posted to transfer.sh"
echo $(date) > $BUILDLOG
echo "Travis job ${TRAVIS_JOB_NUMBER}" >> $BUILDLOG
compose $1>>$BUILDLOG 2>&1
fi
\ No newline at end of file
#!/bin/bash
set -e
pkispawn -vv -f ${BUILDDIR}/pki/.travis/pki.cfg -s CA
#!/bin/bash
set -e
pkispawn -vv -f ${BUILDDIR}/pki/.travis/pki.cfg -s KRA
#!/bin/bash
set -e
if [ -d /etc/pki/pkitest/kra ]; then
pkidestroy -v -i pkitest -s KRA
fi
pkidestroy -v -i pkitest -s CA
remove-ds.pl -f -i slapd-pkitest
CONTAINER=pkitest
SCRIPTDIR=/tmp/workdir/pki/.travis
PKI_LOG=pki_log.log
CI_RESULTS_LOG="ci_results_${TRAVIS_BRANCH}.log"
CI_RUNNER_LOG_ARCHIVE="dogtag-ci-job-${TRAVIS_JOB_NUMBER}.tar.gz"
PKI_IMAGE=${IMAGE_REPO:-dogtagpki/pki-ci}:f27_106
IPA_IMAGE=${IMAGE_REPO:-dogtagpki/pki-ci}:f27_ipa_4-6
RPMS_LOCATION=/tmp/workdir/packages/RPMS
DOGTAG_PKI_RPMS=${TRAVIS_BUILD_DIR}/dogtag_rpms
TRANSFER_SH_URLS=message.txt
\ No newline at end of file
# Authors:
# Dinesh Prasanth M K <dmoluguw@redhat.com>
#
# 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) 2017 Red Hat, Inc.
# All rights reserved.
#
container:
detach: true
hostname: master.ipa.test
working_dir: /freeipa
host:
binds:
- /sys/fs/cgroup:/sys/fs/cgroup:ro
- /dev/urandom:/dev/random:ro
privileged: true
security_opt:
- label:disable
tmpfs:
- /tmp
- /run
server:
domain: ipa.test
password: Secret.123
realm: IPA.TEST
steps:
build:
- echo "Skipping Build. Nothing to do..."
builddep:
- rm -rf /var/cache/dnf/*
- "dnf makecache || :"
cleanup:
- chown -R ${uid}:${gid} ${container_working_dir}
- journalctl -b --no-pager > systemd_journal.log
- >
tar --ignore-failed-read -cvf ${container_working_dir}/var_log.tar
/var/log/dirsrv
/var/log/httpd
/var/log/ipa*
/var/log/krb5kdc.log
/var/log/pki
systemd_journal.log
- chown ${uid}:${gid} ${container_working_dir}/var_log.tar
- curl --upload ${container_working_dir}/var_log.tar https://transfer.sh/var_log.tar
configure:
- dnf repolist
install_packages:
- echo "Installing recently built dogtag RPMs..."
- find ${container_working_dir}/dogtag_rpms/ -name '*.rpm' -and -not -name '*debuginfo*' | xargs dnf install -y
- rpm -qa tomcat* pki-* freeipa-* | sort
install_server:
- echo "Installing ipa-server..."
- sysctl net.ipv6.conf.lo.disable_ipv6=0
- ipa-server-install -U --domain ${server_domain} --realm ${server_realm} -p ${server_password}
-a ${server_password} --setup-dns --setup-kra --auto-forwarders
- systemctl restart httpd.service
lint:
- echo "Skipping lint. Nothing to do here..."
prepare_tests:
- echo ${server_password} | kinit admin && ipa ping
- cp -r /etc/ipa/* ~/.ipa/
- echo ${server_password} > ~/.ipa/.dmpw
- echo 'wait_for_dns=5' >> ~/.ipa/default.conf
run_tests:
- ipa-run-tests-3 ${tests_ignore} -k-test_dns_soa ${tests_verbose} ${path}
- ipa-server-install --uninstall -U
tests:
ignore:
- test_integration
- test_webui
- test_ipapython/test_keyring.py
verbose: true
#!/usr/bin/python3
import os
import shutil
from distutils.sysconfig import get_python_lib
BUILDDIR = os.environ['BUILDDIR']
PKIBASE = os.path.join(BUILDDIR, 'pki', 'base')
PKICLIENT = os.path.join(PKIBASE, 'common', 'python', 'pki')
PKISERVER = os.path.join(PKIBASE, 'server', 'python', 'pki', 'server')
PKISBIN = os.path.join(PKIBASE, 'server', 'sbin')
SITEPACKAGES = get_python_lib()
def copyfiles():
shutil.rmtree(os.path.join(SITEPACKAGES, 'pki'))
shutil.copytree(
PKICLIENT,
os.path.join(SITEPACKAGES, 'pki')
)
shutil.copytree(
PKISERVER,
os.path.join(SITEPACKAGES, 'pki', 'server')
)
if __name__ == '__main__':
copyfiles()
#!/bin/bash
#
# Authors:
# Dinesh Prasanth M K <dmoluguw@redhat.com>
#
# 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) 2017 Red Hat, Inc.
# All rights reserved.
#
set -e
PYTHON="/usr/bin/python${TRAVIS_PYTHON_VERSION}"
test_set="test_caacl_plugin.py test_caacl_profile_enforcement.py test_cert_plugin.py test_certprofile_plugin.py test_vault_plugin.py"
developer_mode_opt="--developer-mode"
cert_test_file_loc=""
function truncate_log_to_test_failures() {
# chop off everything in the CI_RESULTS_LOG preceding pytest error output
# if there are pytest errors in the log
error_fail_regexp='\(=== ERRORS ===\)\|\(=== FAILURES ===\)'
if grep -e "$error_fail_regexp" $CI_RESULTS_LOG > /dev/null
then
sed -i "/$error_fail_regexp/,\$!d" $CI_RESULTS_LOG
fi
}
if [[ "$TASK_TO_RUN" == "ipa-test" ]]
then
docker pull ${IPA_IMAGE}
# Copy the built RPMS to host machine
mkdir -p ${DOGTAG_PKI_RPMS}
docker cp ${CONTAINER}:${RPMS_LOCATION}/. ${DOGTAG_PKI_RPMS}
ls ${DOGTAG_PKI_RPMS}
# Install the ipa-docker-test-runner tool
pip3 install git+https://github.com/freeipa/ipa-docker-test-runner@release-0-3-1
for test_files in ${test_set}; do
cert_test_file_loc="${cert_test_file_loc} test_xmlrpc/${test_files}"
done
echo ${cert_test_file_loc}
ipa-docker-test-runner -l ${CI_RESULTS_LOG} \
-c .travis/ipa-test.yaml \
$developer_mode_opt \
--container-environment "PYTHON=$PYTHON" \
--container-image ${IPA_IMAGE} \
--git-repo ${TRAVIS_BUILD_DIR} \
run-tests ${cert_test_file_loc}
elif [[ "$TASK_TO_RUN" == "pki-test" ]]
then
# First install pki-core packges as it's the dependency for other packages
docker exec -i ${CONTAINER} ${SCRIPTDIR}/20-install-rpms || exit $?
# Install deps, generate RPMS for all other packages and install them (in order)
docker exec -i ${CONTAINER} ${SCRIPTDIR}/01-install-dependencies dogtag-pki-theme # meta
docker exec -i ${CONTAINER} ${SCRIPTDIR}/01-install-dependencies pki-console
docker exec -i ${CONTAINER} ${SCRIPTDIR}/01-install-dependencies dogtag-pki
docker exec -i ${CONTAINER} ${SCRIPTDIR}/10-compose-rpms compose_dogtag_pki_theme_packages
docker exec -i ${CONTAINER} ${SCRIPTDIR}/20-install-rpms || exit $?
docker exec -i ${CONTAINER} ${SCRIPTDIR}/10-compose-rpms compose_pki_console_packages
docker exec -i ${CONTAINER} ${SCRIPTDIR}/20-install-rpms || exit $?
docker exec -i ${CONTAINER} ${SCRIPTDIR}/10-compose-rpms compose_dogtag_pki_meta_packages
docker exec -i ${CONTAINER} ${SCRIPTDIR}/20-install-rpms || exit $?
docker exec -i ${CONTAINER} ${SCRIPTDIR}/30-setup-389ds
# Test whether pki subsystem works correctly
docker exec -i ${CONTAINER} ${SCRIPTDIR}/40-spawn-ca
docker exec -i ${CONTAINER} ${SCRIPTDIR}/50-spawn-kra
docker exec -i ${CONTAINER} ${SCRIPTDIR}/99-destroy
# copy pki.server for Python 3
docker exec -i ${CONTAINER} ${SCRIPTDIR}/py3rewrite
docker exec -i ${CONTAINER} ${SCRIPTDIR}/30-setup-389ds
docker exec -i ${CONTAINER} ${SCRIPTDIR}/40-spawn-ca
docker exec -i ${CONTAINER} ${SCRIPTDIR}/50-spawn-kra
docker exec -i ${CONTAINER} ${SCRIPTDIR}/99-destroy
fi
exit_status="$?"
if [[ "$exit_status" -ne 0 && "$TASK_TO_RUN" == "ipa-test" ]]
then
truncate_log_to_test_failures
fi
exit $exit_status
......@@ -6,16 +6,23 @@ cmake_minimum_required(VERSION 2.6.0)
# global needed variables
set(APPLICATION_NAME ${PROJECT_NAME})
# Suppress install messages
set(CMAKE_INSTALL_MESSAGE NEVER)
# Un-comment the following line to add 'javac' options (e. g. - "-g" debugging)
#set(CMAKE_JAVA_COMPILE_FLAGS "-g")
set(CMAKE_JAVA_COMPILE_FLAGS "-Xlint:deprecation")
if (NOT DEFINED VERSION)
set(VERSION "10.0.0")
endif(NOT DEFINED VERSION)
if (NOT DEFINED PKI_NSS_DB_TYPE)
set(PKI_NSS_DB_TYPE "dbm")
endif(NOT DEFINED PKI_NSS_DB_TYPE)
if (NOT DEFINED NSS_DEFAULT_DB_TYPE)
set(NSS_DEFAULT_DB_TYPE "dbm")
endif(NOT DEFINED NSS_DEFAULT_DB_TYPE)
if (NOT DEFINED THEME)
set(VERSION "dogtag")
endif(NOT DEFINED THEME)
string(REGEX REPLACE "^([0-9]+).*" "\\1" APPLICATION_VERSION_MAJOR ${VERSION})
string(REGEX REPLACE "^[0-9]+\\.([0-9]+).*" "\\1" APPLICATION_VERSION_MINOR ${VERSION})
......@@ -32,6 +39,10 @@ option(WITH_PYTHON3_DEFAULT "Build server and scripts with Python 3" OFF)
set(APPLICATION_VERSION "${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH}")
if(WITH_TEST)
enable_testing()
endif(WITH_TEST)
# where to look first for cmake modules
# (before ${CMAKE_ROOT}/Modules/ is checked)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
......@@ -80,12 +91,12 @@ set(CMAKE_THREAD_PREFER_PTHREADS ON)
find_package(Threads)
# NSS default database type
if (PKI_NSS_DB_TYPE STREQUAL "dbm")
if (NSS_DEFAULT_DB_TYPE STREQUAL "dbm")
message(STATUS "Using old 'dbm' format for NSS_DEFAULT_DB_TYPE")
elseif (PKI_NSS_DB_TYPE STREQUAL "sql")
elseif (NSS_DEFAULT_DB_TYPE STREQUAL "sql")
message(STATUS "Using new 'sql' format for NSS_DEFAULT_DB_TYPE")
else()
message(FATAL_ERROR "Unsupported PKI_NSS_DB_TYPE=${PKI_NSS_DB_TYPE}")
message(FATAL_ERROR "Unsupported NSS_DEFAULT_DB_TYPE=${NSS_DEFAULT_DB_TYPE}")
endif()
# Detect default Python interpreter
......@@ -138,9 +149,6 @@ if (BUILD_PKI_CORE OR BUILD_PKI_CONSOLE)
add_subdirectory(base)
endif ()
# 'Themes' MUST be "mutually-exclusive"!
if (BUILD_DOGTAG_PKI_THEME)
add_subdirectory(dogtag)
elseif (BUILD_REDHAT_PKI_THEME)
add_subdirectory(redhat)
if (NOT "${THEME}" STREQUAL "")
add_subdirectory(themes)
endif ()
# BEGIN COPYRIGHT BLOCK
# (C) 2008 Red Hat, Inc.
# All rights reserved.
# END COPYRIGHT BLOCK
This Certificate System is open-source software.
Please comply with the LICENSE contained in each of
the individual components, and the EXPORT CONTROL
regulations defined at:
http://www.dogtagpki.org/wiki/PKI_Download
These directories contain the following:
CMakeLists.txt
COPYING
cmake/ - These files and this directory contain
the top-level files necessary to integrate
the CMake build system in pki.
README - This file.
base/ - Contains most of the base source code
needed to build this project. Note that
this directory does NOT contain
implementation specific user-interface
components required to build a working
Certificate System.
dogtag/ - Contains the scripts and user-interface
components necessary to build a sample
working "Dogtag Certificate System".
The scripts in this directory leverage
the base source code located in the
"base/" directory, and are known to
work on both 32-bit and 64-bit
"Fedora" operating systems. Users
who wish to experiment with this project
should focus on this directory first.
scripts/ - Contains "scripts" used by this
certificate system. This directory
contains numerous "compose" scripts
useful for building RPMS/SRPMS of the
various certificate system components.
specs/ - Contains RPM spec files used for
building RPMS/SRPMS of the various
certificate system components.
tools/ - Contains utilities useful to
certificate system components.
Detailed instructions for building, installing, and
running this project are located at:
http://www.dogtagpki.org/wiki/PKI_Main_Page
Dogtag PKI
==========
[![Build Status](https://travis-ci.org/dogtagpki/pki-nightly-test.svg?branch=master)](https://travis-ci.org/dogtagpki/pki-nightly-test)
(C) 2008 Red Hat, Inc.
All rights reserved.
This Certificate System is open-source software.
Please comply with the LICENSE contained in each of
the individual components, and the EXPORT CONTROL
regulations defined at:
http://www.dogtagpki.org/wiki/PKI_Download
## Content
These directories contain the following:
* base
Contains most of the base source code
needed to build this project. Note that
this directory does NOT contain
implementation specific user-interface
components required to build a working
Certificate System.
* cmake
These files and this directory contain
the top-level files necessary to integrate
the CMake build system in pki.
* scripts
Contains "scripts" used by this
certificate system. This directory
contains numerous "compose" scripts
useful for building RPMS/SRPMS of the
various certificate system components.
* themes
Contains the scripts and user-interface
components to customize PKI web UI and
console.
* tools
Contains utilities useful to
certificate system components.
## Development
To build the project, see [Building PKI](docs/development/Building_PKI.md).
## See Also
* [Dogtag PKI](http://www.dogtagpki.org)
......@@ -34,6 +34,14 @@ find_file(SLF4J_JDK14_JAR
/usr/share/java
)
find_file(SLF4J_SIMPLE_JAR
NAMES
slf4j-simple.jar
PATHS
/usr/share/java/slf4j
/usr/share/java
)
find_file(COMMONS_CLI_JAR
NAMES
commons-cli.jar
......@@ -107,51 +115,48 @@ find_file(HTTPCORE_JAR
/usr/share/java
)
find_file(JACKSON_CORE_JAR
find_file(JACKSON2_CORE_JAR
NAMES
jackson-core-asl.jar
jackson-core.jar
PATHS
/usr/share/java/jackson
/usr/share/java
)
find_file(JACKSON_JAXRS_JAR
find_file(JACKSON2_DATABIND_JAR
NAMES
jackson-jaxrs.jar
jackson-databind.jar
PATHS
/usr/share/java/jackson
/usr/share/java
)
find_file(JACKSON_MAPPER_JAR
find_file(JACKSON2_ANNOTATIONS_JAR
NAMES
jackson-mapper-asl.jar
jackson-annotations.jar
PATHS
/usr/share/java/jackson
/usr/share/java
)
find_file(JACKSON_MRBEAN_JAR
find_file(JACKSON2_JAXRS_BASE_JAR
NAMES
jackson-mrbean.jar
jackson-jaxrs-base.jar
PATHS
/usr/share/java/jackson
/usr/share/java/jackson-jaxrs-providers
/usr/share/java
)
find_file(JACKSON_SMILE_JAR
find_file(JACKSON2_JAXRS_JSON_PROVIDER_JAR
NAMES
jackson-smile.jar
jackson-jaxrs-json-provider.jar
PATHS
/usr/share/java/jackson
/usr/share/java/jackson-jaxrs-providers
/usr/share/java
)
find_file(JACKSON_XC_JAR
find_file(JACKSON2_JAXB_ANNOTATIONS_JAR
NAMES
jackson-xc.jar
jackson-module-jaxb-annotations.jar
PATHS
/usr/share/java/jackson
/usr/share/java/jackson-modules
/usr/share/java
)
......@@ -186,14 +191,6 @@ find_file(LDAPJDK_JAR
/usr/share/java
)
find_file(NUXWDOG_JAR
NAMES
nuxwdog.jar
PATHS
${JAVA_LIB_INSTALL_DIR}
/usr/share/java
)
find_file(RESTEASY_JAXRS_JAR
NAMES
resteasy-jaxrs.jar
......@@ -208,6 +205,20 @@ find_file(RESTEASY_ATOM_PROVIDER_JAR
${RESTEASY_LIB}
)
find_file(RESTEASY_CLIENT_JAR
NAMES
resteasy-client.jar
PATHS
${RESTEASY_LIB}
)
find_file(SYMKEY_JAR
NAMES
symkey.jar
PATHS
${JAVA_LIB_INSTALL_DIR}
)
find_file(JASPIC_API_JAR
NAMES
jaspic-api.jar
......@@ -311,6 +322,47 @@ find_file(XML_COMMONS_RESOLVER_JAR
/usr/share/java
)
find_file(BASE_JAR
NAMES
idm-console-base.jar
PATHS
${JAVA_LIB_INSTALL_DIR}
/usr/share/java
)
find_file(MMC_JAR
NAMES
idm-console-mcc.jar
PATHS
${JAVA_LIB_INSTALL_DIR}
/usr/share/java
)
find_file(MMC_EN_JAR
NAMES
idm-console-mcc_en.jar
PATHS
${JAVA_LIB_INSTALL_DIR}
/usr/share/java
)
find_file(NMCLF_JAR
NAMES
idm-console-nmclf.jar
PATHS
${JAVA_LIB_INSTALL_DIR}
/usr/share/java
)
find_file(NMCLF_EN_JAR
NAMES
idm-console-nmclf_en.jar
PATHS
${JAVA_LIB_INSTALL_DIR}
/usr/share/java
)
# The order is important!
if (BUILD_PKI_CORE OR BUILD_PKI_CONSOLE)
add_subdirectory(test)
......@@ -330,12 +382,33 @@ if (BUILD_PKI_CORE OR BUILD_PKI_CONSOLE)
# required for native 'tpsclient' utility
add_subdirectory(tps-client)
list(APPEND PKI_JAVADOC_SOURCEPATH
${CMAKE_SOURCE_DIR}/base/server/cms/src)
list(APPEND PKI_JAVADOC_SUBPACKAGES
com.netscape.cms)
list(APPEND PKI_JAVADOC_CLASSPATH
${PKI_TOMCAT_JAR}
${PKI_CMS_JAR}
${PKI_CMSCORE_JAR})
list(APPEND PKI_JAVADOC_DEPENDS
pki-tomcat-jar
pki-cms-jar
pki-cmscore-jar
pki-ca-jar
pki-kra-jar
pki-ocsp-jar
pki-tks-jar
pki-tps-jar)
endif(WITH_SERVER)
if(WITH_JAVADOC)
add_subdirectory(javadoc)
endif(WITH_JAVADOC)
endif(WITH_SERVER)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/VERSION
${CMAKE_CURRENT_BINARY_DIR}/VERSION
......
Name: pki
Specification-Version: ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}
Implementation-Version: ${APPLICATION_VERSION}
Specification-Version: ${APPLICATION_VERSION}
Implementation-Version: ${VERSION}
......@@ -15,9 +15,6 @@ export PKI_INSTANCE_NAME
PKI_INSTANCE_PATH=[PKI_INSTANCE_PATH]
export PKI_INSTANCE_PATH
PKI_INSTANCE_INITSCRIPT=[PKI_INSTANCE_INITSCRIPT]
export PKI_INSTANCE_INITSCRIPT
PKI_SERVER_XML_CONF=[PKI_SERVER_XML_CONF]
export PKI_SERVER_XML_CONF
......@@ -35,18 +32,6 @@ export TOMCAT_USER
TOMCAT_GROUP=$PKI_GROUP
export TOMCAT_GROUP
PKI_LOCKDIR="/var/lock/pki/${PKI_SUBSYSTEM_TYPE}"
export PKI_LOCKDIR
PKI_LOCKFILE="${PKI_LOCKDIR}/${PKI_INSTANCE_NAME}"
export PKI_LOCKFILE
PKI_PIDDIR="/var/run/pki/${PKI_SUBSYSTEM_TYPE}"
export PKI_PIDDIR
PKI_PIDFILE="${PKI_PIDDIR}/${PKI_INSTANCE_NAME}.pid"
export PKI_PIDFILE
TOMCAT_LOCKFILE=/var/lock/subsys/${PKI_INSTANCE_NAME}
export TOMCAT_LOCKFILE
......