changeset 1952:fc22b28bbc9a

[RPM] Fix several bundle wiring issues. - Lucene analyzers BSN needed updating for EL. - Jetty version needs to be set at built time for EL. - Fix wrongly named property for http mime version in 0001_shared_fix_bundle_loading.patch - Set jansi version to 2.11 which is available. - Fix mongo-java-driver's BSN version to not include .RELEASE suffix. - Include plugins/experimental folder in %files. - Update httpcomponents core version for rawhide. PR3052 Reviewed-by: neugens Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2016-June/019884.html
author Severin Gehwolf <sgehwolf@redhat.com>
date Mon, 27 Jun 2016 17:03:41 +0200
parents 569595f0f2bb
children 77b04c121862
files distribution/packaging/fedora/0001_shared_fix_bundle_loading.patch distribution/packaging/fedora/thermostat.spec
diffstat 2 files changed, 37 insertions(+), 53 deletions(-) [+]
line wrap: on
line diff
--- a/distribution/packaging/fedora/0001_shared_fix_bundle_loading.patch	Mon Jun 27 18:41:42 2016 +0200
+++ b/distribution/packaging/fedora/0001_shared_fix_bundle_loading.patch	Mon Jun 27 17:03:41 2016 +0200
@@ -351,7 +351,7 @@
          <bundle><symbolic-name>org.apache.httpcomponents.httpcore</symbolic-name><version>${httpcomponents.core.version}</version></bundle>
          <bundle><symbolic-name>org.apache.httpcomponents.httpclient</symbolic-name><version>${httpcomponents.client.version}</version></bundle>
 -        <bundle><symbolic-name>${osgi.compendium.bundle.symbolic-name}</symbolic-name><version>${osgi.compendium.osgi-version}</version></bundle>
-+        <bundle><symbolic-name>org.apache.httpcomponents.httpmime</symbolic-name><version>${httpcomponents.httpmime.version}</version></bundle>
++        <bundle><symbolic-name>org.apache.httpcomponents.httpmime</symbolic-name><version>${httpcomponents.mime.version}</version></bundle>
          <bundle><symbolic-name>com.google.gson</symbolic-name><version>${gson.version}</version></bundle>
          <bundle><symbolic-name>com.redhat.thermostat.process</symbolic-name><version>${project.version}</version></bundle>
          <bundle><symbolic-name>com.redhat.thermostat.agent.cli</symbolic-name><version>${project.version}</version></bundle>
--- a/distribution/packaging/fedora/thermostat.spec	Mon Jun 27 18:41:42 2016 +0200
+++ b/distribution/packaging/fedora/thermostat.spec	Mon Jun 27 17:03:41 2016 +0200
@@ -51,20 +51,18 @@
   %global codec_bundle_version       1.10.0
   # apache-commons-logging
   %global logging_bundle_version     1.2.0
-  %global hc_core_bundle_version     4.4.4
+  %global hc_core_bundle_version     4.4.5
   %global hc_client_bundle_version   4.5.2
   %global gson_bundle_version        2.3.1
-  # Real OSGi Bundle-Version is 3.2.1.RELEASE
   %global mongo_bundle_version       3.2.1
-  # Jansi is used as bootstrap bundle and the
-  # bootstrap bundle properties file refers to the jar
-  # with version suffix. See 0001_shared_fix_bundle_loading.patch
-  %global jansi_version              1.11
   %global lucene_analysis_core_bsn   org.apache.lucene.analyzers-common
+  %global lucene_version             5.5.0
   # The javax.servlet bundle version used by the
   # endpoint plugin: a.k.a web-storage-service
   %global javax_servlet_bundle_version 3.1.0
   %global javax_servlet_bsn            javax.servlet-api
+  %global jgraphx_bundle_version       3.5.0
+  %global jetty_version                9.4.0
 
 %else
 
@@ -84,30 +82,28 @@
   %global hc_core_bundle_version     4.3.3
   %global hc_client_bundle_version   4.3.6
   %global gson_bundle_version        2.2.2
