Compare commits

..

No commits in common. "rawhide" and "f39" have entirely different histories.

3 changed files with 30 additions and 271 deletions

8
.gitignore vendored
View file

@ -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

291
jss.spec
View file

@ -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.<n> where n >= 1
@ -21,18 +20,14 @@ Name: jss
# - GA/update (supported): <none>
#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 <devel@lists.dogtagpki.org> 5.8.0-1
- Rebase to JSS 5.8.0-1
* Fri Aug 22 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 5.8.0-0.6.beta4
- Build with Java 25 for ELN
* Mon Aug 11 2025 Dogtag PKI Team <devel@lists.dogtagpki.org> 5.8.0-0.5.beta4
- Rebuild for Fedora 43
* Mon Aug 11 2025 Dogtag PKI Team <devel@lists.dogtagpki.org> 5.8.0-0.4.beta4.1
- Rebase to JSS 5.8.0-beta4
* Mon Jul 28 2025 Dogtag PKI Team <devel@lists.dogtagpki.org> 5.8.0-0.3.beta3.1
- Rebase to JSS 5.8.0-beta3
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-0.1.beta1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jul 09 2025 Dogtag PKI Team <devel@lists.dogtagpki.org> 5.8.0.1
- Rebase to JSS 5.8.0-beta1
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.0-0.1.alpha1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Nov 20 2024 Dogtag PKI Team <devel@lists.dogtagpki.org> 5.6.0-1
- Rebase to JSS 5.6.0-alpha1
* Fri Oct 04 2024 Dogtag PKI Team <devel@lists.dogtagpki.org> 5.5.1-1
- Rebase to JSS 5.5.1
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.5.0-2.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Feb 29 2024 Adam Williamson <awilliam@redhat.com> - 5.5.0-2
- Really build against java-21
* Tue Feb 27 2024 Jiri Vanek <jvanek@redhat.com> - 5.5.0-1.1
- Rebuilt for java-21-openjdk as system jdk
* Wed Feb 21 2024 Dogtag PKI Team <devel@lists.dogtagpki.org> 5.5.0-1
- Rebase to JSS 5.5.0
* Thu Feb 08 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 5.4.2-1.4
- Fix compatibility with NSS 3.97
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.2-1.3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.2-1.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.2-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

View file

@ -1 +1 @@
SHA512 (jss-5.8.0.tar.gz) = 10f5727d78f8b466062396e47c25b7fdac4b70c6862e6857f8aef49b633c43c4485c1d3cd535006ecd090e8dfe787000fb40d8748ed381c4ac4d1d39312e6c3d
SHA512 (jss-5.4.2.tar.gz) = 8e5c0ed93d8bafbfd8a8f822aaeda5d4b60e7609aa24f793eb3c449918a4a23884a55966f40d66d810e9b56114eb7cefb8dfeee565fe680c79ef876bc9acfefa