dogtag-pki/dogtag-pki.spec

1383 lines
44 KiB
RPMSpec
Raw Normal View History

2018-04-11 02:39:29 +00:00
################################################################################
Name: dogtag-pki
2018-04-11 02:39:29 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%global product_name Dogtag PKI
%global product_id dogtag-pki
%global theme dogtag
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Package
URL: https://www.dogtagpki.org
2018-04-11 02:39:29 +00:00
# The entire source code is GPLv2 except for 'pki-tps' which is LGPLv2
License: GPLv2 and LGPLv2
# For development (i.e. unsupported) releases, use x.y.z-0.n.<phase>.
# For official (i.e. supported) releases, use x.y.z-r where r >=1.
2021-06-22 23:02:47 +00:00
Version: 11.0.0
2021-09-30 04:37:13 +00:00
Release: 1%{?_timestamp}%{?_commit_id}%{?dist}
#global _phase -alpha1
2018-06-27 16:22:25 +00:00
# To create a tarball from a version tag:
# $ git archive \
# --format=tar.gz \
# --prefix pki-<version>/ \
# -o pki-<version>.tar.gz \
# <version tag>
Source: https://github.com/dogtagpki/pki/archive/v%{version}%{?_phase}/pki-%{version}%{?_phase}.tar.gz
# To create a patch for all changes since a version tag:
# $ git format-patch \
# --stdout \
# <version tag> \
# > pki-VERSION-RELEASE.patch
# Patch: pki-VERSION-RELEASE.patch
2021-05-19 00:29:11 +00:00
# md2man isn't available on i686. Additionally, we aren't generally multi-lib
# compatible (https://fedoraproject.org/wiki/Packaging:Java)
# so dropping i686 everywhere but RHEL-8 (which we've already shipped) seems
# safest.
%if ! 0%{?rhel} || 0%{?rhel} > 8
ExcludeArch: i686
%endif
2018-06-27 16:22:25 +00:00
################################################################################
# NSS
################################################################################
%global nss_default_db_type sql
2017-10-20 00:04:10 +00:00
2018-04-11 02:39:29 +00:00
################################################################################
# Python
################################################################################
2021-05-19 00:29:11 +00:00
%if 0%{?rhel} && 0%{?rhel} <= 8
%global python_executable /usr/libexec/platform-python
2018-06-27 16:22:25 +00:00
%else
%global python_executable /usr/bin/python3
2018-06-27 16:22:25 +00:00
%endif
################################################################################
# Java
################################################################################
2021-06-10 14:55:56 +00:00
%define java_devel java-11-openjdk-devel
%define java_headless java-11-openjdk-headless
%define java_home /usr/lib/jvm/jre-11-openjdk
2018-06-27 16:22:25 +00:00
################################################################################
# RESTEasy
################################################################################
%define jaxrs_api_jar /usr/share/java/jboss-jaxrs-2.0-api.jar
%define resteasy_lib /usr/share/java/resteasy
################################################################################
# PKI
################################################################################
2021-06-22 23:02:47 +00:00
# Execute unit tests unless --without test is specified.
2021-06-10 14:55:56 +00:00
%bcond_without test
2018-06-27 16:22:25 +00:00
2021-06-22 23:02:47 +00:00
# Don't build console unless --with console is specified.
%bcond_with console
2018-06-27 16:22:25 +00:00
# By default all packages will be built except the ones specified with
# --without <package> option (exclusion method).
# If --with pkgs option is specified, only packages specified with
# --with <package> will be built (inclusion method).
2021-08-12 18:07:35 +00:00
%bcond_with pkgs
2018-06-27 16:22:25 +00:00
# Define package_option macro to wrap bcond_with or bcond_without macro
# depending on package selection method.
%if %{with pkgs}
%define package_option() %bcond_with %1
%else
%define package_option() %bcond_without %1
%endif
2018-06-27 16:22:25 +00:00
# Define --with <package> or --without <package> options depending on
# package selection method.
2021-08-12 18:07:35 +00:00
%package_option base
%package_option server
%package_option acme
%package_option ca
%package_option kra
%package_option ocsp
%package_option tks
%package_option tps
%package_option javadoc
%package_option theme
%package_option meta
%package_option tests
%package_option debug
2018-06-27 16:22:25 +00:00
%if ! %{with debug}
%define debug_package %{nil}
%endif
2018-06-27 16:22:25 +00:00
# ignore unpackaged files from native 'tpsclient'
# REMINDER: Remove this '%%define' once 'tpsclient' is rewritten as a Java app
%define _unpackaged_files_terminate_build 0
# The PKI UID and GID are preallocated, see:
# https://bugzilla.redhat.com/show_bug.cgi?id=476316
# https://bugzilla.redhat.com/show_bug.cgi?id=476782
# https://pagure.io/setup/blob/master/f/uidgid
# /usr/share/doc/setup/uidgid
2018-06-27 16:22:25 +00:00
%define pki_username pkiuser
%define pki_uid 17
%define pki_groupname pkiuser
%define pki_gid 17
%define pki_homedir /usr/share/pki
%global saveFileContext() \
if [ -s /etc/selinux/config ]; then \
. %{_sysconfdir}/selinux/config; \
FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \
if [ "${SELINUXTYPE}" == %1 -a -f ${FILE_CONTEXT} ]; then \
cp -f ${FILE_CONTEXT} ${FILE_CONTEXT}.%{name}; \
fi \
fi;
%global relabel() \
. %{_sysconfdir}/selinux/config; \
FILE_CONTEXT=%{_sysconfdir}/selinux/%1/contexts/files/file_contexts; \
selinuxenabled; \
if [ $? == 0 -a "${SELINUXTYPE}" == %1 -a -f ${FILE_CONTEXT}.%{name} ]; then \
fixfiles -C ${FILE_CONTEXT}.%{name} restore; \
rm -f ${FILE_CONTEXT}.%name; \
fi;
################################################################################
# Build Dependencies
################################################################################
BuildRequires: make
BuildRequires: cmake >= 3.0.2
2018-06-27 16:22:25 +00:00
BuildRequires: gcc-c++
BuildRequires: zip
2021-06-10 14:55:56 +00:00
BuildRequires: %{java_devel}
BuildRequires: javapackages-tools
2018-06-27 16:22:25 +00:00
BuildRequires: redhat-rpm-config
BuildRequires: apache-commons-cli
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-io
BuildRequires: apache-commons-lang3 >= 3.2
2021-06-10 14:55:56 +00:00
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-net
2018-06-27 16:22:25 +00:00
BuildRequires: slf4j
BuildRequires: slf4j-jdk14
BuildRequires: nspr-devel
BuildRequires: nss-devel >= 3.36.1
BuildRequires: openldap-devel
BuildRequires: pkgconfig
BuildRequires: policycoreutils
BuildRequires: python3-lxml
BuildRequires: python3-sphinx
BuildRequires: xalan-j2
BuildRequires: xerces-j2
BuildRequires: resteasy >= 3.0.26
2018-06-27 16:22:25 +00:00
BuildRequires: python3 >= 3.5
2018-06-27 16:22:25 +00:00
BuildRequires: python3-devel
BuildRequires: python3-setuptools
2018-06-27 16:22:25 +00:00
BuildRequires: python3-cryptography
BuildRequires: python3-lxml
BuildRequires: python3-ldap
2018-06-27 16:22:25 +00:00
BuildRequires: python3-libselinux
BuildRequires: python3-requests >= 2.6.0
BuildRequires: python3-six
2018-06-27 16:22:25 +00:00
BuildRequires: junit
BuildRequires: jpackage-utils >= 0:1.7.5-10
2021-06-22 23:02:47 +00:00
BuildRequires: jss >= 5.0.0
BuildRequires: tomcatjss >= 8.0.0
BuildRequires: ldapjdk >= 5.0.0
2018-06-27 16:22:25 +00:00
BuildRequires: systemd-units
%if 0%{?rhel} && ! 0%{?eln}
BuildRequires: pki-servlet-engine
2018-06-27 16:22:25 +00:00
%else
BuildRequires: tomcat >= 1:9.0.7
%endif
# additional build requirements needed to build native 'tpsclient'
# REMINDER: Revisit these once 'tpsclient' is rewritten as a Java app
BuildRequires: apr-devel
BuildRequires: apr-util-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: httpd-devel >= 2.4.2
BuildRequires: pcre-devel
BuildRequires: systemd
BuildRequires: zlib
BuildRequires: zlib-devel
# build dependency to build man pages
2021-05-19 00:29:11 +00:00
%if 0%{?fedora} && 0%{?fedora} <= 30 || 0%{?rhel} && 0%{?rhel} <= 8
BuildRequires: go-md2man
%else
BuildRequires: golang-github-cpuguy83-md2man
%endif
# pki-healthcheck depends on the following library
%if 0%{?rhel}
BuildRequires: ipa-healthcheck-core
%else
BuildRequires: freeipa-healthcheck-core
%endif
# PKICertImport depends on certutil and openssl
BuildRequires: nss-tools
BuildRequires: openssl
2018-08-13 21:26:05 +00:00
# description for top-level package (if there is a separate meta package)
2021-08-12 18:07:35 +00:00
%if "%{name}" != "%{product_id}"
2018-08-13 21:26:05 +00:00
%description
2021-08-12 18:07:35 +00:00
%{product_name} is an enterprise software system designed
2018-08-13 21:26:05 +00:00
to manage enterprise Public Key Infrastructure deployments.
2021-08-12 18:07:35 +00:00
%{product_name} consists of the following components:
2018-08-13 21:26:05 +00:00
* Automatic Certificate Management Environment (ACME) Responder
2018-08-13 21:26:05 +00:00
* Certificate Authority (CA)
* Key Recovery Authority (KRA)
* Online Certificate Status Protocol (OCSP) Manager
* Token Key Service (TKS)
* Token Processing Service (TPS)
%endif
2018-06-27 16:22:25 +00:00
%if %{with meta}
2021-08-12 18:07:35 +00:00
%if "%{name}" != "%{product_id}"
2018-08-13 21:26:05 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}
2018-08-13 21:26:05 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Package
2018-08-13 21:26:05 +00:00
%endif
2018-03-29 18:50:14 +00:00
2021-08-12 18:07:35 +00:00
Obsoletes: pki-console < %{version}
Obsoletes: pki-console-theme < %{version}
Obsoletes: idm-console-framework < 2.0
# Make certain that this 'meta' package requires the latest version(s)
2018-05-04 03:40:19 +00:00
# of ALL PKI theme packages
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-server-theme = %{version}-%{release}
# Make certain that this 'meta' package requires the latest version(s)
2018-04-11 04:03:34 +00:00
# of ALL PKI core packages
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-acme = %{version}-%{release}
Requires: %{product_id}-ca = %{version}-%{release}
Requires: %{product_id}-kra = %{version}-%{release}
Requires: %{product_id}-ocsp = %{version}-%{release}
Requires: %{product_id}-tks = %{version}-%{release}
Requires: %{product_id}-tps = %{version}-%{release}
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-javadoc = %{version}-%{release}
# Make certain that this 'meta' package requires the latest version(s)
# of ALL PKI clients -- except for s390/s390x where 'esc' is not built
%ifnarch s390 s390x
2018-06-27 16:22:25 +00:00
Requires: esc >= 1.1.1
%endif
2018-08-13 21:26:05 +00:00
# description for top-level package (unless there is a separate meta package)
2021-08-12 18:07:35 +00:00
%if "%{name}" == "%{product_id}"
%description
2018-08-13 21:26:05 +00:00
%else
2021-08-12 18:07:35 +00:00
%description -n %{product_id}
2018-08-13 21:26:05 +00:00
%endif
2018-06-27 16:22:25 +00:00
2021-08-12 18:07:35 +00:00
%{product_name} is an enterprise software system designed
2018-06-27 16:22:25 +00:00
to manage enterprise Public Key Infrastructure deployments.
2021-08-12 18:07:35 +00:00
%{product_name} consists of the following components:
* Automatic Certificate Management Environment (ACME) Responder
* Certificate Authority (CA)
* Key Recovery Authority (KRA)
* Online Certificate Status Protocol (OCSP) Manager
* Token Key Service (TKS)
2018-06-27 16:22:25 +00:00
* Token Processing Service (TPS)
# with meta
%endif
2018-08-13 21:26:05 +00:00
2018-06-27 16:22:25 +00:00
%if %{with base}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-symkey
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Symmetric Key Package
Obsoletes: pki-symkey < %{version}-%{release}
Provides: pki-symkey = %{version}-%{release}
2018-06-27 16:22:25 +00:00
2021-06-10 14:55:56 +00:00
Requires: %{java_headless}
2018-06-27 16:22:25 +00:00
Requires: jpackage-utils >= 0:1.7.5-10
2021-06-22 23:02:47 +00:00
Requires: jss >= 5.0.0
Requires: nss >= 3.38.0
# Ensure we end up with a useful installation
Conflicts: pki-symkey < %{version}
Conflicts: pki-javadoc < %{version}
Conflicts: pki-server-theme < %{version}
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-symkey
This package provides library for symmetric key operations.
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-base
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Base Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-base < %{version}-%{release}
Provides: pki-base = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires: nss >= 3.36.1
Requires: python3-pki = %{version}-%{release}
Requires(post): python3-pki = %{version}-%{release}
2018-06-27 16:22:25 +00:00
# Ensure we end up with a useful installation
Conflicts: pki-symkey < %{version}
Conflicts: pki-javadoc < %{version}
Conflicts: pki-server-theme < %{version}
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-base
This package provides default configuration files for %{product_name} client.
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%package -n python3-%{product_id}
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Python 3 Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: python3-pki < %{version}-%{release}
Provides: python3-pki = %{version}-%{release}
Obsoletes: pki-base-python3 < %{version}-%{release}
Provides: pki-base-python3 = %{version}-%{release}
2021-05-19 00:29:11 +00:00
%if 0%{?fedora} || 0%{?rhel} > 8
2018-06-27 16:22:25 +00:00
%{?python_provide:%python_provide python3-pki}
%endif
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-base = %{version}-%{release}
Requires: python3 >= 3.5
2018-06-27 16:22:25 +00:00
Requires: python3-cryptography
Requires: python3-ldap
2018-06-27 16:22:25 +00:00
Requires: python3-lxml
Requires: python3-requests >= 2.6.0
Requires: python3-six
2021-08-12 18:07:35 +00:00
%description -n python3-%{product_id}
This package provides common and client library for Python 3.
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-base-java
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Base Java Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-base-java < %{version}-%{release}
Provides: pki-base-java = %{version}-%{release}
2021-06-10 14:55:56 +00:00
Requires: %{java_headless}
2018-06-27 16:22:25 +00:00
Requires: apache-commons-cli
Requires: apache-commons-codec
Requires: apache-commons-io
Requires: apache-commons-lang3 >= 3.2
2018-06-27 16:22:25 +00:00
Requires: apache-commons-logging
Requires: apache-commons-net
2018-06-27 16:22:25 +00:00
Requires: slf4j
Requires: slf4j-jdk14
Requires: jpackage-utils >= 0:1.7.5-10
2021-06-22 23:02:47 +00:00
Requires: jss >= 5.0.0
Requires: ldapjdk >= 5.0.0
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-base = %{version}-%{release}
2018-06-27 16:22:25 +00:00
2021-05-19 00:29:11 +00:00
%if 0%{?rhel} && 0%{?rhel} <= 8
Requires: resteasy >= 3.0.26
2018-06-27 16:22:25 +00:00
%else
Requires: resteasy-client >= 3.0.17-1
Requires: resteasy-core >= 3.0.17-1
2018-11-30 20:56:35 +00:00
Requires: resteasy-jackson2-provider >= 3.0.17-1
2018-06-27 16:22:25 +00:00
%endif
Requires: xalan-j2
Requires: xerces-j2
Requires: xml-commons-resolver
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-base-java
This package provides common and client libraries for Java.
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-tools
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Tools Package
Obsoletes: pki-tools < %{version}-%{release}
Provides: pki-tools = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires: openldap-clients
Requires: nss-tools >= 3.36.1
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-base-java = %{version}-%{release}
Requires: p11-kit-trust
# PKICertImport depends on certutil and openssl
Requires: nss-tools
Requires: openssl
2018-06-27 16:22:25 +00:00
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-tools
This package provides tools that can be used to help make
%{product_name} into a more complete and robust PKI solution.
2018-06-27 16:22:25 +00:00
# with base
%endif
2018-06-27 16:22:25 +00:00
%if %{with server}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-server
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Server Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-server < %{version}-%{release}
Provides: pki-server = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires: hostname
Requires: policycoreutils
Requires: procps-ng
Requires: openldap-clients
Requires: openssl
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-symkey = %{version}-%{release}
Requires: %{product_id}-tools = %{version}-%{release}
Requires: keyutils
2018-06-27 16:22:25 +00:00
Requires: policycoreutils-python-utils
Requires: python3-lxml
Requires: python3-libselinux
Requires: python3-policycoreutils
Requires: selinux-policy-targeted >= 3.13.1-159
%if 0%{?rhel} && ! 0%{?eln}
Requires: pki-servlet-engine
2018-06-27 16:22:25 +00:00
%else
Requires: tomcat >= 1:9.0.7
%endif
Requires: systemd
2018-06-27 16:22:25 +00:00
Requires(post): systemd-units
Requires(postun): systemd-units
Requires(pre): shadow-utils
2021-06-22 23:02:47 +00:00
Requires: tomcatjss >= 8.0.0
# pki-healthcheck depends on the following library
%if 0%{?rhel}
Requires: ipa-healthcheck-core
%else
Requires: freeipa-healthcheck-core
2018-06-27 16:22:25 +00:00
%endif
2018-11-30 20:56:35 +00:00
# https://pagure.io/freeipa/issue/7742
%if 0%{?rhel}
Conflicts: ipa-server < 4.7.1
%else
2018-11-30 20:56:35 +00:00
Conflicts: freeipa-server < 4.7.1
%endif
2018-11-30 20:56:35 +00:00
Provides: bundled(js-backbone) = 1.4.0
Provides: bundled(js-bootstrap) = 3.4.1
Provides: bundled(js-jquery) = 3.5.1
Provides: bundled(js-jquery-i18n-properties) = 1.2.7
Provides: bundled(js-patternfly) = 3.59.2
Provides: bundled(js-underscore) = 1.9.2
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-server
This package provides libraries and utilities needed by %{product_name} services.
2018-06-27 16:22:25 +00:00
# with server
%endif
2018-06-27 16:22:25 +00:00
%if %{with acme}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-acme
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} ACME Package
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-acme < %{version}-%{release}
Provides: pki-acme = %{version}-%{release}
Requires: %{product_id}-server = %{version}-%{release}
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-acme
%{product_name} ACME responder is a service that provides an automatic certificate
management via ACME v2 protocol defined in RFC 8555.
# with acme
%endif
2018-06-27 16:22:25 +00:00
%if %{with ca}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-ca
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} CA Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-ca < %{version}-%{release}
Provides: pki-ca = %{version}-%{release}
Requires: %{product_id}-server = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires(post): systemd-units
Requires(postun): systemd-units
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-ca
%{product_name} Certificate Authority (CA) is a required subsystem which issues,
2018-06-27 16:22:25 +00:00
renews, revokes, and publishes certificates as well as compiling and
publishing Certificate Revocation Lists (CRLs).
The Certificate Authority can be configured as a self-signing Certificate
Authority, where it is the root CA, or it can act as a subordinate CA,
where it obtains its own signing certificate from a public CA.
# with ca
%endif
2018-06-27 16:22:25 +00:00
%if %{with kra}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-kra
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} KRA Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-kra < %{version}-%{release}
Provides: pki-kra = %{version}-%{release}
Requires: %{product_id}-server = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires(post): systemd-units
Requires(postun): systemd-units
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-kra
%{product_name} Key Recovery Authority (KRA) is an optional subsystem that can act
2018-06-27 16:22:25 +00:00
as a key archival facility. When configured in conjunction with the
Certificate Authority (CA), the KRA stores private encryption keys as part of
the certificate enrollment process. The key archival mechanism is triggered
when a user enrolls in the PKI and creates the certificate request. Using the
Certificate Request Message Format (CRMF) request format, a request is
generated for the user's private encryption key. This key is then stored in
the KRA which is configured to store keys in an encrypted format that can only
be decrypted by several agents requesting the key at one time, providing for
protection of the public encryption keys for the users in the PKI deployment.
Note that the KRA archives encryption keys; it does NOT archive signing keys,
since such archival would undermine non-repudiation properties of signing keys.
# with kra
%endif
2018-06-27 16:22:25 +00:00
%if %{with ocsp}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-ocsp
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} OCSP Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-ocsp < %{version}-%{release}
Provides: pki-ocsp = %{version}-%{release}
Requires: %{product_id}-server = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires(post): systemd-units
Requires(postun): systemd-units
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-ocsp
%{product_name} Online Certificate Status Protocol (OCSP) Manager is an optional
2018-06-27 16:22:25 +00:00
subsystem that can act as a stand-alone OCSP service. The OCSP Manager
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 Certificate Authority (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 CA resides inside of a firewall, or to take the load of
requests off of the CA.
The OCSP Manager can receive Certificate Revocation Lists (CRLs) from
multiple CA servers, and clients can query the OCSP Manager for the
revocation status of certificates issued by all of these CA servers.
When an instance of OCSP Manager is set up with an instance of CA, and
publishing is set up to this OCSP Manager, CRLs are published to it
whenever they are issued or updated.
# with ocsp
%endif
2018-06-27 16:22:25 +00:00
%if %{with tks}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-tks
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} TKS Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-tks < %{version}-%{release}
Provides: pki-tks = %{version}-%{release}
Requires: %{product_id}-server = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires(post): systemd-units
Requires(postun): systemd-units
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-tks
%{product_name} Token Key Service (TKS) is an optional subsystem that manages the
2018-06-27 16:22:25 +00:00
master key(s) and the transport key(s) required to generate and distribute
keys for hardware tokens. TKS provides the security between tokens and an
instance of Token Processing System (TPS), where the security relies upon the
relationship between the master key and the token keys. A TPS communicates
with a TKS over SSL using client authentication.
TKS helps establish a secure channel (signed and encrypted) between the token
and the TPS, provides proof of presence of the security token during
enrollment, and supports key changeover when the master key changes on the
TKS. Tokens with older keys will get new token keys.
Because of the sensitivity of the data that TKS manages, TKS should be set up
behind the firewall with restricted access.
# with tks
%endif
2018-06-27 16:22:25 +00:00
%if %{with tps}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-tps
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} TPS Package
Obsoletes: pki-tps < %{version}-%{release}
Provides: pki-tps = %{version}-%{release}
2018-06-27 16:22:25 +00:00
2021-08-12 18:07:35 +00:00
Requires: %{product_id}-server = %{version}-%{release}
2018-06-27 16:22:25 +00:00
Requires(post): systemd-units
Requires(postun): systemd-units
# additional runtime requirements needed to run native 'tpsclient'
# REMINDER: Revisit these once 'tpsclient' is rewritten as a Java app
Requires: nss-tools >= 3.36.1
Requires: openldap-clients
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-tps
%{product_name} Token Processing System (TPS) is an optional subsystem that acts
2018-06-27 16:22:25 +00:00
as a Registration Authority (RA) for authenticating and processing
enrollment requests, PIN reset requests, and formatting requests from
the Enterprise Security Client (ESC).
TPS is designed to communicate with tokens that conform to
Global Platform's Open Platform Specification.
TPS communicates over SSL with various PKI backend subsystems (including
the Certificate Authority (CA), the Key Recovery Authority (KRA), and the
Token Key Service (TKS)) to fulfill the user's requests.
TPS also interacts with the token database, an LDAP server that stores
information about individual tokens.
The utility "tpsclient" is a test tool that interacts with TPS. This
tool is useful to test TPS server configs without risking an actual
smart card.
# with tps
%endif
2018-06-27 16:22:25 +00:00
%if %{with javadoc}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-javadoc
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Javadoc Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-javadoc < %{version}-%{release}
Provides: pki-javadoc = %{version}-%{release}
# Ensure we end up with a useful installation
Conflicts: pki-base < %{version}
Conflicts: pki-symkey < %{version}
Conflicts: pki-server-theme < %{version}
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-javadoc
This package provides %{product_name} API documentation.
2018-06-27 16:22:25 +00:00
# with javadoc
%endif
2018-06-27 16:22:25 +00:00
%if %{with console}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-console
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Console Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
BuildRequires: idm-console-framework >= 2.0
Obsoletes: pki-console < %{version}-%{release}
Provides: pki-console = %{version}-%{release}
2018-06-27 16:22:25 +00:00
2021-08-12 18:07:35 +00:00
Requires: idm-console-framework >= 2.0
Requires: %{product_id}-base-java = %{version}-%{release}
Requires: %{product_id}-console-theme = %{version}-%{release}
2018-06-27 16:22:25 +00:00
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-console
%{product_name} Console is a Java application used to administer %{product_name} Server.
2018-06-27 16:22:25 +00:00
# with console
%endif
2018-06-27 16:22:25 +00:00
%if %{with theme}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-server-theme
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Server Theme Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-server-theme < %{version}-%{release}
Provides: pki-server-theme = %{version}-%{release}
# Ensure we end up with a useful installation
Conflicts: pki-base < %{version}
Conflicts: pki-symkey < %{version}
Conflicts: pki-javadoc < %{version}
2018-08-13 21:26:05 +00:00
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-server-theme
This package provides theme files for %{product_name} Server.
2018-06-27 16:22:25 +00:00
2021-06-22 23:02:47 +00:00
%if %{with console}
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-console-theme
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Console Theme Package
2018-06-27 16:22:25 +00:00
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-console-theme < %{version}-%{release}
Provides: pki-console-theme = %{version}-%{release}
# Ensure we end up with a useful installation
Conflicts: pki-base < %{version}
Conflicts: pki-symkey < %{version}
Conflicts: pki-server-theme < %{version}
Conflicts: pki-javadoc < %{version}
2021-08-12 18:07:35 +00:00
%description -n %{product_id}-console-theme
This package provides theme files for %{product_name} Console.
2018-06-27 16:22:25 +00:00
2021-06-22 23:02:47 +00:00
# with console
%endif
# with theme
%endif
%if %{with tests}
################################################################################
2021-08-12 18:07:35 +00:00
%package -n %{product_id}-tests
################################################################################
2021-08-12 18:07:35 +00:00
Summary: %{product_name} Tests
BuildArch: noarch
2021-08-12 18:07:35 +00:00
Obsoletes: pki-tests < %{version}-%{release}
Provides: pki-tests = %{version}-%{release}
Requires: python3-pylint
Requires: python3-flake8
%description -n %{product_id}-tests
This package provides test suite for %{product_name}.
# with tests
%endif
2018-05-04 03:40:19 +00:00
################################################################################
%prep
################################################################################
2021-06-01 20:01:05 +00:00
%autosetup -n pki-%{version}%{?_phase} -p 1
2018-06-27 16:22:25 +00:00
2018-05-04 03:40:19 +00:00
################################################################################
%build
################################################################################
# get Java <major>.<minor> version number
java_version=`%{java_home}/bin/java -XshowSettings:properties -version 2>&1 | sed -n 's/ *java.version *= *\([0-9]\+\.[0-9]\+\).*/\1/p'`
# if <major> == 1, get <minor> version number
# otherwise get <major> version number
java_version=`echo $java_version | sed -e 's/^1\.//' -e 's/\..*$//'`
2021-03-11 01:18:12 +00:00
# assume tomcat app_server
2021-05-19 00:29:11 +00:00
app_server=tomcat-9.0
2018-08-09 02:04:49 +00:00
2021-05-19 00:29:11 +00:00
%if 0%{?rhel} && 0%{?rhel} <= 8
%{__mkdir_p} build
cd build
%endif
2018-06-27 16:22:25 +00:00
%cmake \
--no-warn-unused-cli \
-DVERSION=%{version}-%{release} \
-DVAR_INSTALL_DIR:PATH=/var \
-DP11_KIT_TRUST=/etc/alternatives/libnssckbi.so.%{_arch} \
-DJAVA_VERSION=${java_version} \
2021-06-10 14:55:56 +00:00
-DJAVA_HOME=%{java_home} \
-DPKI_JAVA_PATH=%{java_home}/bin/java \
2018-06-27 16:22:25 +00:00
-DJAVA_LIB_INSTALL_DIR=%{_jnidir} \
-DSYSTEMD_LIB_INSTALL_DIR=%{_unitdir} \
2018-08-09 02:04:49 +00:00
-DAPP_SERVER=$app_server \
2018-06-27 16:22:25 +00:00
-DJAXRS_API_JAR=%{jaxrs_api_jar} \
-DRESTEASY_LIB=%{resteasy_lib} \
-DNSS_DEFAULT_DB_TYPE=%{nss_default_db_type} \
-DBUILD_PKI_CORE:BOOL=ON \
-DPYTHON_EXECUTABLE=%{python_executable} \
%if ! %{with server} && ! %{with acme} && ! %{with ca} && ! %{with kra} && ! %{with ocsp} && ! %{with tks} && ! %{with tps}
2018-06-27 16:22:25 +00:00
-DWITH_SERVER:BOOL=OFF \
%endif
-DWITH_CA:BOOL=%{?with_ca:ON}%{!?with_ca:OFF} \
-DWITH_KRA:BOOL=%{?with_kra:ON}%{!?with_kra:OFF} \
-DWITH_OCSP:BOOL=%{?with_ocsp:ON}%{!?with_ocsp:OFF} \
-DWITH_TKS:BOOL=%{?with_tks:ON}%{!?with_tks:OFF} \
-DWITH_TPS:BOOL=%{?with_tps:ON}%{!?with_tps:OFF} \
-DWITH_ACME:BOOL=%{?with_acme:ON}%{!?with_acme:OFF} \
2018-06-27 16:22:25 +00:00
-DWITH_JAVADOC:BOOL=%{?with_javadoc:ON}%{!?with_javadoc:OFF} \
-DWITH_TEST:BOOL=%{?with_test:ON}%{!?with_test:OFF} \
2018-06-27 16:22:25 +00:00
-DBUILD_PKI_CONSOLE:BOOL=%{?with_console:ON}%{!?with_console:OFF} \
2021-08-12 18:07:35 +00:00
-DTHEME=%{?with_theme:%{theme}} \
2021-05-19 00:29:11 +00:00
%if 0%{?rhel} && 0%{?rhel} <= 8
..
%else
-B %{_vpath_builddir}
%endif
2021-05-19 00:29:11 +00:00
%if 0%{?fedora} || 0%{?rhel} > 8
cd %{_vpath_builddir}
%endif
2018-06-27 16:22:25 +00:00
# Do not use _smp_mflags to preserve build order
%{__make} \
VERBOSE=%{?_verbose} \
CMAKE_NO_VERBOSE=1 \
DESTDIR=%{buildroot} \
INSTALL="install -p" \
--no-print-directory \
all
2018-04-11 02:39:29 +00:00
################################################################################
2018-04-11 04:04:59 +00:00
%install
2018-04-11 02:39:29 +00:00
################################################################################
2021-05-19 00:29:11 +00:00
%if 0%{?rhel} && 0%{?rhel} <= 8
cd build
%else
cd %{_vpath_builddir}
%endif
%{__make} \
2018-06-27 16:22:25 +00:00
VERBOSE=%{?_verbose} \
CMAKE_NO_VERBOSE=1 \
DESTDIR=%{buildroot} \
INSTALL="install -p" \
--no-print-directory \
install
2018-06-27 16:22:25 +00:00
2021-06-01 20:01:50 +00:00
%if %{with test}
ctest --output-on-failure
%endif
2018-06-27 16:22:25 +00:00
%if %{with meta}
2018-04-11 04:04:59 +00:00
%{__mkdir_p} %{buildroot}%{_datadir}/doc/pki
cat > %{buildroot}%{_datadir}/doc/pki/README << EOF
2018-08-13 21:26:05 +00:00
This package is a "meta-package" whose dependencies pull in all of the
2021-08-12 18:07:35 +00:00
packages comprising the %{product_name} Suite.
EOF
2018-06-27 16:22:25 +00:00
# with meta
2018-06-27 16:22:25 +00:00
%endif
# Customize client library links in /usr/share/pki/lib
ln -sf /usr/share/java/jboss-logging/jboss-logging.jar %{buildroot}%{_datadir}/pki/lib/jboss-logging.jar
2021-06-22 23:02:47 +00:00
%if 0%{?fedora} && 0%{?fedora} <= 34
ln -sf /usr/share/java/jboss-annotations-1.2-api/jboss-annotations-api_1.2_spec.jar %{buildroot}%{_datadir}/pki/lib/jboss-annotations-api_1.2_spec.jar
2021-06-22 23:02:47 +00:00
%else
ln -sf /usr/share/java/jakarta-annotations/jakarta.annotation-api.jar %{buildroot}%{_datadir}/pki/lib/jakarta.annotation-api.jar
%endif
2018-06-27 16:22:25 +00:00
%if %{with server}
2018-07-20 23:39:32 +00:00
# Customize server common library links in /usr/share/pki/server/common/lib
ln -sf %{jaxrs_api_jar} %{buildroot}%{_datadir}/pki/server/common/lib/jboss-jaxrs-2.0-api.jar
ln -sf /usr/share/java/jboss-logging/jboss-logging.jar %{buildroot}%{_datadir}/pki/server/common/lib/jboss-logging.jar
2021-06-22 23:02:47 +00:00
%if 0%{?fedora} && 0%{?fedora} <= 34
ln -sf /usr/share/java/jboss-annotations-1.2-api/jboss-annotations-api_1.2_spec.jar %{buildroot}%{_datadir}/pki/server/common/lib/jboss-annotations-api_1.2_spec.jar
2021-06-22 23:02:47 +00:00
%else
ln -sf /usr/share/java/jakarta-annotations/jakarta.annotation-api.jar %{buildroot}%{_datadir}/pki/server/common/lib/jakarta.annotation-api.jar
%endif
2018-06-27 16:22:25 +00:00
# with server
%endif
2018-06-27 16:22:25 +00:00
%if %{with server}
2021-08-12 18:07:35 +00:00
%pre -n %{product_id}-server
2018-06-27 16:22:25 +00:00
getent group %{pki_groupname} >/dev/null || groupadd -f -g %{pki_gid} -r %{pki_groupname}
if ! getent passwd %{pki_username} >/dev/null ; then
useradd -r -u %{pki_uid} -g %{pki_groupname} -d %{pki_homedir} -s /sbin/nologin -c "Certificate System" %{pki_username}
2018-06-27 16:22:25 +00:00
fi
exit 0
# with server
%endif
2018-06-27 16:22:25 +00:00
%if %{with base}
2021-08-12 18:07:35 +00:00
%post -n %{product_id}-base
2018-06-27 16:22:25 +00:00
if [ $1 -eq 1 ]
then
# On RPM installation create system upgrade tracker
echo "Configuration-Version: %{version}" > %{_sysconfdir}/pki/pki.version
else
# On RPM upgrade run system upgrade
echo "Upgrading PKI system configuration at `/bin/date`." >> /var/log/pki/pki-upgrade-%{version}.log
/sbin/pki-upgrade 2>&1 | tee -a /var/log/pki/pki-upgrade-%{version}.log
echo >> /var/log/pki/pki-upgrade-%{version}.log
2018-06-27 16:22:25 +00:00
fi
2021-08-12 18:07:35 +00:00
%postun -n %{product_id}-base
2018-06-27 16:22:25 +00:00
if [ $1 -eq 0 ]
then
# On RPM uninstallation remove system upgrade tracker
rm -f %{_sysconfdir}/pki/pki.version
fi
# with base
%endif
2018-06-27 16:22:25 +00:00
%if %{with server}
2021-08-12 18:07:35 +00:00
%post -n %{product_id}-server
2021-06-10 14:55:56 +00:00
# CVE-2021-3551
# Remove world access from existing installation logs
find /var/log/pki -maxdepth 1 -type f -exec chmod o-rwx {} \;
2018-06-27 16:22:25 +00:00
# Reload systemd daemons on upgrade only
if [ "$1" == "2" ]
then
systemctl daemon-reload
fi
# with server
%endif
2018-06-27 16:22:25 +00:00
%if %{with meta}
2021-08-12 18:07:35 +00:00
%if "%{name}" != "%{product_id}"
2018-04-11 02:39:29 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}
2018-04-11 02:39:29 +00:00
################################################################################
2018-08-13 21:26:05 +00:00
%else
%files
%endif
2018-04-11 02:39:29 +00:00
2018-04-11 04:04:59 +00:00
%doc %{_datadir}/doc/pki/README
# with meta
%endif
2018-06-27 16:22:25 +00:00
%if %{with base}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-symkey
2018-06-27 16:22:25 +00:00
################################################################################
%license base/symkey/LICENSE
2018-06-27 16:22:25 +00:00
%{_jnidir}/symkey.jar
%{_libdir}/symkey/
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-base
2018-06-27 16:22:25 +00:00
################################################################################
%license base/common/LICENSE
%license base/common/LICENSE.LESSER
2018-06-27 16:22:25 +00:00
%doc %{_datadir}/doc/pki-base/html
%dir %{_datadir}/pki
%{_datadir}/pki/VERSION
%{_datadir}/pki/pom.xml
2018-06-27 16:22:25 +00:00
%dir %{_datadir}/pki/etc
%{_datadir}/pki/etc/pki.conf
%{_datadir}/pki/etc/logging.properties
%dir %{_datadir}/pki/lib
2018-06-27 16:22:25 +00:00
%dir %{_datadir}/pki/scripts
%{_datadir}/pki/scripts/config
%{_datadir}/pki/upgrade/
%{_datadir}/pki/key/templates
%dir %{_sysconfdir}/pki
%config(noreplace) %{_sysconfdir}/pki/pki.conf
%dir %{_localstatedir}/log/pki
%{_sbindir}/pki-upgrade
%{_mandir}/man1/pki-python-client.1.gz
%{_mandir}/man5/pki-logging.5.gz
%{_mandir}/man8/pki-upgrade.8.gz
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-base-java
2018-06-27 16:22:25 +00:00
################################################################################
%license base/common/LICENSE
%license base/common/LICENSE.LESSER
2018-06-27 16:22:25 +00:00
%{_datadir}/pki/examples/java/
%{_datadir}/pki/lib/*.jar
2018-06-27 16:22:25 +00:00
%dir %{_javadir}/pki
%{_javadir}/pki/pki-cmsutil.jar
%{_javadir}/pki/pki-certsrv.jar
################################################################################
2021-08-12 18:07:35 +00:00
%files -n python3-%{product_id}
2018-06-27 16:22:25 +00:00
################################################################################
%license base/common/LICENSE
%license base/common/LICENSE.LESSER
%if %{with server}
2018-06-27 16:22:25 +00:00
%exclude %{python3_sitelib}/pki/server
%endif
%{python3_sitelib}/pki
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-tools
2018-06-27 16:22:25 +00:00
################################################################################
%license base/tools/LICENSE
%doc base/tools/doc/README
2018-06-27 16:22:25 +00:00
%{_bindir}/p7tool
2021-09-03 23:20:10 +00:00
%{_bindir}/p12tool
%{_bindir}/pistool
%{_bindir}/pki
2018-06-27 16:22:25 +00:00
%{_bindir}/revoker
%{_bindir}/setpin
%{_bindir}/sslget
%{_bindir}/tkstool
%{_bindir}/AtoB
%{_bindir}/AuditVerify
%{_bindir}/BtoA
%{_bindir}/CMCEnroll
%{_bindir}/CMCRequest
%{_bindir}/CMCResponse
%{_bindir}/CMCRevoke
%{_bindir}/CMCSharedToken
%{_bindir}/CRMFPopClient
%{_bindir}/DRMTool
%{_bindir}/ExtJoiner
%{_bindir}/GenExtKeyUsage
%{_bindir}/GenIssuerAltNameExt
%{_bindir}/GenSubjectAltNameExt
%{_bindir}/HttpClient
%{_bindir}/KRATool
%{_bindir}/OCSPClient
%{_bindir}/PKCS10Client
%{_bindir}/PKCS12Export
%{_bindir}/PKICertImport
2018-06-27 16:22:25 +00:00
%{_bindir}/PrettyPrintCert
%{_bindir}/PrettyPrintCrl
%{_bindir}/TokenInfo
%{_javadir}/pki/pki-tools.jar
%{_datadir}/pki/tools/
%{_datadir}/pki/lib/p11-kit-trust.so
2018-06-27 16:22:25 +00:00
%{_mandir}/man1/AtoB.1.gz
%{_mandir}/man1/AuditVerify.1.gz
%{_mandir}/man1/BtoA.1.gz
%{_mandir}/man1/CMCEnroll.1.gz
%{_mandir}/man1/CMCRequest.1.gz
%{_mandir}/man1/CMCSharedToken.1.gz
%{_mandir}/man1/CMCResponse.1.gz
%{_mandir}/man1/DRMTool.1.gz
%{_mandir}/man1/KRATool.1.gz
%{_mandir}/man1/PrettyPrintCert.1.gz
%{_mandir}/man1/PrettyPrintCrl.1.gz
%{_mandir}/man1/pki.1.gz
%{_mandir}/man1/pki-audit.1.gz
%{_mandir}/man1/pki-ca-cert.1.gz
2018-06-27 16:22:25 +00:00
%{_mandir}/man1/pki-ca-kraconnector.1.gz
%{_mandir}/man1/pki-ca-profile.1.gz
%{_mandir}/man1/pki-client.1.gz
%{_mandir}/man1/pki-group.1.gz
%{_mandir}/man1/pki-group-member.1.gz
%{_mandir}/man1/pki-kra-key.1.gz
2018-06-27 16:22:25 +00:00
%{_mandir}/man1/pki-pkcs12-cert.1.gz
%{_mandir}/man1/pki-pkcs12-key.1.gz
%{_mandir}/man1/pki-pkcs12.1.gz
%{_mandir}/man1/pki-securitydomain.1.gz
%{_mandir}/man1/pki-tps-profile.1.gz
%{_mandir}/man1/pki-user.1.gz
%{_mandir}/man1/pki-user-cert.1.gz
%{_mandir}/man1/pki-user-membership.1.gz
%{_mandir}/man1/PKCS10Client.1.gz
%{_mandir}/man1/PKICertImport.1.gz
2018-06-27 16:22:25 +00:00
# with base
%endif
2018-06-27 16:22:25 +00:00
%if %{with server}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-server
2018-06-27 16:22:25 +00:00
################################################################################
%license base/common/THIRD_PARTY_LICENSES
%license base/server/LICENSE
2018-06-27 16:22:25 +00:00
%doc base/server/README
%attr(755,-,-) %dir %{_sysconfdir}/sysconfig/pki
%attr(755,-,-) %dir %{_sysconfdir}/sysconfig/pki/tomcat
%{_sbindir}/pkispawn
%{_sbindir}/pkidestroy
%{_sbindir}/pki-server
%{_sbindir}/pki-server-upgrade
%{_sbindir}/pki-healthcheck
2021-05-19 00:29:11 +00:00
%{python3_sitelib}/pki/server/
%{python3_sitelib}/pkihealthcheck-*.egg-info/
%config(noreplace) %{_sysconfdir}/pki/healthcheck.conf
2018-06-27 16:22:25 +00:00
%{_datadir}/pki/etc/tomcat.conf
%dir %{_datadir}/pki/deployment
%{_datadir}/pki/deployment/config/
%{_datadir}/pki/scripts/operations
%{_bindir}/pkidaemon
%{_bindir}/pki-server-nuxwdog
2018-06-27 16:22:25 +00:00
%dir %{_sysconfdir}/systemd/system/pki-tomcatd.target.wants
%attr(644,-,-) %{_unitdir}/pki-tomcatd@.service
%attr(644,-,-) %{_unitdir}/pki-tomcatd.target
%dir %{_sysconfdir}/systemd/system/pki-tomcatd-nuxwdog.target.wants
%attr(644,-,-) %{_unitdir}/pki-tomcatd-nuxwdog@.service
%attr(644,-,-) %{_unitdir}/pki-tomcatd-nuxwdog.target
%{_javadir}/pki/pki-cms.jar
%{_javadir}/pki/pki-cmsbundle.jar
%{_javadir}/pki/pki-tomcat.jar
%dir %{_sharedstatedir}/pki
%{_mandir}/man1/pkidaemon.1.gz
%{_mandir}/man5/pki_default.cfg.5.gz
%{_mandir}/man5/pki_healthcheck.conf.5.gz
2018-06-27 16:22:25 +00:00
%{_mandir}/man5/pki-server-logging.5.gz
%{_mandir}/man8/pki-server-upgrade.8.gz
%{_mandir}/man8/pkidestroy.8.gz
%{_mandir}/man8/pkispawn.8.gz
%{_mandir}/man8/pki-server.8.gz
%{_mandir}/man8/pki-server-acme.8.gz
2018-06-27 16:22:25 +00:00
%{_mandir}/man8/pki-server-instance.8.gz
%{_mandir}/man8/pki-server-subsystem.8.gz
%{_mandir}/man8/pki-server-nuxwdog.8.gz
%{_mandir}/man8/pki-server-migrate.8.gz
%{_mandir}/man8/pki-server-cert.8.gz
%{_mandir}/man8/pki-server-ca.8.gz
%{_mandir}/man8/pki-server-kra.8.gz
%{_mandir}/man8/pki-server-ocsp.8.gz
%{_mandir}/man8/pki-server-tks.8.gz
%{_mandir}/man8/pki-server-tps.8.gz
%{_mandir}/man8/pki-healthcheck.8.gz
2018-06-27 16:22:25 +00:00
%{_datadir}/pki/setup/
%{_datadir}/pki/server/
# with server
%endif
2018-06-27 16:22:25 +00:00
%if %{with acme}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-acme
################################################################################
%{_javadir}/pki/pki-acme.jar
%{_datadir}/pki/acme/
# with acme
%endif
2018-06-27 16:22:25 +00:00
%if %{with ca}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-ca
2018-06-27 16:22:25 +00:00
################################################################################
%license base/ca/LICENSE
2018-06-27 16:22:25 +00:00
%{_javadir}/pki/pki-ca.jar
%{_datadir}/pki/ca/
2018-06-27 16:22:25 +00:00
# with ca
%endif
2018-06-27 16:22:25 +00:00
%if %{with kra}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-kra
2018-06-27 16:22:25 +00:00
################################################################################
%license base/kra/LICENSE
2018-06-27 16:22:25 +00:00
%{_javadir}/pki/pki-kra.jar
%{_datadir}/pki/kra/
2018-06-27 16:22:25 +00:00
# with kra
%endif
2018-06-27 16:22:25 +00:00
%if %{with ocsp}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-ocsp
2018-06-27 16:22:25 +00:00
################################################################################
%license base/ocsp/LICENSE
2018-06-27 16:22:25 +00:00
%{_javadir}/pki/pki-ocsp.jar
%{_datadir}/pki/ocsp/
2018-06-27 16:22:25 +00:00
# with ocsp
%endif
2018-06-27 16:22:25 +00:00
%if %{with tks}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-tks
2018-06-27 16:22:25 +00:00
################################################################################
%license base/tks/LICENSE
2018-06-27 16:22:25 +00:00
%{_javadir}/pki/pki-tks.jar
%{_datadir}/pki/tks/
2018-06-27 16:22:25 +00:00
# with tks
%endif
2018-06-27 16:22:25 +00:00
%if %{with tps}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-tps
2018-06-27 16:22:25 +00:00
################################################################################
%license base/tps/LICENSE
2018-06-27 16:22:25 +00:00
%{_javadir}/pki/pki-tps.jar
%{_datadir}/pki/tps/
2018-06-27 16:22:25 +00:00
%{_mandir}/man5/pki-tps-connector.5.gz
%{_mandir}/man5/pki-tps-profile.5.gz
%{_mandir}/man1/tpsclient.1.gz
# files for native 'tpsclient'
# REMINDER: Remove this comment once 'tpsclient' is rewritten as a Java app
%{_bindir}/tpsclient
%{_libdir}/tps/libtps.so
%{_libdir}/tps/libtokendb.so
# with tps
%endif
2018-06-27 16:22:25 +00:00
%if %{with javadoc}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-javadoc
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%{_javadocdir}/pki/
2018-06-27 16:22:25 +00:00
# with javadoc
%endif
2018-06-27 16:22:25 +00:00
%if %{with console}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-console
2018-06-27 16:22:25 +00:00
################################################################################
%license base/console/LICENSE
2018-06-27 16:22:25 +00:00
%{_bindir}/pkiconsole
%{_javadir}/pki/pki-console.jar
# with console
%endif
2018-06-27 16:22:25 +00:00
%if %{with theme}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-server-theme
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%license themes/%{theme}/common-ui/LICENSE
2018-06-27 16:22:25 +00:00
%dir %{_datadir}/pki
2018-11-30 20:56:35 +00:00
%{_datadir}/pki/CS_SERVER_VERSION
2018-06-27 16:22:25 +00:00
%{_datadir}/pki/common-ui/
%{_datadir}/pki/server/webapps/pki/ca
%{_datadir}/pki/server/webapps/pki/css
%{_datadir}/pki/server/webapps/pki/esc
%{_datadir}/pki/server/webapps/pki/fonts
%{_datadir}/pki/server/webapps/pki/images
%{_datadir}/pki/server/webapps/pki/kra
%{_datadir}/pki/server/webapps/pki/ocsp
%{_datadir}/pki/server/webapps/pki/pki.properties
%{_datadir}/pki/server/webapps/pki/tks
2021-06-22 23:02:47 +00:00
%if %{with console}
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-console-theme
2018-06-27 16:22:25 +00:00
################################################################################
2021-08-12 18:07:35 +00:00
%license themes/%{theme}/console-ui/LICENSE
2018-06-27 16:22:25 +00:00
%{_javadir}/pki/pki-console-theme.jar
2021-06-22 23:02:47 +00:00
# with console
%endif
# with theme
%endif
2018-06-27 16:22:25 +00:00
%if %{with tests}
################################################################################
2021-08-12 18:07:35 +00:00
%files -n %{product_id}-tests
################################################################################
%{_datadir}/pki/tests/
# with tests
%endif
2018-04-11 02:39:29 +00:00
################################################################################
%changelog
2021-09-30 04:37:13 +00:00
* Thu Sep 30 2021 Dogtag PKI Team <devel@lists.dogtagpki.org> - 11.0.0-1
- Rebase to PKI 11.0.0
- Bug #1999052 - pki instance creation fails for IPA server
2021-09-03 23:20:10 +00:00
* Fri Sep 03 2021 Dogtag PKI Team <devel@lists.dogtagpki.org> - 11.0.0-0.4.beta1
- Rebase to PKI 11.0.0-beta1
2021-09-30 04:37:13 +00:00
2021-08-12 18:07:35 +00:00
* Thu Aug 12 2021 Dogtag PKI Team <devel@lists.dogtagpki.org> - 11.0.0-0.3.alpha2
- Rebase to PKI 11.0.0-alpha2
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.0-0.2.alpha1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
2021-08-12 18:07:35 +00:00
* Tue Jun 22 2021 Dogtag PKI Team <devel@lists.dogtagpki.org> - 11.0.0-0.1.alpha1
2021-06-22 23:02:47 +00:00
- Rebase to PKI 11.0.0-alpha1