Blob Blame History Raw
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