ce3eda
################################################################################
ce3eda
Name:           jss
ce3eda
################################################################################
ce3eda
ce3eda
Summary:        Java Security Services (JSS)
ce3eda
URL:            http://www.dogtagpki.org/wiki/JSS
ce3eda
License:        MPLv1.1 or GPLv2+ or LGPLv2+
ce3eda
69f63c
Version:        4.6.0
69f63c
Release:        5%{?_timestamp}%{?_commit_id}%{?dist}
ce3eda
# global         _phase -a1
ce3eda
ce3eda
# To generate the source tarball:
ce3eda
# $ git clone https://github.com/dogtagpki/jss.git
ce3eda
# $ cd jss
69f63c
# $ git tag v4.5.<z>
69f63c
# $ git push origin v4.5.<z>
69f63c
# Then go to https://github.com/dogtagpki/jss/releases and download the source
69f63c
# tarball.
ce3eda
Source:         https://github.com/dogtagpki/%{name}/archive/v%{version}%{?_phase}/%{name}-%{version}%{?_phase}.tar.gz
ce3eda
ce3eda
# To create a patch for all changes since a version tag:
ce3eda
# $ git format-patch \
ce3eda
#     --stdout \
ce3eda
#     <version tag> \
ce3eda
#     > jss-VERSION-RELEASE.patch
ce3eda
# Patch: jss-VERSION-RELEASE.patch
69f63c
Patch1:         0001-Disable-buffer-based-tests.patch
69f63c
Patch2:         0002-Support-LD_FLAGS-from-environment.patch
69f63c
Patch3:         0003-Remove-legacy-DSA-implementation.patch
69f63c
Patch4:         0004-JSS-CVE-2019-14823-fix.patch
69f63c
Patch5:         0005-Add-helper-to-run-a-single-test-case.patch
69f63c
Patch6:         0006-Add-script-to-add-common-root-CAs.patch
69f63c
Patch7:         0007-Add-optional-test-case-against-badssl.com.patch
ce3eda
ce3eda
################################################################################
ce3eda
# Build Dependencies
ce3eda
################################################################################
ce3eda
ce3eda
# autosetup
ce3eda
BuildRequires:  git
69f63c
BuildRequires:  make
69f63c
BuildRequires:  cmake
ce3eda
ce3eda
BuildRequires:  gcc-c++
ce3eda
BuildRequires:  nspr-devel >= 4.13.1
69f63c
BuildRequires:  nss-devel >= 3.30
69f63c
BuildRequires:  nss-tools >= 3.30
ce3eda
BuildRequires:  java-devel
ce3eda
BuildRequires:  jpackage-utils
ce3eda
BuildRequires:  slf4j
69f63c
BuildRequires:  glassfish-jaxb-api
69f63c
%if 0%{?rhel} && 0%{?rhel} <= 7
ce3eda
# no slf4j-jdk14
ce3eda
%else
ce3eda
BuildRequires:  slf4j-jdk14
ce3eda
%endif
ce3eda
BuildRequires:  apache-commons-lang
ce3eda
BuildRequires:  apache-commons-codec
ce3eda
69f63c
BuildRequires:  junit
ce3eda
69f63c
Requires:       nss >= 3.30
ce3eda
Requires:       java-headless
ce3eda
Requires:       jpackage-utils
ce3eda
Requires:       slf4j
69f63c
Requires:       glassfish-jaxb-api
69f63c
%if 0%{?rhel} && 0%{?rhel} <= 7
ce3eda
# no slf4j-jdk14
ce3eda
%else
ce3eda
Requires:       slf4j-jdk14
ce3eda
%endif
ce3eda
Requires:       apache-commons-lang
ce3eda
Requires:       apache-commons-codec
ce3eda
ce3eda
Conflicts:      ldapjdk < 4.20
ce3eda
Conflicts:      idm-console-framework < 1.2
ce3eda
Conflicts:      tomcatjss < 7.3.4
ce3eda
Conflicts:      pki-base < 10.6.5
ce3eda
ce3eda
%description
ce3eda
Java Security Services (JSS) is a java native interface which provides a bridge
ce3eda
for java-based applications to use native Network Security Services (NSS).
ce3eda
This only works with gcj. Other JREs require that JCE providers be signed.
ce3eda
ce3eda
################################################################################
ce3eda
%package javadoc
ce3eda
################################################################################
ce3eda
ce3eda
Summary:        Java Security Services (JSS) Javadocs
ce3eda
Group:          Documentation
ce3eda
Requires:       jss = %{version}-%{release}
ce3eda
ce3eda
%description javadoc
ce3eda
This package contains the API documentation for JSS.
ce3eda
ce3eda
################################################################################
ce3eda
%prep
ce3eda
ce3eda
%autosetup -n %{name}-%{version}%{?_phase} -p 1 -S git
ce3eda
ce3eda
################################################################################
ce3eda
%build
ce3eda
ce3eda
%set_build_flags
ce3eda
ce3eda
[ -z "$JAVA_HOME" ] && export JAVA_HOME=%{_jvmdir}/java
ce3eda
ce3eda
# Enable compiler optimizations
ce3eda
export BUILD_OPT=1
ce3eda
ce3eda
# Generate symbolic info for debuggers
69f63c
CFLAGS="-g $RPM_OPT_FLAGS"
69f63c
export CFLAGS
ce3eda
ce3eda
# The Makefile is not thread-safe
69f63c
rm -rf build && mkdir -p build && cd build
69f63c
%cmake \
69f63c
    -DJAVA_HOME=%{java_home} \