-  # Real OSGi Bundle-Version is 2.11.4.RELEASE
-  %global mongo_bundle_version       2.13.2
-  # Jansi is used as bootstrap bundle and the
-  # bootstrap bundle properties file refers to the jar
-  # with version suffix. See 0001_shared_fix_bundle_loading.patch
-  %global jansi_version              1.9
-  %global lucene_analysis_core_bsn   org.apache.lucene.analysis
+  %global mongo_bundle_version       3.2.1
+  %global lucene_analysis_core_bsn   org.apache.lucene.analyzers-common
+  %global lucene_version             5.4.1
   # The javax.servlet bundle version used by the
   # endpoint plugin: a.k.a web-storage-service
   # Comming from rh-java-common-tomcat-servlet-XXX-api
   # package.
   %global javax_servlet_bundle_version 3.0.0
   %global javax_servlet_bsn            javax.servlet
+  %global jgraphx_bundle_version       3.1.2
+  %global jetty_version                9.0.3.v20130506
 
 %endif
 
+# Jansi is used as bootstrap bundle and the
+# bootstrap bundle properties file refers to the jar
+# with version suffix. See 0001_shared_fix_bundle_loading.patch
+%global jansi_version              1.11
+
 # apache-commons-collections
 %global collections_bundle_version 3.2.1
 
-# thread plugin needs jgraphx. See gui.properties hunk in
-# 0001_shared_fix_bundle_loading.patch We pass in
-# jgraphx.osgi.version via the command line.
-%global jgraphx_bundle_version     3.5.0
-
 # Base path to the JDK which will be used in boot scripts
 %if 0%{?fedora} >= 22
   %global jdk_base /etc/alternatives/java_sdk_openjdk
@@ -156,13 +152,17 @@
 # Some Maven coordinates mismatch due to compat versioning.
 %{!?scl:
 %global object_web_asm_maven_coords org.ow2.asm:asm-all
-%global netty_maven_coords io.netty:netty:%{netty_bundle_version}
+%global lucene_core_coords          org.apache.lucene:lucene-core
+%global lucene_analyzers_coords     org.apache.lucene:lucene-analyzers
+%global netty_maven_coords          io.netty:netty:%{netty_bundle_version}
 }
 %{?scl:
 # objectweb-asm is objectweb-asm5 in SCL
 %global object_web_asm_maven_coords org.ow2.asm:asm-all:5
 # netty coordinates are org.jboss.netty:netty in SCL
 %global netty_maven_coords org.jboss.netty:netty
+%global lucene_core_coords          org.apache.lucene:lucene-core:5
+%global lucene_analyzers_coords     org.apache.lucene:lucene-analyzers:5
 }
 
 
@@ -198,9 +198,6 @@
     %filter_setup
   %else
     %global __provides_exclude_from ^%{_libdir}/thermostat/.*|%{thermostat_home}/libs/native/.*$
-    # Exclude generation of osgi() style provides, since they are not
-    # SCL-namespaced and may conflict with base RHEL packages.
-    %global __provides_exclude ^osgi(.*)$
   %endif
 }
 
@@ -264,7 +261,7 @@
 BuildRequires: java-devel >= 1:1.7.0
 %endif
 BuildRequires: %{?scl_prefix_java_common}javapackages-tools
-BuildRequires: %{?scl_prefix_java_common}maven-local
+BuildRequires: %{?scl_prefix_maven}maven-local
 BuildRequires: %{?scl_prefix_maven}maven-dependency-plugin
 BuildRequires: %{?scl_prefix_maven}maven-surefire-plugin
 BuildRequires: %{?scl_prefix_maven}maven-war-plugin
@@ -298,18 +295,15 @@
 BuildRequires: %{?scl_prefix_java_common}mvn(org.apache.felix:org.apache.felix.framework)
 BuildRequires: %{?scl_prefix_maven}mvn(org.fusesource:fusesource-pom:pom:)
 BuildRequires: %{?scl_prefix_java_common}mvn(org.apache.commons:commons-cli)
