diff --git a/.gitignore b/.gitignore index edcc16f..f8083a5 100644 --- a/.gitignore +++ b/.gitignore @@ -40,16 +40,3 @@ jss-4.2.6.tar.gz /jss-5.0.0.tar.gz /jss-5.1.0-alpha2.tar.gz /jss-5.1.0.tar.gz -/jss-5.2.0-beta1.tar.gz -/jss-5.2.0-beta2.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/.packit.yaml b/.packit.yaml deleted file mode 100644 index 73d2062..0000000 --- a/.packit.yaml +++ /dev/null @@ -1,30 +0,0 @@ ---- -# See the documentation for more information: -# https://packit.dev/docs/configuration/ -specfile_path: jss.spec - -# add or remove files that should be synced -files_to_sync: - - jss.spec - - .packit.yaml - -# Allow dist git reactions on packit and ckelley commits and PRs -allowed_pr_authors: - - packit - - ckelleyRH -allowed_committers: - - packit - - ckelleyRH - -upstream_package_name: jss -# downstream (Fedora/CentOS) RPM package name -downstream_package_name: jss -# see: https://packit.dev/docs/configuration/#upstream_tag_template -upstream_tag_template: "v{version}" - -jobs: - - job: propose_downstream - trigger: release - dist_git_branches: - - fedora-development -# - centos-stream-9-x86_64 # When Packit integration with CentOS is avaiable, enable this diff --git a/README.packit b/README.packit deleted file mode 100644 index 07bc213..0000000 --- a/README.packit +++ /dev/null @@ -1,3 +0,0 @@ -This repository is maintained by packit. -https://packit.dev/ -The file was generated using packit 0.76.0.post10+g0dcb396. diff --git a/jss.spec b/jss.spec index 794ee73..9d0dd7f 100644 --- a/jss.spec +++ b/jss.spec @@ -2,37 +2,15 @@ Name: jss ################################################################################ -%global vendor_id dogtag -%global product_id %{vendor_id}-jss - -# Upstream version number: -%global major_version 5 -%global minor_version 8 -%global update_version 0 - -# Downstream release number: -# - development/stabilization (unsupported): 0. where n >= 1 -# - GA/update (supported): where n >= 1 -%global release_number 1 - -# Development phase: -# - development (unsupported): alpha where n >= 1 -# - stabilization (unsupported): beta where n >= 1 -# - 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} +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. +Version: 5.1.0 +Release: 1%{?_timestamp}%{?_commit_id}%{?dist} +#global _phase -alpha2 # To generate the source tarball: # $ git clone https://github.com/dogtagpki/jss.git @@ -41,7 +19,7 @@ Release: %{release_number}%{?phase:.}%{?phase}%{?timestamp:.}%{?timestamp # $ git push origin v4.5. # Then go to https://github.com/dogtagpki/jss/releases and download the source # tarball. -Source: https://github.com/dogtagpki/jss/archive/v%{version}%{?phase:-}%{?phase}/jss-%{version}%{?phase:-}%{?phase}.tar.gz +Source: https://github.com/dogtagpki/%{name}/archive/v%{version}%{?_phase}/%{name}-%{version}%{?_phase}.tar.gz # To create a patch for all changes since a version tag: # $ git format-patch \ @@ -50,36 +28,13 @@ Source: https://github.com/dogtagpki/jss/archive/v%{version}%{?phase:-}% # > jss-VERSION-RELEASE.patch # Patch: jss-VERSION-RELEASE.patch -%if 0%{?java_arches:1} -ExclusiveArch: %{java_arches} -%else -ExcludeArch: i686 -%endif - ################################################################################ # 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 +45,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,161 +60,53 @@ 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: mvn(org.apache.commons:commons-lang3) -BuildRequires: mvn(org.slf4j:slf4j-api) -BuildRequires: mvn(org.slf4j:slf4j-jdk14) +BuildRequires: jpackage-utils +BuildRequires: slf4j +BuildRequires: slf4j-jdk14 +BuildRequires: apache-commons-lang3 + +BuildRequires: junit + +Requires: nss >= 3.66 +Requires: %{java_headless} +Requires: jpackage-utils +Requires: slf4j +Requires: slf4j-jdk14 +Requires: apache-commons-lang3 + +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 -n %{product_id} -################################################################################ - -Summary: Java Security Services (JSS) - -Requires: nss >= 3.101 - -Requires: %{java_headless} -Requires: mvn(org.apache.commons:commons-lang3) -Requires: mvn(org.slf4j:slf4j-api) -Requires: mvn(org.slf4j:slf4j-jdk14) - -Obsoletes: jss < %{version}-%{release} -Provides: jss = %{version}-%{release} -Provides: jss = %{major_version}.%{minor_version} -Provides: %{product_id} = %{major_version}.%{minor_version} - -Conflicts: ldapjdk < 4.20 -Conflicts: idm-console-framework < 1.2 -Conflicts: pki-base < 10.10.0 - -%description -n %{product_id} -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 +%package javadoc ################################################################################ Summary: Java Security Services (JSS) Javadocs +Requires: jss = %{version}-%{release} -Obsoletes: jss-javadoc < %{version}-%{release} -Provides: jss-javadoc = %{version}-%{release} -Provides: jss-javadoc = %{major_version}.%{minor_version} -Provides: %{product_id}-javadoc = %{major_version}.%{minor_version} - -%description -n %{product_id}-javadoc +%description javadoc 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 +%autosetup -n %{name}-%{version}%{?_phase} -p 1 ################################################################################ %build -################################################################################ -# Set build flags for CMake -# (see /usr/lib/rpm/macros.d/macros.cmake) %set_build_flags export JAVA_HOME=%{java_home} @@ -274,210 +121,44 @@ 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} \ - --prefix-dir=%{_prefix} \ - --include-dir=%{_includedir} \ - --lib-dir=%{_libdir} \ - --sysconf-dir=%{_sysconfdir} \ - --share-dir=%{_datadir} \ - --cmake="%{__cmake} %{?enable_nss_version_pqc_def_flag}" \ - --java-home=%{java_home} \ --jni-dir=%{_jnidir} \ + --lib-dir=%{_libdir} \ --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 +%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 +%files javadoc -%if %{with tests} -################################################################################ -%files -n %{product_id}-tests -################################################################################ - -%{_datadir}/jss/tests/ - -# with tests +%defattr(-,root,root,-) +%{_javadocdir}/%{name}/ %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 - -* Fri Jun 16 2023 Packit - 5.4.2-1 -- Updating version to v5.4.2 (Chris Kelley) -- Upstream spec file changes to reduce diffs (Chris Kelley) -- Introduce Packit configuration for jss (Chris Kelley) - -* Tue Feb 07 2023 Dogtag PKI Team - 5.3.0-2 -- Update version number in JSSConfig.cmake - -* Tue Feb 07 2023 Dogtag PKI Team - 5.3.0-1 -- Rebase to JSS 5.3.0 - -* Thu Jan 19 2023 Fedora Release Engineering - 5.2.0-1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 5.2.0-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jun 29 2022 Dogtag PKI Team - 5.2.0-1 -- Rebase to JSS 5.2.0 - -* Wed Apr 27 2022 Dogtag PKI Team - 5.2.0-0.3.beta2 -- Rebase to JSS 5.2.0-beta2 -- Rename packages to dogtag-jss - -* Mon Apr 11 2022 Dogtag PKI Team - 5.2.0-0.2.beta1 -- Rebase to JSS 5.2.0-beta1 - * Mon Feb 14 2022 Dogtag PKI Team - 5.1.0-1 - Rebase to JSS 5.1.0 diff --git a/sources b/sources index f69b2ec..eefcf57 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (jss-5.8.0.tar.gz) = 10f5727d78f8b466062396e47c25b7fdac4b70c6862e6857f8aef49b633c43c4485c1d3cd535006ecd090e8dfe787000fb40d8748ed381c4ac4d1d39312e6c3d +SHA512 (jss-5.1.0.tar.gz) = 5bed03b443a2f9c8912e153a27469bdd6e8363465c3748c39defb19de1db1f489293ff86aeb6be7417e1b4bdc2c7915847b35521c220c68e18b2c15c24144306