ec21b9
################################################################################
ec21b9
Name:           jss
ec21b9
################################################################################
ec21b9
f820db
%global         product_id idm-jss
f820db
f820db
# Upstream version number:
f820db
%global         major_version 5
b5cc68
%global         minor_version 3
f820db
%global         update_version 0
f820db
f820db
# Downstream release number:
f820db
# - development/stabilization (unsupported): 0.<n> where n >= 1
f820db
# - GA/update (supported): <n> where n >= 1
f820db
%global         release_number 1
f820db
f820db
# Development phase:
f820db
# - development (unsupported): alpha<n> where n >= 1
f820db
# - stabilization (unsupported): beta<n> where n >= 1
f820db
# - GA/update (supported): <none>
b5cc68
#global         phase
f820db
f820db
%undefine       timestamp
f820db
%undefine       commit_id
f820db
ec21b9
Summary:        Java Security Services (JSS)
f820db
URL:            https://github.com/dogtagpki/jss
ec21b9
License:        MPLv1.1 or GPLv2+ or LGPLv2+
f820db
Version:        %{major_version}.%{minor_version}.%{update_version}
f820db
Release:        %{release_number}%{?phase:.}%{?phase}%{?timestamp:.}%{?timestamp}%{?commit_id:.}%{?commit_id}%{?dist}
ec21b9
ec21b9
# To generate the source tarball:
ec21b9
# $ git clone https://github.com/dogtagpki/jss.git
ec21b9
# $ cd jss
ec21b9
# $ git tag v4.5.<z>
ec21b9
# $ git push origin v4.5.<z>
ec21b9
# Then go to https://github.com/dogtagpki/jss/releases and download the source
ec21b9
# tarball.
f820db
Source:         https://github.com/dogtagpki/jss/archive/v%{version}%{?phase:-}%{?phase}/jss-%{version}%{?phase:-}%{?phase}.tar.gz
ec21b9
ec21b9
# To create a patch for all changes since a version tag:
ec21b9
# $ git format-patch \
ec21b9
#     --stdout \
ec21b9
#     <version tag> \
ec21b9
#     > jss-VERSION-RELEASE.patch
ec21b9
# Patch: jss-VERSION-RELEASE.patch
ec21b9
b5cc68
%if 0%{?fedora} && 0%{?fedora} > 35
b5cc68
ExclusiveArch: %{java_arches}
b5cc68
%else
f820db
ExcludeArch: i686
b5cc68
%endif
f820db
ec21b9
################################################################################
ec21b9
# Java
ec21b9
################################################################################
ec21b9
f820db
%define java_devel java-17-openjdk-devel
f820db
%define java_headless java-17-openjdk-headless
f820db
%define java_home %{_jvmdir}/jre-17-openjdk
ec21b9
ec21b9
################################################################################
ec21b9
# Build Options
ec21b9
################################################################################
ec21b9
ec21b9
# By default the javadoc package will be built unless --without javadoc
ec21b9
# option is specified.
ec21b9
ec21b9
%bcond_without javadoc
ec21b9
f820db
# By default the build will not execute unit tests unless --with tests
ec21b9
# option is specified.
ec21b9
f820db
%bcond_with tests
ec21b9
ec21b9
################################################################################
ec21b9
# Build Dependencies
ec21b9
################################################################################
ec21b9
ec21b9
BuildRequires:  make
ec21b9
BuildRequires:  cmake >= 3.14
ec21b9
BuildRequires:  zip
ec21b9
BuildRequires:  unzip
ec21b9
ec21b9
BuildRequires:  gcc-c++
ec21b9
BuildRequires:  nss-devel >= 3.66
ec21b9
BuildRequires:  nss-tools >= 3.66
ec21b9
BuildRequires:  %{java_devel}
ec21b9
BuildRequires:  jpackage-utils
ec21b9
BuildRequires:  slf4j
ec21b9
BuildRequires:  slf4j-jdk14
ec21b9
BuildRequires:  apache-commons-lang3
ec21b9
ec21b9
BuildRequires:  junit
ec21b9
f820db
%description
f820db
Java Security Services (JSS) is a java native interface which provides a bridge
f820db
for java-based applications to use native Network Security Services (NSS).
f820db
This only works with gcj. Other JREs require that JCE providers be signed.
f820db
f820db
################################################################################
f820db
%package -n %{product_id}
f820db
################################################################################
f820db
f820db
Summary:        Java Security Services (JSS)
f820db
ec21b9
Requires:       nss >= 3.66
ec21b9
Requires:       %{java_headless}
ec21b9
Requires:       jpackage-utils
ec21b9
Requires:       slf4j
ec21b9
Requires:       slf4j-jdk14
ec21b9
Requires:       apache-commons-lang3
ec21b9
f820db
Obsoletes:      jss < %{version}-%{release}
f820db
Provides:       jss = %{version}-%{release}
b5cc68
Provides:       jss = %{major_version}.%{minor_version}
b5cc68
Provides:       %{product_id} = %{major_version}.%{minor_version}
f820db
ec21b9
Conflicts:      ldapjdk < 4.20
ec21b9
Conflicts:      idm-console-framework < 1.2
ec21b9
Conflicts:      tomcatjss < 7.6.0
ec21b9
Conflicts:      pki-base < 10.10.0
ec21b9
f820db
%description -n %{product_id}
ec21b9
Java Security Services (JSS) is a java native interface which provides a bridge
ec21b9
for java-based applications to use native Network Security Services (NSS).
ec21b9
This only works with gcj. Other JREs require that JCE providers be signed.
ec21b9
ec21b9
%if %{with javadoc}
ec21b9
################################################################################
f820db
%package -n %{product_id}-javadoc
ec21b9
################################################################################
ec21b9
ec21b9
Summary:        Java Security Services (JSS) Javadocs
ec21b9
f820db
Obsoletes:      jss-javadoc < %{version}-%{release}
f820db
Provides:       jss-javadoc = %{version}-%{release}
b5cc68
Provides:       jss-javadoc = %{major_version}.%{minor_version}
b5cc68
Provides:       %{product_id}-javadoc = %{major_version}.%{minor_version}
f820db
f820db
%description -n %{product_id}-javadoc
ec21b9
This package contains the API documentation for JSS.
ec21b9
%endif
ec21b9
ec21b9
################################################################################
ec21b9
%prep
f820db
################################################################################
ec21b9
f820db
%autosetup -n jss-%{version}%{?phase:-}%{?phase} -p 1
ec21b9
ec21b9
################################################################################
ec21b9
%build
f820db
################################################################################
ec21b9
f820db
# Set build flags for CMake
f820db
# (see /usr/lib/rpm/macros.d/macros.cmake)
ec21b9
%set_build_flags
ec21b9
ec21b9
export JAVA_HOME=%{java_home}
ec21b9
ec21b9
# Enable compiler optimizations
ec21b9
export BUILD_OPT=1
ec21b9
ec21b9
# Generate symbolic info for debuggers
ec21b9
CFLAGS="-g $RPM_OPT_FLAGS"
ec21b9
export CFLAGS
ec21b9
ec21b9
# Check if we're in FIPS mode
ec21b9
modutil -dbdir /etc/pki/nssdb -chkfips true | grep -q enabled && export FIPS_ENABLED=1
ec21b9
ec21b9
./build.sh \
ec21b9
    %{?_verbose:-v} \