-# jline 2.10 is known to work
-BuildRequires: %{?scl_prefix}mvn(jline:jline) >= 2.10
+BuildRequires: %{?scl_prefix}mvn(jline:jline)
 BuildRequires: %{?scl_prefix_java_common}mvn(org.fusesource.jansi:jansi)
-BuildRequires: %{?scl_prefix_java_common}mvn(org.apache.lucene:lucene-core) >= 4.7.0
-BuildRequires: %{?scl_prefix_java_common}mvn(org.apache.lucene:lucene-analyzers) >= 4.7.0
+BuildRequires: %{?scl_prefix_java_common}mvn(%{lucene_core_coords})
+BuildRequires: %{?scl_prefix_java_common}mvn(%{lucene_analyzers_coords})
 BuildRequires: %{?scl_prefix_java_common}mvn(com.google.code.gson:gson)
 BuildRequires: %{?scl_prefix}mvn(org.jfree:jfreechart)
 BuildRequires: %{?scl_prefix}mvn(org.jfree:jcommon)
 BuildRequires: %{?scl_prefix_java_common}mvn(org.apache.commons:commons-beanutils)
-# FIXME: switch back to mongodb prefix once 2.13.2 is available in
-# the mongodb collection.
-BuildRequires: %{?scl_prefix}mvn(org.mongodb:mongo-java-driver)
+BuildRequires: %{?scl_prefix_mongodb}mvn(org.mongodb:mongo-java-driver)
 # Change to netty 4 once RHBZ#1053619 is
 # resolved.
 # The version number in mvn() means it's a compat package.
@@ -346,9 +340,7 @@
 BuildRequires: %{?scl_prefix_java_common}osgi(org.apache.commons.logging) = %{logging_bundle_version}
 BuildRequires: %{?scl_prefix_java_common}osgi(org.apache.commons.beanutils) = %{beanutils_bundle_version}
 BuildRequires: %{?scl_prefix_java_common}osgi(org.apache.commons.codec) = %{codec_bundle_version}
