################################################################################ Name: jss ################################################################################ %global major_version 4 %global minor_version 9 %global update_version 10 Summary: Java Security Services (JSS) URL: http://www.dogtagpki.org/wiki/JSS License: MPLv1.1 or GPLv2+ or LGPLv2+ # For development (i.e. unsupported) releases, use x.y.z-0.n.. # For official (i.e. supported) releases, use x.y.z-r where r >=1. %global release_number 1 Version: %{major_version}.%{minor_version}.%{update_version} Release: %{release_number}.20241121160214UTC.267d4091%{?dist} #global _phase # To generate the source tarball: # $ git clone https://github.com/dogtagpki/jss.git # $ cd jss # $ git tag v4.5. # $ git push origin v4.5. # Then go to https://github.com/dogtagpki/jss/releases and download the source # tarball. Source: https://github.com/dogtagpki/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz # md2man not available on i686 ExcludeArch: i686 # To create a patch for all changes since a version tag: # $ git format-patch \ # --stdout \ # \ # > jss-VERSION-RELEASE.patch # Patch: jss-VERSION-RELEASE.patch ################################################################################ # Java ################################################################################ %if 0%{?fedora} && 0%{?fedora} <= 32 || 0%{?rhel} && 0%{?rhel} <= 8 %define java_devel java-1.8.0-openjdk-devel %define java_headless java-1.8.0-openjdk-headless %define java_home /usr/lib/jvm/jre-1.8.0-openjdk %else %define java_devel java-11-openjdk-devel %define java_headless java-11-openjdk-headless %define java_home /usr/lib/jvm/jre-11-openjdk %endif ################################################################################ # Build Options ################################################################################ # By default the build will execute unit tests unless --without test # option is specified. %bcond_without test ################################################################################ # Build Dependencies ################################################################################ BuildRequires: make BuildRequires: cmake >= 3.14 BuildRequires: zip BuildRequires: unzip BuildRequires: gcc-c++ BuildRequires: nss-devel >= 3.44 BuildRequires: nss-tools >= 3.44 BuildRequires: %{java_devel} BuildRequires: jpackage-utils BuildRequires: slf4j BuildRequires: glassfish-jaxb-api BuildRequires: slf4j-jdk14 BuildRequires: apache-commons-lang3 BuildRequires: junit Requires: nss >= 3.44 Requires: %{java_headless} Requires: jpackage-utils Requires: slf4j Requires: glassfish-jaxb-api Requires: slf4j-jdk14 Requires: apache-commons-lang3 Provides: jss = %{major_version}.%{minor_version} Conflicts: ldapjdk < 4.20 Conflicts: idm-console-framework < 1.2 Conflicts: tomcatjss < 7.6.0 Conflicts: pki-base < 10.10.0 %description Java Security Services (JSS) is a java native interface which provides a bridge for java-based applications to use native Network Security Services (NSS). This only works with gcj. Other JREs require that JCE providers be signed. ################################################################################ %package javadoc ################################################################################ Summary: Java Security Services (JSS) Javadocs Provides: javadoc = %{major_version}.%{minor_version} %description javadoc This package contains the API documentation for JSS. ################################################################################ %prep %autosetup -n %{name}-%{version} -p 1 ################################################################################ %build %set_build_flags # Enable compiler optimizations export BUILD_OPT=1 # Generate symbolic info for debuggers CFLAGS="-g $RPM_OPT_FLAGS" export CFLAGS # Check if we're in FIPS mode modutil -dbdir /etc/pki/nssdb -chkfips true | grep -q enabled && export FIPS_ENABLED=1 # The Makefile is not thread-safe %cmake \ -DVERSION=%{version} \ -DJAVA_HOME=%{java_home} \ -DJAVA_LIB_INSTALL_DIR=%{_jnidir} \ -DJSS_LIB_INSTALL_DIR=%{_libdir}/jss \ -B %{_vpath_builddir} cd %{_vpath_builddir} %{__make} \ VERBOSE=%{?_verbose} \ CMAKE_NO_VERBOSE=1 \ --no-print-directory \ all %{__make} \ VERBOSE=%{?_verbose} \ CMAKE_NO_VERBOSE=1 \ --no-print-directory \ javadoc %if %{with test} ctest --output-on-failure %endif ################################################################################ %install cd %{_vpath_builddir} %{__make} \ VERBOSE=%{?_verbose} \ CMAKE_NO_VERBOSE=1 \ DESTDIR=%{buildroot} \ INSTALL="install -p" \ --no-print-directory \ install ################################################################################ %files %defattr(-,root,root,-) %doc jss.html %license MPL-1.1.txt gpl.txt lgpl.txt %{_libdir}/* %{_jnidir}/* ################################################################################ %files javadoc %defattr(-,root,root,-) %{_javadocdir}/%{name}-%{version}/ ################################################################################ %changelog * Tue May 29 2018 Dogtag PKI Team 4.5.0-0 - To list changes in since : $ git log --pretty=oneline --abbrev-commit --no-decorate ..