ec21b9
    --work-dir=%{_vpath_builddir} \
f820db
    --prefix-dir=%{_prefix} \
f820db
    --include-dir=%{_includedir} \
f820db
    --lib-dir=%{_libdir} \
f820db
    --sysconf-dir=%{_sysconfdir} \
f820db
    --share-dir=%{_datadir} \
f820db
    --cmake=%{__cmake} \
f820db
    --java-home=%{java_home} \
f820db
    --jni-dir=%{_jnidir} \
ec21b9
    --version=%{version} \
ec21b9
    %{!?with_javadoc:--without-javadoc} \
f820db
    %{?with_tests:--with-tests} \
ec21b9
    dist
ec21b9
ec21b9
################################################################################
ec21b9
%install
f820db
################################################################################
ec21b9
ec21b9
./build.sh \
ec21b9
    %{?_verbose:-v} \
ec21b9
    --work-dir=%{_vpath_builddir} \
ec21b9
    --install-dir=%{buildroot} \
ec21b9
    install
ec21b9
ec21b9
################################################################################
f820db
%files -n %{product_id}
f820db
################################################################################
ec21b9
ec21b9
%defattr(-,root,root,-)
ec21b9
%doc jss.html
f820db
%license MPL-1.1.txt gpl.txt lgpl.txt symkey/LICENSE
ec21b9
%{_libdir}/*
ec21b9
%{_jnidir}/*
ec21b9
ec21b9
%if %{with javadoc}
ec21b9
################################################################################
f820db
%files -n %{product_id}-javadoc
f820db
################################################################################
ec21b9
ec21b9
%defattr(-,root,root,-)
f820db
%{_javadocdir}/jss/
ec21b9
%endif
ec21b9
ec21b9
################################################################################
ec21b9
%changelog
b5cc68
* Thu Feb 09 2023 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.3.0-1
b5cc68
- Rebase to JSS 5.3.0
b5cc68
b5cc68
* Thu Jan 05 2023 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.3.0-0.3.beta2
b5cc68
- Rebase to JSS 5.3.0-beta2
b5cc68
- Bug 2017098 - pki pkcs12-cert-add command failing with 'Unable to validate PKCS #12 file: Digests do not match' exception
b5cc68
b5cc68
* Wed Nov 30 2022 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.3.0-0.2.beta1
b5cc68
- Rebase to JSS 5.3.0-beta1
b5cc68
b5cc68
* Fri Sep 02 2022 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.2.1-1
b5cc68
- Rebase to JSS 5.2.1
b5cc68
- Bug 2100807 - pki-tomcat/kra unable to decrypt when using RSA-OAEP padding in RHEL9 with FIPS enabled
b5cc68
f820db
* Wed Jun 29 2022 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.2.0-1
f820db
- Rebase to JSS 5.2.0
f820db
f820db
* Mon May 02 2022 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.2.0-0.3.beta2
f820db
- Rebase to JSS 5.2.0-beta2
f820db
- Rename packages to idm-jss
f820db
f820db
* Wed Apr 13 2022 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.2.0-0.2.beta1
f820db
- Rebase to JSS 5.2.0-beta1
f820db
2e853e
* Tue Feb 15 2022 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.3-1
2e853e
- Rebase to JSS 5.0.3
2e853e
- Bug 2046023 - CVE-2021-4213 jss: memory leak in TLS connection leads to OOM [rhel-9.0]
2e853e
2e853e
* Wed Feb 02 2022 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.2-1
2e853e
- Rebase to JSS 5.0.2
2e853e
- Bug 2029838 - SHA1withRSA being listed in signing certificates while approving certificate via Agent page in browser
2e853e
ed623c
* Fri Nov 19 2021 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.1-1
ed623c
- Rebase to JSS 5.0.1
ed623c
ed623c
* Tue Oct 05 2021 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.0-1
ed623c
- Rebase to JSS 5.0.0
ed623c
ec21b9
* Thu Sep 16 2021 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.0-0.5.beta1
ec21b9
- Rebase to JSS 5.0.0-beta1
ec21b9
ec21b9
* Thu Sep 09 2021 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.0-0.4.alpha1
ec21b9
- Drop BuildRequires and Requires on glassfish-jaxb-api
ec21b9
  Resolves #2002576
ec21b9
ec21b9
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 5.0.0-0.3.alpha1
ec21b9
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
ec21b9
  Related: rhbz#1991688
ec21b9
ec21b9
* Mon Aug  2 2021 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.0-0.2
ec21b9
- Drop javadoc package
ec21b9
ec21b9
* Fri Jun 25 2021 Red Hat PKI Team <rhcs-maint@redhat.com> - 5.0.0-0.1
ec21b9
- Rebase to JSS 5.0.0-alpha1