69f63c
    -DJAVA_LIB_INSTALL_DIR=%{_jnidir} \
69f63c
    ..
69f63c
69f63c
%{__make} all
69f63c
%{__make} javadoc || true
69f63c
ctest --output-on-failure
ce3eda
ce3eda
################################################################################
ce3eda
%install
ce3eda
ce3eda
# There is no install target so we'll do it by hand
ce3eda
ce3eda
# jars
ce3eda
install -d -m 0755 $RPM_BUILD_ROOT%{_jnidir}
69f63c
install -m 644 build/jss4.jar ${RPM_BUILD_ROOT}%{_jnidir}/jss4.jar
ce3eda
ce3eda
# We have to use the name libjss4.so because this is dynamically
ce3eda
# loaded by the jar file.
ce3eda
install -d -m 0755 $RPM_BUILD_ROOT%{_libdir}/jss
69f63c
install -m 0755 build/libjss4.so ${RPM_BUILD_ROOT}%{_libdir}/jss/
ce3eda
pushd  ${RPM_BUILD_ROOT}%{_libdir}/jss
ce3eda
    ln -fs %{_jnidir}/jss4.jar jss4.jar
ce3eda
popd
ce3eda
ce3eda
# javadoc
ce3eda
install -d -m 0755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
69f63c
cp -rp build/docs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ce3eda
cp -p jss.html $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ce3eda
cp -p *.txt $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ce3eda
ce3eda
# No ldconfig is required since this library is loaded by Java itself.
ce3eda
################################################################################
ce3eda
%files
ce3eda
ce3eda
%defattr(-,root,root,-)
ce3eda
%doc jss.html MPL-1.1.txt gpl.txt lgpl.txt
ce3eda
%{_libdir}/*
ce3eda
%{_jnidir}/*
ce3eda
ce3eda
################################################################################
ce3eda
%files javadoc
ce3eda
ce3eda
%defattr(-,root,root,-)
ce3eda
%{_javadocdir}/%{name}-%{version}/
ce3eda
ce3eda
################################################################################
ce3eda
%changelog
69f63c
* Wed Sep 11 2019 Red Hat PKI Team <rhcs-maint@redhat.com> 4.6.0-5
69f63c
- Bugzilla #1747987 - CVE 2019-14823 jss: OCSP policy "Leaf and Chain" implicitly trusts the root certificate
69f63c
69f63c
* Wed Aug 14 2019 Red Hat PKI Team <rhcs-maint@redhat.com> 4.6.0-4
69f63c
- Red Hat Bugzilla #1698059 - pki-core implements crypto
69f63c
69f63c
* Tue Jul 16 2019 Red Hat PKI Team <rhcs-maint@redhat.com> 4.6.0-3
69f63c
- Red Hat Bugilla #1721135 - JSS - LD_FLAGS support
69f63c
69f63c
* Wed Jun 12 2019 Red Hat PKI Team <rhcs-maint@redhat.com> 4.6.0-2
69f63c
- Minor updates to release
69f63c
69f63c
* Wed Jun 12 2019 Red Hat PKI Team <rhcs-maint@redhat.com> 4.6.0-1
69f63c
- Rebased to JSS 4.6.0
69f63c
69f63c
* Thu Apr 25 2019 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.3-1
69f63c
- Rebased to JSS 4.5.3
69f63c
69f63c
* Fri Aug 10 2018 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.0-1
ce3eda
- Rebased to JSS 4.5.0
ce3eda
69f63c
* Tue Aug 07 2018 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.0-0.6
ce3eda
- Rebased to JSS 4.5.0-b1
ce3eda
69f63c
* Tue Aug 07 2018 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.0-0.5
ce3eda
- Red Hat Bugzilla #1612063 - Do not override system crypto policy (support TLS 1.3)
ce3eda
69f63c
* Fri Jul 20 2018 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.0-0.4
ce3eda
- Rebased to JSS 4.5.0-a4
ce3eda
- Red Hat Bugzilla #1604462 - jss: FTBFS in Fedora rawhide
ce3eda
69f63c
* Thu Jul 05 2018 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.0-0.3
ce3eda
- Rebased to JSS 4.5.0-a3
ce3eda
69f63c
* Fri Jun 22 2018 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.0-0.2
ce3eda
- Rebased to JSS 4.5.0-a2
ce3eda
69f63c
* Fri Jun 15 2018 Red Hat PKI Team <rhcs-maint@redhat.com> 4.5.0-0.1
ce3eda
- Rebased to JSS 4.5.0-a1