diff --git a/.gitignore b/.gitignore index edcc16f..1ddcac1 100644 --- a/.gitignore +++ b/.gitignore @@ -45,11 +45,3 @@ jss-4.2.6.tar.gz /jss-5.2.0.tar.gz /jss-5.3.0.tar.gz /jss-5.4.2.tar.gz -/jss-5.5.0-alpha2.tar.gz -/jss-5.5.0.tar.gz -/jss-5.5.1.tar.gz -/jss-5.6.0-alpha1.tar.gz -/jss-5.8.0-beta1.tar.gz -/jss-5.8.0-beta3.tar.gz -/jss-5.8.0-beta4.tar.gz -/jss-5.8.0.tar.gz diff --git a/jss.spec b/jss.spec index 794ee73..a98c500 100644 --- a/jss.spec +++ b/jss.spec @@ -2,13 +2,12 @@ Name: jss ################################################################################ -%global vendor_id dogtag -%global product_id %{vendor_id}-jss +%global product_id dogtag-jss # Upstream version number: %global major_version 5 -%global minor_version 8 -%global update_version 0 +%global minor_version 4 +%global update_version 2 # Downstream release number: # - development/stabilization (unsupported): 0. where n >= 1 @@ -21,18 +20,14 @@ Name: jss # - GA/update (supported): #global phase -%if 0%{?rhel} && 0%{?rhel} >= 10 -%global enable_nss_version_pqc_def_flag -DENABLE_NSS_VERSION_PQC_DEF=ON -%endif - %undefine timestamp %undefine commit_id Summary: Java Security Services (JSS) URL: https://github.com/dogtagpki/jss -License: (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND Apache-2.0 -Version: %{major_version}.%{minor_version}.%{update_version} -Release: %{release_number}%{?phase:.}%{?phase}%{?timestamp:.}%{?timestamp}%{?commit_id:.}%{?commit_id}%{?dist} +License: MPL-1.1 or GPL-2.0-or-later or LGPL-2.1-or-later +Version: 5.4.2 +Release: %{release_number}%{?phase:.}%{?phase}%{?timestamp:.}%{?timestamp}%{?commit_id:.}%{?commit_id}%{?dist}.1 # To generate the source tarball: # $ git clone https://github.com/dogtagpki/jss.git @@ -50,7 +45,7 @@ Source: https://github.com/dogtagpki/jss/archive/v%{version}%{?phase:-}% # > jss-VERSION-RELEASE.patch # Patch: jss-VERSION-RELEASE.patch -%if 0%{?java_arches:1} +%if 0%{?fedora} && 0%{?fedora} > 35 ExclusiveArch: %{java_arches} %else ExcludeArch: i686 @@ -60,26 +55,9 @@ ExcludeArch: i686 # Java ################################################################################ -# use Java 17 on Fedora 39 or older and RHEL 9 or older -# otherwise, use Java 21 - -# maven-local is a subpackage of javapackages-tools - -%if 0%{?fedora} && 0%{?fedora} >= 43 || 0%{?rhel} >= 11 - -%define java_devel java-25-openjdk-devel -%define java_headless java-25-openjdk-headless -%define java_home %{_jvmdir}/jre-25-openjdk -%define maven_local maven-local-openjdk25 - -%else - -%define java_devel java-21-openjdk-devel -%define java_headless java-21-openjdk-headless -%define java_home %{_jvmdir}/jre-21-openjdk -%define maven_local maven-local - -%endif +%define java_devel java-17-openjdk-devel +%define java_headless java-17-openjdk-headless +%define java_home %{_jvmdir}/jre-17-openjdk ################################################################################ # Build Options @@ -90,10 +68,10 @@ ExcludeArch: i686 %bcond_without javadoc -# By default the tests package will be built and the tests will executed -# unless --without tests option is specified. +# By default the build will not execute unit tests unless --with tests +# option is specified. -%bcond_without tests +%bcond_with tests ################################################################################ # Build Dependencies @@ -105,14 +83,15 @@ BuildRequires: zip BuildRequires: unzip BuildRequires: gcc-c++ -BuildRequires: nss-devel >= 3.101 -BuildRequires: nss-tools >= 3.101 +BuildRequires: nss-devel >= 3.66 +BuildRequires: nss-tools >= 3.66 BuildRequires: %{java_devel} -BuildRequires: %{maven_local} +BuildRequires: maven-local BuildRequires: mvn(org.apache.commons:commons-lang3) BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.slf4j:slf4j-jdk14) +BuildRequires: mvn(junit:junit) %description Java Security Services (JSS) is a java native interface which provides a bridge @@ -125,7 +104,7 @@ This only works with gcj. Other JREs require that JCE providers be signed. Summary: Java Security Services (JSS) -Requires: nss >= 3.101 +Requires: nss >= 3.66 Requires: %{java_headless} Requires: mvn(org.apache.commons:commons-lang3) @@ -139,6 +118,7 @@ Provides: %{product_id} = %{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 -n %{product_id} @@ -146,58 +126,6 @@ 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 -n %{product_id}-tomcat -################################################################################ - -Summary: Java Security Services (JSS) Connector for Tomcat - -# Tomcat -BuildRequires: mvn(org.apache.tomcat:tomcat-catalina) >= 10.1.36 -BuildRequires: mvn(org.apache.tomcat:tomcat-coyote) >= 10.1.36 -BuildRequires: mvn(org.apache.tomcat:tomcat-juli) >= 10.1.36 - -Requires: %{product_id} = %{version}-%{release} -Requires: mvn(org.apache.tomcat:tomcat-catalina) >= 10.1.36 -Requires: mvn(org.apache.tomcat:tomcat-coyote) >= 10.1.36 -Requires: mvn(org.apache.tomcat:tomcat-juli) >= 10.1.36 - -# Tomcat JSS has been replaced with JSS Connector for Tomcat. -# This will remove installed Tomcat JSS packages. -Obsoletes: tomcatjss <= 8.5 -Conflicts: tomcatjss <= 8.5 -Obsoletes: %{vendor_id}-tomcatjss <= 8.5 -Conflicts: %{vendor_id}-tomcatjss <= 8.5 - -%if 0%{?rhel} <= 8 -# PKI Servlet Engine has been replaced with Tomcat. -# This will remove installed PKI Servlet Engine packages. -Obsoletes: pki-servlet-engine <= 9.0 -Conflicts: pki-servlet-engine <= 9.0 -%endif - -%description -n %{product_id}-tomcat -JSS Connector for Tomcat is a Java Secure Socket Extension (JSSE) -module for Apache Tomcat that uses Java Security Services (JSS), -a Java interface to Network Security Services (NSS). - -################################################################################ -%package -n %{product_id}-tools -################################################################################ - -Summary: Java Security Services (JSS) Tools - -Provides: jss-tools = %{version}-%{release} -Provides: jss-tools = %{major_version}.%{minor_version} -Provides: %{product_id}-tools = %{major_version}.%{minor_version} - -# Some PKI tools have been moved into jss-tools. -Conflicts: pki-tools < 11.6 -Conflicts: %{vendor_id}-pki-tools < 11.6 - -%description -n %{product_id}-tools -This package contains JSS tools. - %if %{with javadoc} ################################################################################ %package -n %{product_id}-javadoc @@ -214,46 +142,12 @@ Provides: %{product_id}-javadoc = %{major_version}.%{minor_version} This package contains the API documentation for JSS. %endif -%if %{with tests} -################################################################################ -%package -n %{product_id}-tests -################################################################################ - -Summary: Java Security Services (JSS) Tests - -BuildRequires: mvn(org.junit.jupiter:junit-jupiter) -BuildRequires: mvn(org.opentest4j:opentest4j) - -%description -n %{product_id}-tests -This package provides test suite for JSS. - -# with tests -%endif - ################################################################################ %prep ################################################################################ %autosetup -n jss-%{version}%{?phase:-}%{?phase} -p 1 -# disable native modules since they will be built by CMake -%pom_disable_module native -%pom_disable_module symkey - -# do not ship examples -%pom_disable_module examples - -# flatten-maven-plugin is not available in RPM -%pom_remove_plugin org.codehaus.mojo:flatten-maven-plugin - -# specify Maven artifact locations -%mvn_file org.dogtagpki.jss:jss-tomcat jss/jss-tomcat -%mvn_file org.dogtagpki.jss:jss-tomcat-10.1 jss/jss-tomcat-10.1 - -# specify Maven artifact packages -%mvn_package org.dogtagpki.jss:jss-tomcat jss-tomcat -%mvn_package org.dogtagpki.jss:jss-tomcat-10.1 jss-tomcat - ################################################################################ %build ################################################################################ @@ -274,38 +168,6 @@ export CFLAGS # Check if we're in FIPS mode modutil -dbdir /etc/pki/nssdb -chkfips true | grep -q enabled && export FIPS_ENABLED=1 -# build Java code, run Java tests, and build Javadoc with Maven -%mvn_build %{!?with_tests:-f} %{!?with_javadoc:-j} - -# create links to Maven-built classes for CMake -mkdir -p %{_vpath_builddir}/classes/jss -ln -sf ../../../base/target/classes/org %{_vpath_builddir}/classes/jss -%if %{with tests} -mkdir -p %{_vpath_builddir}/classes/tests -ln -sf ../../../base/target/test-classes/org %{_vpath_builddir}/classes/tests -%endif - -# create links to Maven-built JAR files for CMake -ln -sf ../base/target/jss.jar %{_vpath_builddir} -%if %{with tests} -ln -sf ../base/target/jss-tests.jar %{_vpath_builddir} -%endif - -# create links to Maven-built headers for CMake -mkdir -p %{_vpath_builddir}/include/jss -ln -sf ../../../base/target/include/_jni %{_vpath_builddir}/include/jss/_jni - -# mark Maven-built targets so that CMake will not rebuild them -mkdir -p %{_vpath_builddir}/.targets -touch %{_vpath_builddir}/.targets/finished_generate_java -%if %{with tests} -touch %{_vpath_builddir}/.targets/finished_tests_generate_java -%endif -%if %{with javadoc} -touch %{_vpath_builddir}/.targets/finished_generate_javadocs -%endif - -# build native code and run native tests with CMake ./build.sh \ %{?_verbose:-v} \ --work-dir=%{_vpath_builddir} \ @@ -314,140 +176,45 @@ touch %{_vpath_builddir}/.targets/finished_generate_javadocs --lib-dir=%{_libdir} \ --sysconf-dir=%{_sysconfdir} \ --share-dir=%{_datadir} \ - --cmake="%{__cmake} %{?enable_nss_version_pqc_def_flag}" \ + --cmake=%{__cmake} \ --java-home=%{java_home} \ --jni-dir=%{_jnidir} \ --version=%{version} \ - --without-java \ - --without-javadoc \ - %{!?with_tests:--without-tests} \ + %{!?with_javadoc:--without-javadoc} \ + %{?with_tests:--with-tests} \ dist ################################################################################ %install ################################################################################ -# install Java binaries and Javadoc -%mvn_install - -# install jss.jar -mkdir -p %{buildroot}%{_javadir}/jss -cp base/target/jss.jar %{buildroot}%{_javadir}/jss/jss.jar - -# create links for backward compatibility -mkdir -p %{buildroot}%{_jnidir} -ln -sf ../../..%{_javadir}/jss/jss.jar %{buildroot}%{_jnidir}/jss.jar - -mkdir -p %{buildroot}%{_libdir}/jss -ln -sf ../../..%{_javadir}/jss/jss.jar %{buildroot}%{_libdir}/jss/jss.jar - -# install native binaries ./build.sh \ %{?_verbose:-v} \ --work-dir=%{_vpath_builddir} \ --install-dir=%{buildroot} \ - --without-java \ install -# install tests binaries -%if %{with tests} -mkdir -p %{buildroot}%{_datadir}/jss/tests/lib -cp base/target/jss-tests.jar %{buildroot}%{_datadir}/jss/tests/lib -%endif - ################################################################################ -%files -n %{product_id} -f .mfiles +%files -n %{product_id} ################################################################################ +%defattr(-,root,root,-) %doc jss.html %license MPL-1.1.txt gpl.txt lgpl.txt symkey/LICENSE -%{_javadir}/jss/jss.jar -%{_jnidir}/jss.jar -%{_libdir}/jss/jss.jar -%{_libdir}/jss/libjss.so -%{_libdir}/jss/libjss-symkey.so - -################################################################################ -%files -n %{product_id}-tomcat -f .mfiles-jss-tomcat -################################################################################ - -################################################################################ -%files -n %{product_id}-tools -################################################################################ - -%{_bindir}/p12tool -%{_bindir}/p7tool -%{_bindir}/sslget +%{_libdir}/* +%{_jnidir}/* %if %{with javadoc} ################################################################################ -%files -n %{product_id}-javadoc -f .mfiles-javadoc -################################################################################ -%endif - -%if %{with tests} -################################################################################ -%files -n %{product_id}-tests +%files -n %{product_id}-javadoc ################################################################################ -%{_datadir}/jss/tests/ - -# with tests +%defattr(-,root,root,-) +%{_javadocdir}/jss/ %endif ################################################################################ %changelog -* Tue Nov 04 2025 Dogtag PKI Team 5.8.0-1 -- Rebase to JSS 5.8.0-1 - -* Fri Aug 22 2025 Yaakov Selkowitz - 5.8.0-0.6.beta4 -- Build with Java 25 for ELN - -* Mon Aug 11 2025 Dogtag PKI Team 5.8.0-0.5.beta4 -- Rebuild for Fedora 43 - -* Mon Aug 11 2025 Dogtag PKI Team 5.8.0-0.4.beta4.1 -- Rebase to JSS 5.8.0-beta4 - -* Mon Jul 28 2025 Dogtag PKI Team 5.8.0-0.3.beta3.1 -- Rebase to JSS 5.8.0-beta3 - -* Thu Jul 24 2025 Fedora Release Engineering - 5.8.0-0.1.beta1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jul 09 2025 Dogtag PKI Team 5.8.0.1 -- Rebase to JSS 5.8.0-beta1 - -* Fri Jan 17 2025 Fedora Release Engineering - 5.6.0-0.1.alpha1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Nov 20 2024 Dogtag PKI Team 5.6.0-1 -- Rebase to JSS 5.6.0-alpha1 - -* Fri Oct 04 2024 Dogtag PKI Team 5.5.1-1 -- Rebase to JSS 5.5.1 - -* Thu Jul 18 2024 Fedora Release Engineering - 5.5.0-2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Thu Feb 29 2024 Adam Williamson - 5.5.0-2 -- Really build against java-21 - -* Tue Feb 27 2024 Jiri Vanek - 5.5.0-1.1 -- Rebuilt for java-21-openjdk as system jdk - -* Wed Feb 21 2024 Dogtag PKI Team 5.5.0-1 -- Rebase to JSS 5.5.0 - -* Thu Feb 08 2024 Yaakov Selkowitz - 5.4.2-1.4 -- Fix compatibility with NSS 3.97 - -* Wed Jan 24 2024 Fedora Release Engineering - 5.4.2-1.3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 5.4.2-1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - * Thu Jul 20 2023 Fedora Release Engineering - 5.4.2-1.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index f69b2ec..5f64e0c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (jss-5.8.0.tar.gz) = 10f5727d78f8b466062396e47c25b7fdac4b70c6862e6857f8aef49b633c43c4485c1d3cd535006ecd090e8dfe787000fb40d8748ed381c4ac4d1d39312e6c3d +SHA512 (jss-5.4.2.tar.gz) = 8e5c0ed93d8bafbfd8a8f822aaeda5d4b60e7609aa24f793eb3c449918a4a23884a55966f40d66d810e9b56114eb7cefb8dfeee565fe680c79ef876bc9acfefa