From 17af4157bb51efe829314d3bdd9efedd14667d26 Mon Sep 17 00:00:00 2001
From: Alexander Scheel <ascheel@redhat.com>
Date: Thu, 20 Aug 2020 08:47:58 -0400
Subject: [PATCH 4/4] Add Jakarta Activation dependency for JDK11+
Signed-off-by: Alexander Scheel <ascheel@redhat.com>
---
.classpath | 1 +
base/CMakeLists.txt | 14 ++++++++++++++
base/common/CMakeLists.txt | 1 +
base/server/CMakeLists.txt | 1 +
base/server/share/conf/pki.policy | 4 ++++
pki.spec | 6 +++++-
pom.xml | 6 ++++++
scripts/compose_pki_test_package | 1 +
tests/dogtag/dev_java_tests/run_junit_tests.sh | 2 +-
9 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/.classpath b/.classpath
index ae7f001a0..078d3a403 100644
--- a/.classpath
+++ b/.classpath
@@ -35,6 +35,7 @@
<classpathentry kind="lib" path="/usr/share/java/ldapjdk.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jaxb-api.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jaxb/jaxb-impl.jar"/>
+ <classpathentry kind="lib" path="/usr/share/java/jakarta-activation/jakarta.activation.jar"/>
<classpathentry kind="lib" path="/usr/share/java/httpcomponents/httpclient.jar"/>
<classpathentry kind="lib" path="/usr/share/java/httpcomponents/httpcore.jar"/>
<classpathentry kind="lib" path="/usr/share/java/jboss-jaxrs-2.0-api.jar"/>
diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt
index 2fef383ec..8a19f9c71 100644
--- a/base/CMakeLists.txt
+++ b/base/CMakeLists.txt
@@ -182,6 +182,20 @@ find_file(JAXB_IMPL_JAR
/usr/share/java
)
+find_file(JAKARTA_ACTIVATION_JAR
+ NAMES
+ jakarta.activation.jar
+ jakarta-activation.jar
+ jaxb.activation.jar
+ jaxb-activation.jar
+ PATHS
+ /usr/share/java/jakarta-activation
+ /usr/share/java/jakarta
+ /usr/share/java/jaxb-activation
+ /usr/share/java/jaxb
+ /usr/share/java
+)
+
find_file(JSS_JAR
NAMES
jss4.jar
diff --git a/base/common/CMakeLists.txt b/base/common/CMakeLists.txt
index 4fb3e30b5..4e9d44255 100644
--- a/base/common/CMakeLists.txt
+++ b/base/common/CMakeLists.txt
@@ -30,6 +30,7 @@ add_custom_command(
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JACKSON2_JAXB_ANNOTATIONS_JAR} lib/jackson-module-jaxb-annotations.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JAXB_API_JAR} lib/jaxb-api.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JAXB_IMPL_JAR} lib/jaxb-impl.jar
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${JAKARTA_ACTIVATION_JAR} lib/jakarta.activation.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JSS_JAR} lib/jss4.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${LDAPJDK_JAR} lib/ldapjdk.jar
COMMAND ln -sf /usr/share/java/pki/pki-certsrv.jar ${CMAKE_CURRENT_BINARY_DIR}/lib/pki-certsrv.jar
diff --git a/base/server/CMakeLists.txt b/base/server/CMakeLists.txt
index 7053ac208..04f537436 100644
--- a/base/server/CMakeLists.txt
+++ b/base/server/CMakeLists.txt
@@ -99,6 +99,7 @@ add_custom_command(
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JACKSON2_JAXB_ANNOTATIONS_JAR} common/lib/jackson-module-jaxb-annotations.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JAXB_API_JAR} common/lib/jaxb-api.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JAXB_IMPL_JAR} common/lib/jaxb-impl.jar
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${JAKARTA_ACTIVATION_JAR} common/lib/jakarta.activation.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${JSS_JAR} common/lib/jss4.jar
COMMAND ${CMAKE_COMMAND} -E create_symlink ${LDAPJDK_JAR} common/lib/ldapjdk.jar
COMMAND ln -sf /usr/share/java/pki/pki-cmsutil.jar ${CMAKE_CURRENT_BINARY_DIR}/common/lib/pki-cmsutil.jar
diff --git a/base/server/share/conf/pki.policy b/base/server/share/conf/pki.policy
index 2fbcaef90..460fff0bb 100644
--- a/base/server/share/conf/pki.policy
+++ b/base/server/share/conf/pki.policy
@@ -52,6 +52,10 @@ grant codeBase "file:/usr/share/java/jaxb/jaxb-impl.jar" {
permission java.security.AllPermission;
};
+grant codeBase "file:/usr/share/java/jakarta-activation/jakarta.activation.jar" {
+ permission java.security.AllPermission;
+};
+
grant codeBase "file:/usr/share/java/jaxme/jaxmeapi.jar" {
permission java.security.AllPermission;
};
diff --git a/pki.spec b/pki.spec
index 8d931a8a7..e29b6d12f 100644
--- a/pki.spec
+++ b/pki.spec
@@ -423,11 +423,15 @@ Requires: resteasy >= 3.0.26
Requires: resteasy-atom-provider >= 3.0.17-1
Requires: resteasy-client >= 3.0.17-1
Requires: resteasy-jaxb-provider >= 3.0.17-1
-Requires: jaxb-impl
Requires: resteasy-core >= 3.0.17-1
Requires: resteasy-jackson2-provider >= 3.0.17-1
%endif
+%if 0%{?fedora} && 0%{?fedora} >= 33
+Requires: jaxb-impl >= 2.3.3
+Requires: jakarta-activation >= 1.2.2
+%endif
+
Requires: xalan-j2
Requires: xerces-j2
Requires: xml-commons-apis
diff --git a/pom.xml b/pom.xml
index 35644e20e..34af3c121 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,6 +86,12 @@
<version>2.3.3</version>
</dependency>
+ <dependency>
+ <groupId>jakarta.activation</groupId>
+ <artifactId>jakarta.activation-api</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+
<dependency>
<groupId>org.jboss.spec.javax.annotation</groupId>
<artifactId>jboss-annotations-api_1.2_spec</artifactId>
diff --git a/scripts/compose_pki_test_package b/scripts/compose_pki_test_package
index f6de770e1..b8c39c682 100755
--- a/scripts/compose_pki_test_package
+++ b/scripts/compose_pki_test_package
@@ -119,6 +119,7 @@ CLASSPATH=$CLASSPATH:/usr/share/java/idm-console-nmclf.jar
CLASSPATH=$CLASSPATH:/usr/share/java/jakarta-commons-httpclient.jar
CLASSPATH=$CLASSPATH:/usr/share/java/jaxb-api.jar
CLASSPATH=$CLASSPATH:/usr/share/java/jaxb/jaxb-impl.jar
+CLASSPATH=$CLASSPATH:/usr/share/java/jakarta-activation/jakarta.activation.jar
CLASSPATH=$CLASSPATH:/usr/share/java/ldapjdk.jar
CLASSPATH=$CLASSPATH:/usr/share/java/apache-commons-lang.jar
CLASSPATH=$CLASSPATH:/usr/share/java/istack-commons-runtime.jar
diff --git a/tests/dogtag/dev_java_tests/run_junit_tests.sh b/tests/dogtag/dev_java_tests/run_junit_tests.sh
index 317958ccc..76efd757b 100644
--- a/tests/dogtag/dev_java_tests/run_junit_tests.sh
+++ b/tests/dogtag/dev_java_tests/run_junit_tests.sh
@@ -54,7 +54,7 @@ run_dev_junit_tests() {
CLASSPATH=$CLASSPATH:/usr/share/java/idm-console-nmclf.jar
CLASSPATH=$CLASSPATH:/usr/share/java/jakarta-commons-httpclient.jar
CLASSPATH=$CLASSPATH:/usr/share/java/jaxb-api.jar
- CLASSPATH=$CLASSPATH:/usr/share/java/jaxb/jaxb-impl.jar
+ CLASSPATH=$CLASSPATH:/usr/share/java/jakarta-activation/jakarta.activation.jar
CLASSPATH=$CLASSPATH:/usr/share/java/ldapjdk.jar
CLASSPATH=$CLASSPATH:/usr/share/java/apache-commons-lang.jar
CLASSPATH=$CLASSPATH:/usr/share/java/istack-commons-runtime.jar
--
2.26.2