-# FIXME: switch back to mongodb prefix once 2.13.2 is available in
-# the mongodb collection.
-BuildRequires: %{?scl_prefix}osgi(org.mongodb.mongo-java-driver) = %{mongo_bundle_version}
+BuildRequires: %{?scl_prefix_mongodb}osgi(org.mongodb.mongo-java-driver) = %{mongo_bundle_version}
 # Netty osgi provides are not there in SCL
 %{!?scl:
 BuildRequires: %{?scl_prefix}osgi(org.jboss.netty) = %{netty_bundle_version}
@@ -416,11 +408,6 @@
 Requires: %{?scl_prefix_java_common}osgi(org.apache.httpcomponents.httpclient) >= %{hc_client_bundle_version}
 Requires: %{?scl_prefix_java_common}osgi(org.apache.httpcomponents.httpmime) >= %{hc_client_bundle_version}
 
-# This module has been removed to fix CVE-2014-8120
-Obsoletes: %{?scl_prefix}mvn(com.redhat.thermostat:thermostat-agent-proxy-common) <= %{version}
-
-%{?scl:Requires: %scl_runtime}
-
 %description
 Thermostat is a monitoring and instrumentation tool for the Hotspot JVM,
 with support for monitoring multiple JVM instances. The system is made
@@ -436,9 +423,6 @@
 %{!?scl:
 Requires:   javapackages-tools
 }
-%{?scl:
-Requires:   %scl_runtime
-}
 
 BuildArch:  noarch
 
@@ -471,10 +455,7 @@
 #%%setup -q -n %%{pkg_name}-%%{major}-%%{minor}-%%{hgrev}
 %patch1 -p1
 %patch2 -p1
-# Lucene 5 patche only applicable for non-SCL
-%{!?scl:
 %patch3 -p1
-}
 
 
 # Fix up artifact names which have different name upstream
@@ -483,10 +464,10 @@
 %pom_remove_dep "org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene" vm-heap-analysis/distribution
 %pom_remove_dep "org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene-analyzers-common" vm-heap-analysis/common
 %pom_remove_dep "org.apache.servicemix.bundles:org.apache.servicemix.bundles.lucene-analyzers-common" vm-heap-analysis/distribution
-%pom_add_dep "org.apache.lucene:lucene-analyzers:5.2.0" vm-heap-analysis/common
-%pom_add_dep "org.apache.lucene:lucene-analyzers:5.2.0" vm-heap-analysis/distribution
-%pom_add_dep "org.apache.lucene:lucene-core:5.2.0" vm-heap-analysis/common
-%pom_add_dep "org.apache.lucene:lucene-core:5.2.0" vm-heap-analysis/distribution
+%pom_add_dep "org.apache.lucene:lucene-analyzers:%{lucene_version}" vm-heap-analysis/common
+%pom_add_dep "org.apache.lucene:lucene-analyzers:%{lucene_version}" vm-heap-analysis/distribution
+%pom_add_dep "org.apache.lucene:lucene-core:%{lucene_version}" vm-heap-analysis/common
+%pom_add_dep "org.apache.lucene:lucene-core:%{lucene_version}" vm-heap-analysis/distribution
 # Fix up artifact names for jgraphx
 %pom_remove_dep "org.tinyjee.jgraphx:jgraphx"
 %pom_add_dep "com.mxgraph:jgraphx:3.1.2.0"
@@ -502,9 +483,9 @@
 #  httpcore
 %pom_remove_dep org.apache.httpcomponents:httpcore-osgi web/client
 %pom_add_dep org.apache.httpcomponents:httpcore:4.4.0 web/client
-# need jline 2.10 (otherwise this resolves to jline 1)
+# need jline 2.13 (otherwise this resolves to jline 1)
 %pom_xpath_remove "pom:properties/pom:jline.version"
-%pom_xpath_inject "pom:properties" "<jline.version>2.10</jline.version>"
+%pom_xpath_inject "pom:properties" "<jline.version>2.13</jline.version>"
 #  netty
 #%%pom_remove_dep org.jboss.netty:netty 
 %pom_remove_dep org.jboss.netty:netty common/command
@@ -661,7 +642,7 @@
                  -Dcommons-codec.osgi-version=%{codec_bundle_version} \
                  -Dcommons-beanutils.version=%{beanutils_bundle_version} \
                  -Dgson.version=%{gson_bundle_version} \
-                 -Dmongo-driver.osgi-version=%{mongo_bundle_version}.RELEASE \
+                 -Dmongo-driver.osgi-version=%{mongo_bundle_version} \
                  -Dhttpcomponents.core.version=%{hc_core_bundle_version} \
                  -Dhttpcomponents.client.version=%{hc_client_bundle_version} \
                  -Dhttpcomponents.mime.version=%{hc_client_bundle_version} \
@@ -670,11 +651,13 @@
                  -Djfreechart.osgi.version=%{jfreechart_bundle_version} \
                  -Dlucene-core.bundle.symbolic-name=org.apache.lucene.core \
                  -Dlucene-analysis.bundle.symbolic-name=%{lucene_analysis_core_bsn} \
+                 -Dlucene.osgi-version=%{lucene_version} \
                  -Dosgi.compendium.bundle.symbolic-name=org.osgi.compendium \
                  -Dosgi.compendium.osgi-version=4.1.0 \
                  -Djgraphx.osgi.version=%{jgraphx_bundle_version} \
                  -Djetty.javax.servlet.osgi.version=%{javax_servlet_bundle_version} \
-                 -Djavax.servlet.bsn=%{javax_servlet_bsn}
+                 -Djavax.servlet.bsn=%{javax_servlet_bsn} \
+                 -Djetty.version=%{jetty_version}
 
 # Make path to java so that it keeps working after updates.
 # We require java >= 1.7.0
@@ -1051,6 +1034,7 @@
 %{_datadir}/%{pkg_name}/plugins/vm-numa
 %{_datadir}/%{pkg_name}/plugins/vm-overview
 %{_datadir}/%{pkg_name}/plugins/vm-profiler
+%{_datadir}/%{pkg_name}/plugins/experimental
 %{_datadir}/%{pkg_name}/cache
 %{_datadir}/%{pkg_name}/data
 %{_datadir}/%{pkg_name}/logs