import jmc-8.2.0-13.20220203.el9.2

This commit is contained in:
CentOS Sources 2023-05-09 05:32:23 +00:00 committed by Stepan Oksanichenko
commit 07bef65cac
10 changed files with 1234 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
SOURCES/8.2.0-ga.tar.gz
SOURCES/repository-8.2.0-20220203.tar.gz

2
.jmc.metadata Normal file
View File

@ -0,0 +1,2 @@
686f6d6b9bcab052a6a815e59e55bebb272a03fe SOURCES/8.2.0-ga.tar.gz
37eac4d47ec01624be56dcc7c102d00826026bf7 SOURCES/repository-8.2.0-20220203.tar.gz

View File

@ -0,0 +1,389 @@
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml b/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
index d363cba..5bc7c45 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/pom.xml
@@ -42,94 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.flameview</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.6.7</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>d3-flamegraph-css</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-v6-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v6.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-flamegraph-tooltip-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>d3-flamegraph-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- The formatter currently dislikes the javascript for some reason, but this is how to enable JavaScript formatting
- <plugin>
- <groupId>com.diffplug.spotless</groupId>
- <artifactId>spotless-maven-plugin</artifactId>
- <version>${spotless.version}</version>
- <configuration>
- <formats>
- <format>
- <includes>
- <include>src/main/js/*.js</include>
- </includes>
- <eclipseWtp>
- <type>JS</type>
- <files>
- <file>${spotless.config.path.js}</file>
- </files>
- </eclipseWtp>
- </format>
- </formats>
- </configuration>
- </plugin>
- -->
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
index 93cc9a9..0e94a05 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/java/org/openjdk/jmc/flightrecorder/flameview/views/FlameGraphView.java
@@ -61,7 +61,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Level;
-import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.eclipse.jface.action.Action;
@@ -120,27 +119,17 @@ public class FlameGraphView extends ViewPart implements ISelectionListener {
private static final String TOOLTIP_DESCRIPTION = getFlameviewMessage(FLAMEVIEW_SELECT_HTML_TOOLTIP_DESCRIPTION);
private static final String HTML_PAGE;
static {
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css
- String cssD3Flamegraph = "jslibs/d3-flamegraph.css";
- // from: https://d3js.org/d3.v6.min.js
- String jsD3V6 = "jslibs/d3.v6.min.js";
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js
- String jsD3Tip = "jslibs/d3-flamegraph-tooltip.js";
- // from: https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js
- String jsD3FlameGraph = "jslibs/d3-flamegraph.js";
- // jmc flameview coloring, tooltip and other functions
String jsFlameviewName = "flameview.js";
String cssFlameview = "flameview.css";
- String jsD3 = loadLibraries(jsD3V6, jsD3FlameGraph, jsD3Tip);
- String styleheets = loadLibraries(cssD3Flamegraph, cssFlameview);
+ String styleheets = fileContent(cssFlameview);
String jsFlameviewColoring = fileContent(jsFlameviewName);
String magnifierIcon = getIconBase64(ImageConstants.ICON_MAGNIFIER);
// formatter arguments for the template: %1 - CSSs stylesheets,
- // %2 - Search Icon Base64, %3 - 3rd party scripts, %4 - Flameview Coloring,
- HTML_PAGE = String.format(fileContent("page.template"), styleheets, magnifierIcon, jsD3, jsFlameviewColoring);
+ // %2 - Search Icon Base64, %3 - Flameview Coloring,
+ HTML_PAGE = String.format(fileContent("page.template"), styleheets, magnifierIcon, jsFlameviewColoring);
}
private static final int MODEL_EXECUTOR_THREADS_NUMBER = 3;
@@ -490,14 +479,6 @@ public class FlameGraphView extends ViewPart implements ISelectionListener {
}
}
- private static String loadLibraries(String ... libs) {
- if (libs == null || libs.length == 0) {
- return "";
- } else {
- return Stream.of(libs).map(FlameGraphView::fileContent).collect(Collectors.joining("\n"));
- }
- }
-
private static String fileContent(String fileName) {
try {
return StringToolkit.readString(FlameGraphView.class.getClassLoader().getResourceAsStream(fileName));
diff --git a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
index 67bc3c7..4f0b21c 100644
--- a/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.flameview/src/main/resources/page.template
@@ -3,6 +3,7 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.css"></link>
<style type="text/css">%1$s</style>
<style type="text/css" media="print">
body {
@@ -24,9 +25,9 @@
<script type="text/javascript">
%3$s
</script>
- <script type="text/javascript">
- %4$s
- </script>
+ <script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script>
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph.js"></script>
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.6/dist/d3-flamegraph-tooltip.js"></script>
<script type="text/javascript">
const minSearchTextSize = 3;
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml b/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
index 8fcb4f2..973677e 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/pom.xml
@@ -42,80 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.graphview</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.6.7</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>download-d3</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v6.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>download-wasm</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/index.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>download-graphviz</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/d3-graphviz@3.1.0/build/d3-graphviz.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- <execution>
- <id>download-graphvizlib-wasm</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/graphvizlib.wasm</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
index 536b690..f30a2c1 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/java/org/openjdk/jmc/flightrecorder/graphview/views/GraphView.java
@@ -86,18 +86,7 @@ import org.openjdk.jmc.ui.misc.DisplayToolkit;
public class GraphView extends ViewPart implements ISelectionListener {
private static final String HTML_PAGE;
static {
- String jsD3 = "jslibs/d3.v6.min.js";
- String jsGraphviz = "jslibs/index.js";
- String wasmGraphviz = "jslibs/graphvizlib.wasm";
- String jsGraphizD3 = "jslibs/d3-graphviz.js";
-
- String wasmBase64 = loadBase64FromFile(wasmGraphviz);
-
- HTML_PAGE = String.format(loadStringFromFile("page.template"), loadLibraries(jsD3),
- // we inline base64 wasm in the library code to avoid fetching it at runtime
- loadStringFromFile(jsGraphviz, "wasmBinaryFile=\"graphvizlib.wasm\";",
- "wasmBinaryFile=dataURIPrefix + '" + wasmBase64 + "';"),
- loadLibraries(jsGraphizD3));
+ HTML_PAGE = String.format(loadStringFromFile("page.template"));
}
private enum ModelState {
diff --git a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
index eb7423a..c362f0c 100644
--- a/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.graphview/src/main/resources/page.template
@@ -3,9 +3,10 @@
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <script>%1$s</script>
- <script>%2$s</script>
- <script>%3$s</script>
+ <script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/index.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/d3-graphviz@3.1.0/build/d3-graphviz.js"></script>
+ <script type="text/javascript" src="https://unpkg.com/@hpcc-js/wasm@0.3.14/dist/graphvizlib.wasm"></script>
</head>
<body>
diff --git a/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml b/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml
index 138ba7f..4f7fe35 100644
--- a/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml
+++ b/application/org.openjdk.jmc.flightrecorder.heatmap/pom.xml
@@ -42,38 +42,4 @@
</parent>
<artifactId>org.openjdk.jmc.flightrecorder.heatmap</artifactId>
<packaging>eclipse-plugin</packaging>
-
- <properties>
- <download.maven.plugin.version>1.4.2</download.maven.plugin.version>
- <download-maven-plugin.phase>process-resources</download-maven-plugin.phase>
- <download-maven-plugin.output>${project.basedir}/src/main/resources/jslibs</download-maven-plugin.output>
- <spotless.config.path>${basedir}/../../configuration/ide/eclipse/formatting/formatting.xml</spotless.config.path>
- <spotless.config.path.js>${basedir}/../../configuration/ide/eclipse/formatting/formattingjs.xml</spotless.config.path.js>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <version>${download.maven.plugin.version}</version>
- <executions>
- <execution>
- <id>d3-v6-js</id>
- <phase>${download-maven-plugin.phase}</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>https://d3js.org/d3.v6.min.js</url>
- <unpack>false</unpack>
- <outputDirectory>${download-maven-plugin.output}</outputDirectory>
- <skipCache>true</skipCache>
- <overwrite>true</overwrite>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
</project>
diff --git a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java
index 96c19fc..7be0487 100644
--- a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java
+++ b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/java/org/openjdk/jmc/flightrecorder/heatmap/views/HeatmapView.java
@@ -72,9 +72,7 @@ import org.openjdk.jmc.ui.misc.DisplayToolkit;
public class HeatmapView extends ViewPart implements ISelectionListener {
private static final String HTML_PAGE;
static {
- String jsD3V6 = "jslibs/d3.v6.min.js";
- HTML_PAGE = String.format(loadStringFromFile("page.template"), loadLibraries(jsD3V6),
- loadStringFromFile("heatmap.js"));
+ HTML_PAGE = String.format(loadStringFromFile("page.template"), loadStringFromFile("heatmap.js"));
}
private enum ModelState {
diff --git a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template
index d6f4c5a..9a13f40 100644
--- a/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template
+++ b/application/org.openjdk.jmc.flightrecorder.heatmap/src/main/resources/page.template
@@ -2,15 +2,13 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <script>
- %1$s
- </script>
+ <script type="text/javascript" src="https://d3js.org/d3.v6.min.js"></script>
</head>
<body>
<div id="heatmap" width="100%%" style="text-align: center"></div>
<script type="text/javascript">
- %2$s
+ %1$s
</script>
</body>
</html>

View File

@ -0,0 +1,31 @@
diff --git a/pom.xml b/pom.xml
index 12c1373..4c3efa0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -195,26 +195,11 @@
<version>${tycho.version}</version>
<configuration>
<environments>
- <environment>
- <os>win32</os>
- <ws>win32</ws>
- <arch>x86_64</arch>
- </environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
- <environment>
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>x86_64</arch>
- </environment>
- <environment>
- <os>macosx</os>
- <ws>cocoa</ws>
- <arch>aarch64</arch>
- </environment>
</environments>
</configuration>
</plugin>

View File

@ -0,0 +1,13 @@
diff --git a/core/tests/pom.xml b/core/tests/pom.xml
index f19a8ed..1f4db29 100644
--- a/core/tests/pom.xml
+++ b/core/tests/pom.xml
@@ -46,7 +46,7 @@
<module>org.openjdk.jmc.flightrecorder.test</module>
<module>org.openjdk.jmc.flightrecorder.rules.test</module>
<module>org.openjdk.jmc.flightrecorder.rules.jdk.test</module>
- <module>org.openjdk.jmc.flightrecorder.writer.test</module>
+ <!-- <module>org.openjdk.jmc.flightrecorder.writer.test</module> -->
<module>org.openjdk.jmc.flightrecorder.serializers.test</module>
<module>org.openjdk.jmc.jdp.test</module>
</modules>

24
SOURCES/jmc.1 Normal file
View File

@ -0,0 +1,24 @@
.TH JMC 1
.SH NAME
jmc \- Java profiling and diagnostics tool
.SH SYNOPSIS
.B jmc
[\fB\-vm\fR \fIJVM\fR]
.SH DESCRIPTION
JDK Mission Control is a powerful profiler for HotSpot JVMs and has an
advanced set of tools that enables efficient and detailed analysis of the
extensive data collected by JDK Flight Recorder.
The tool chain enables developers and administrators to collect and analyze data
from Java applications running locally or deployed in production environments.
.SH OPTIONS
.TP
.BR \-vm \fIJVM\fR
Specify path to the JVM you wish to use for running JDK Mission Control.
Defaults to system Java.
.SH FILES
.RS
Startup options are specified here.
The -vm option can be set here as well to avoid specifying at startup.
Options specified at startup will override values in this file.
.SH BUGS
Report bugs to JMC mailing list: <jmc-dev at openjdk dot java dot net>

20
SOURCES/jmc.appdata.xml Normal file
View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>jmc.desktop</id>
<metadata_license>FSAP</metadata_license>
<project_license>UPL or BSD</project_license>
<name>JDK Mission Control</name>
<summary>A Profiling and Diagnostics Tool for the Hotspot JVM</summary>
<description>
<p>
JDK Mission Control is a powerful profiler for HotSpot JVMs and has an
advanced set of tools that enables efficient and detailed analysis of the
extensive data collected by JDK Flight Recorder. The tool chain enables
developers and administrators to collect and analyze data from Java
applications running locally or deployed in production environments.
</p>
</description>
<url type="homepage">http://openjdk.java.net/projects/jmc/</url>
<launchable type="desktop-id">jmc.desktop</launchable>
<developer_name>The OpenJDK Community</developer_name>
</component>

8
SOURCES/jmc.desktop Normal file
View File

@ -0,0 +1,8 @@
[Desktop Entry]
Name=JDK Mission Control
Comment=Analyze performance of Java applications
Exec=jmc
Icon=jmc
Terminal=false
Type=Application
Categories=Development;Java;Profiling;

60
SOURCES/symlink_libs.sh Normal file
View File

@ -0,0 +1,60 @@
#!/bin/bash
# This script replaces plugins with symlinks
# $1 : folder to replace with symlinks
set -e
SCL_JAVA_DIRS=${@:2}
pushd () {
command pushd "$@" > /dev/null
}
popd () {
command popd "$@" > /dev/null
}
function _sym {
if [ -f $1 ]; then
echo "linking $1 to $2"
rm -rf $1
ln -s $2 $1
else
echo "Failed to find $1"
ls -l
exit 1
fi
}
function _symlink {
_f=$(ls | grep -e "^$1" || :)
if [ -n "$_f" ] ; then
rm -rf $_f
for SCL_JAVA_DIR in ${SCL_JAVA_DIRS}; do
if [ -f ${SCL_JAVA_DIR}/$2 ]; then
echo "linking ${_f%.jar}.jar to ${SCL_JAVA_DIR}/$2"
ln -s ${SCL_JAVA_DIR}/$2 ${_f%.jar}.jar
return 0
fi
done
echo "not found $2 in any of ${SCL_JAVA_DIRS}"
exit 1
fi
}
pushd $1
# owasp-java-encoder
_sym org.owasp.encoder_1.2.2.jar /usr/share/java/owasp-java-encoder/encoder.jar
# jakarta-activation
_sym com.sun.activation.jakarta.activation_1.2.2.jar /usr/share/java/jakarta-activation/jakarta.activation.jar
# HdrHistogram
_sym org.hdrhistogram.HdrHistogram_2.1.11.jar /usr/share/java/HdrHistogram.jar
# javamail
_sym com.sun.mail.jakarta.mail_1.6.5.jar /usr/share/java/jakarta-mail/jakarta.mail.jar
# jmc-core
_symlink org.openjdk.jmc.common_ common.jar
_symlink org.openjdk.jmc.flightrecorder_ flightrecorder.jar
_symlink org.openjdk.jmc.flightrecorder.rules_ flightrecorder.rules.jar
_symlink org.openjdk.jmc.flightrecorder.rules.jdk_ flightrecorder.rules.jdk.jar
popd

685
SPECS/jmc.spec Normal file
View File

@ -0,0 +1,685 @@
# Version
%global major 8
%global minor 2
%global patchlevel 0
# Revision
%global revnum 13
# set to 1 for snapshots, 0 for release
%global usesnapshot 1
# SNAPSHOT version
%global revhash 7f42e4a10291d7e9316711edd81a183951cdae57
%global revdate 20220203
%global tarball_name %{major}.%{minor}.%{patchlevel}-ga.tar.gz
# Install jmc in /usr/lib/jmc (arch-specific and multilib exempt)
%global _jmcdir %{_prefix}/lib/%{name}
%global jmc_dir_name jmc-%{major}.%{minor}.%{patchlevel}-ga
%global debug_package %{nil}
%if %{usesnapshot}
%global releasestr %{revnum}.%{revdate}
%global repositorystr repository-%{major}.%{minor}.%{patchlevel}-%{revdate}.tar.gz
%else
%global releasestr %{revnum}
%global repositorystr repository-%{major}.%{minor}.%{patchlevel}.tar.gz
%endif
%ifarch %{ix86}
%global eclipse_arch x86
%endif
%ifarch %{arm}
%global eclipse_arch arm
%endif
%ifarch s390x x86_64 aarch64 ppc64le
%global eclipse_arch %{_arch}
%endif
# Don't export Eclipse libraries
%global __provides_exclude_from ^%{_jmcdir}/plugins/org.eclipse.*$
%global __requires_exclude_from ^%{_jmcdir}/plugins/org.eclipse.*$
%global __requires_exclude ^osgi\\((javax|org\\.apache|org\\.eclipse|org\\.sat4j|org\\.w3c).*$
%global __provides_exclude ^osgi\\((com|javax|org\\.apache|org\\.glassfish|org\\.kxml2|org\\.sat4j|org\\.tukaani|org\\.w3c|org\\.xmlpull).*$
Name: jmc
Version: %{major}.%{minor}.%{patchlevel}
Release: %{releasestr}%{?dist}.2
Summary: JDK Mission Control is a profiling and diagnostics tool
# jmc source README.md states: The Mission Control source code is made
# available under the Universal Permissive License (UPL), Version 1.0 or a
# BSD-style license, alternatively. The full open source license text is
# available at license/LICENSE.txt in the JMC project.
License: UPL or BSD
URL: http://openjdk.java.net/projects/jmc/
Source0: %{tarball_name}
Source1: %{repositorystr}
Source2: %{name}.desktop
Source3: %{name}.1
Source4: symlink_libs.sh
Source5: %{name}.appdata.xml
# The JavaScript visualizations fetch the required JS files at build time and
# are loaded into the HTML template by the corresponding Java class. This patch
# instead inlines the scripts so there's no build-time fetching.
Patch0: 0-inline-javascript-into-templates.patch
# Remove Windows and Mac environments
Patch1: 1-remove-non-linux-environments.patch
# Now that Fedora & related build systems are using JDK 17 by default, this patch
# prevents the running of the core flightrecorder.writer tests which fail in JDK 17.
# It fails due to an incapability with mockito, and it's possible that this will be
# addressed in a future commit to JMC, but is not a priority at the moment.
# For the time being, skip these tests, and be mindful when generating the local Maven
# repo that this patch might need to be manually applied as well in order for the
# core artifacts to install properly.
# Note: this can be fixed upstream by updating mockito to at least v3.10.0
Patch2: 2-skip-writer-tests.patch
# Dependencies are bundled into a tar.gz and passed as a local maven repository for the build
ExclusiveArch: x86_64
BuildRequires: desktop-file-utils
BuildRequires: java-11-openjdk
BuildRequires: maven-local
Requires: gtk3
Requires: java-11-openjdk
Requires: libGLU.so.1()(64bit)
Requires: webkitgtk4
Provides: bundled(osgi(com.ibm.icu)) = 67.1.0
Provides: bundled(osgi(com.sun.activation.jakarta.activation)) = 2.0.1
Provides: bundled(osgi(com.sun.el)) = 2.2.0
Provides: bundled(osgi(com.sun.jna)) = 5.8.0
Provides: bundled(osgi(com.sun.jna.platform)) = 5.8.0
Provides: bundled(osgi(com.sun.mail.jakarta.mail)) = 2.0.1
Provides: bundled(osgi(jakarta.servlet-api)) = 4.0.0
Provides: bundled(osgi(javax.annotation)) = 1.3.5
Provides: bundled(osgi(javax.el)) = 2.2.0
Provides: bundled(osgi(javax.inject)) = 1.0.0
Provides: bundled(osgi(javax.servlet.jsp)) = 2.2.0
Provides: bundled(osgi(lz4-java)) = 1.8.0
Provides: bundled(osgi(org.apache.aries.spifly.dynamic.bundle)) = 1.3.4
Provides: bundled(osgi(org.apache.batik.constants)) = 1.14.0
Provides: bundled(osgi(org.apache.batik.css)) = 1.14.0
Provides: bundled(osgi(org.apache.batik.i18n)) = 1.14.0
Provides: bundled(osgi(org.apache.batik.util)) = 1.14.0
Provides: bundled(osgi(org.apache.commons.codec)) = 1.14.0
Provides: bundled(osgi(org.apache.commons.io)) = 2.8.0
Provides: bundled(osgi(org.apache.commons.jxpath)) = 1.3.0
Provides: bundled(osgi(org.apache.commons.logging)) = 1.2.0
Provides: bundled(osgi(org.apache.felix.gogo.command)) = 1.1.2
Provides: bundled(osgi(org.apache.felix.gogo.runtime)) = 1.1.4
Provides: bundled(osgi(org.apache.felix.gogo.shell)) = 1.1.4
Provides: bundled(osgi(org.apache.felix.scr)) = 2.1.24
Provides: bundled(osgi(org.apache.httpcomponents.httpclient)) = 4.5.13
Provides: bundled(osgi(org.apache.httpcomponents.httpcore)) = 4.4.14
Provides: bundled(osgi(org.apache.jasper.glassfish)) = 2.2.2
Provides: bundled(osgi(org.apache.lucene.analyzers-common)) = 8.4.1
Provides: bundled(osgi(org.apache.lucene.analyzers-smartcn)) = 8.4.1
Provides: bundled(osgi(org.apache.lucene.core)) = 8.4.1
Provides: bundled(osgi(org.apache.xmlgraphics)) = 2.6.0
Provides: bundled(osgi(org.apiguardian)) = 1.1.0
Provides: bundled(osgi(org.bouncycastle.bcpg)) = 1.69.0
Provides: bundled(osgi(org.bouncycastle.bcprov)) = 1.69.0
Provides: bundled(osgi(org.eclipse.core.commands.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.commands.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.contenttype)) = 3.8.0
Provides: bundled(osgi(org.eclipse.core.contenttype.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.contenttype.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.beans)) = 1.8.0
Provides: bundled(osgi(org.eclipse.core.databinding.beans.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.beans.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.observable)) = 1.11.0
Provides: bundled(osgi(org.eclipse.core.databinding.observable.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.observable.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.property)) = 1.9.0
Provides: bundled(osgi(org.eclipse.core.databinding.property.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.databinding.property.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.expressions)) = 3.8.0
Provides: bundled(osgi(org.eclipse.core.expressions.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.expressions.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.filesystem.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.jobs)) = 3.12.0
Provides: bundled(osgi(org.eclipse.core.jobs.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.jobs.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.net.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.resources.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.resources.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.runtime)) = 3.23.0
Provides: bundled(osgi(org.eclipse.core.runtime.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.runtime.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.variables.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.core.variables.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.debug.core.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.debug.core.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.commands)) = 1.0.0
Provides: bundled(osgi(org.eclipse.e4.core.commands.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.commands.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.contexts)) = 1.9.0
Provides: bundled(osgi(org.eclipse.e4.core.contexts.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.contexts.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di)) = 1.8.0
Provides: bundled(osgi(org.eclipse.e4.core.di.annotations)) = 1.7.0
Provides: bundled(osgi(org.eclipse.e4.core.di.annotations.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.annotations.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions)) = 0.17.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.supplier.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.extensions.supplier.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.di.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.services)) = 2.3.0
Provides: bundled(osgi(org.eclipse.e4.core.services.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.core.services.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.emf.xpath)) = 0.3.0
Provides: bundled(osgi(org.eclipse.e4.emf.xpath.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.emf.xpath.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.bindings.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.bindings.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.core.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.core.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.theme)) = 0.13.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.theme.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.css.swt.theme.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.di)) = 1.4.0
Provides: bundled(osgi(org.eclipse.e4.ui.dialogs)) = 1.3.0
Provides: bundled(osgi(org.eclipse.e4.ui.dialogs.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.dialogs.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.di.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.di.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.model.workbench)) = 2.2.0
Provides: bundled(osgi(org.eclipse.e4.ui.model.workbench.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.model.workbench.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.services)) = 1.5.0
Provides: bundled(osgi(org.eclipse.e4.ui.services.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.services.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.swt.gtk.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.swt.gtk.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.widgets)) = 1.3.0
Provides: bundled(osgi(org.eclipse.e4.ui.widgets.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.widgets.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench)) = 1.13.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench3)) = 0.16.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench3.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench3.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.addons.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.addons.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.renderers.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.renderers.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.e4.ui.workbench.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.emf.common)) = 2.23.0
Provides: bundled(osgi(org.eclipse.emf.ecore)) = 2.25.0
Provides: bundled(osgi(org.eclipse.emf.ecore.change)) = 2.14.0
Provides: bundled(osgi(org.eclipse.emf.ecore.xmi)) = 2.16.0
Provides: bundled(osgi(org.eclipse.equinox.app)) = 1.6.0
Provides: bundled(osgi(org.eclipse.equinox.app.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.app.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.bidi)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.bidi.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.bidi.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.common)) = 3.15.0
Provides: bundled(osgi(org.eclipse.equinox.common.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.common.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.concurrent)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.concurrent.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.concurrent.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.console.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.console.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.event)) = 1.6.0
Provides: bundled(osgi(org.eclipse.equinox.event.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.event.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin)) = 2.2.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.equinox.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.equinox.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.frameworkadmin.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.jetty)) = 3.8.0
Provides: bundled(osgi(org.eclipse.equinox.http.jetty.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.jetty.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.registry)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.http.registry.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.registry.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.servlet.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.http.servlet.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.registry)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.registry.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.jsp.jasper.registry.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.launcher.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.artifact.repository.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.artifact.repository.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.console)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.console.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.console.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.core)) = 2.8.0
Provides: bundled(osgi(org.eclipse.equinox.p2.core.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.core.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.app)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.app.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.app.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.director.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.directorywatcher)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.p2.directorywatcher.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.directorywatcher.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.engine.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.engine.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.extensionlocation)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.p2.extensionlocation.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.extensionlocation.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.garbagecollector)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.garbagecollector.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.garbagecollector.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.jarprocessor)) = 1.2.0
Provides: bundled(osgi(org.eclipse.equinox.p2.jarprocessor.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.jarprocessor.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.repository)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.repository.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.metadata.repository.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.operations)) = 2.6.0
Provides: bundled(osgi(org.eclipse.equinox.p2.operations.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.operations.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.eclipse)) = 1.4.1
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.eclipse.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.eclipse.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.publisher.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.reconciler.dropins)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.p2.reconciler.dropins.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.reconciler.dropins.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.repository.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.repository.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.eclipse.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.eclipse.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.natives.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.touchpoint.natives.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.transport.ecf.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.transport.ecf.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk)) = 1.2.1
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.scheduler.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.ui.sdk.scheduler.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.updatechecker)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.p2.updatechecker.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.p2.updatechecker.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.preferences)) = 3.9.0
Provides: bundled(osgi(org.eclipse.equinox.preferences.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.preferences.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.registry)) = 3.11.0
Provides: bundled(osgi(org.eclipse.equinox.registry.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.registry.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.x86_64.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.linux.x86_64.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.ui)) = 1.3.0
Provides: bundled(osgi(org.eclipse.equinox.security.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.security.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator)) = 1.4.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.manipulator)) = 2.2.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.manipulator.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.manipulator.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.equinox.simpleconfigurator.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.base.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.base.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.webapp.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.help.webapp.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jetty.http)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.http)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.io)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.io)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.security)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.security)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.server)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.server)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.servlet)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.servlet)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.util)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.util)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.util.ajax)) = 10.0.6
Provides: bundled(osgi(org.eclipse.jetty.webapp)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.api)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.common)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.core.common)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.core.server)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.server)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.websocket.servlet)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jetty.xml)) = 10.0.7
Provides: bundled(osgi(org.eclipse.jface)) = 3.23.0
Provides: bundled(osgi(org.eclipse.jface.databinding)) = 1.13.0
Provides: bundled(osgi(org.eclipse.jface.databinding.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.databinding.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.notifications)) = 0.3.0
Provides: bundled(osgi(org.eclipse.jface.notifications.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.notifications.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.text.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.jface.text.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi)) = 3.17.0
Provides: bundled(osgi(org.eclipse.osgi.compatibility.state.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.compatibility.state.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.services.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.services.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.util.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.osgi.util.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.rcp)) = 4.21.0
Provides: bundled(osgi(org.eclipse.swt.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.swt.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.text)) = 3.12.0
Provides: bundled(osgi(org.eclipse.text.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.text.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.forms.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.forms.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.intro.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.intro.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.net)) = 1.4.0
Provides: bundled(osgi(org.eclipse.ui.net.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.net.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.views.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.views.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.workbench.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.ui.workbench.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.update.configurator.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.update.configurator.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.eclipse.urischeme)) = 1.2.0
Provides: bundled(osgi(org.eclipse.urischeme.nl_ja)) = 4.21.0
Provides: bundled(osgi(org.eclipse.urischeme.nl_zh)) = 4.21.0
Provides: bundled(osgi(org.hamcrest.core)) = 1.3.0
Provides: bundled(osgi(org.hdrhistogram.HdrHistogram)) = 2.1.12
Provides: bundled(osgi(org.junit)) = 4.13.0
Provides: bundled(osgi(org.junit.jupiter.api)) = 5.7.1
Provides: bundled(osgi(org.junit.jupiter.engine)) = 5.7.1
Provides: bundled(osgi(org.junit.jupiter.migrationsupport)) = 5.7.1
Provides: bundled(osgi(org.junit.jupiter.params)) = 5.7.1
Provides: bundled(osgi(org.junit.platform.commons)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.engine)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.launcher)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.runner)) = 1.7.1
Provides: bundled(osgi(org.junit.platform.suite.api)) = 1.7.1
Provides: bundled(osgi(org.junit.vintage.engine)) = 5.7.1
Provides: bundled(osgi(org.objectweb.asm)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.commons)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.tree)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.tree.analysis)) = 9.2.0
Provides: bundled(osgi(org.objectweb.asm.util)) = 9.2.0
Provides: bundled(osgi(org.openjdk.jmc.alert)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.alert.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.alert.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.attach)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.attach)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.attach.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.attach.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.jdp)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.jdp.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.jdp.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.browser.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.commands)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.common)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.agent)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.persistence)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.persistence.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.persistence.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.diagnostic)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.diagnostic.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.diagnostic.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.mbeanbrowser)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.mbeanbrowser.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.mbeanbrowser.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.notification)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.notification.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.notification.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.console.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.docs)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.docs.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.docs.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.configuration)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.flameview)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.graphview)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.heatmap)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.rules)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.rules.extensionprovider)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.rules.jdk)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.serializers)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.flightrecorder.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.greychart.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.jdp)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.joverflow)) = 1.0.0
Provides: bundled(osgi(org.openjdk.jmc.joverflow.ui)) = 1.0.1
Provides: bundled(osgi(org.openjdk.jmc.osgi.extension)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.application)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.application.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.application.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.intro)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.intro.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rcp.intro.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ext)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.services.jfr)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.rjmx.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.celleditors)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.common)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.ja)) = 8.2.0
Provides: bundled(osgi(org.openjdk.jmc.ui.zh_CN)) = 8.2.0
Provides: bundled(osgi(org.opentest4j)) = 1.2.0
Provides: bundled(osgi(org.owasp.encoder)) = 1.2.3
Provides: bundled(osgi(org.sat4j.core)) = 2.3.5
Provides: bundled(osgi(org.sat4j.pb)) = 2.3.5
Provides: bundled(osgi(org.slf4j.api)) = 1.7.30
Provides: bundled(osgi(org.tukaani.xz)) = 1.9.0
Provides: bundled(osgi(org.w3c.css.sac)) = 1.3.1
Provides: bundled(osgi(org.w3c.dom.events)) = 3.0.0
Provides: bundled(osgi(org.w3c.dom.smil)) = 1.0.1
Provides: bundled(osgi(org.w3c.dom.svg)) = 1.1.0
%description
JDK Mission Control is a powerful profiler for HotSpot JVMs and has an
advanced set of tools that enables efficient and detailed analysis of the
extensive data collected by JDK Flight Recorder. The tool chain enables
developers and administrators to collect and analyze data from Java
applications running locally or deployed in production environments.
%prep
%setup -q -n %{jmc_dir_name}
%setup -q -T -D -a 1 -n %{jmc_dir_name}
%patch0 -p1
%patch1 -p1
%patch2 -p1
# Build & install jmc core libraries
# Skip the JDP Multicast Tests that don't work offline/under a VPN
mvn -Dmaven.repo.local=repository-%{version}-%{revdate} -o clean install -f core/pom.xml -DskipJDPMulticastTests=true
%pom_remove_plugin org.codehaus.mojo:flatten-maven-plugin
%pom_remove_plugin com.github.spotbugs:spotbugs-maven-plugin
# Info.plist are mac files and we only build for Linux
%pom_remove_plugin name.abuchen:fix-info-plist-maven-plugin application/org.openjdk.jmc.rcp.product
# disable tests that require the use of jfr
%pom_disable_module org.openjdk.jmc.rjmx.services.jfr.test application/tests
%pom_disable_module org.openjdk.jmc.flightrecorder.controlpanel.ui.test application/tests
# ide.launch tests expect SWT to be installed, but we're leveraging a local repository instead
%pom_disable_module org.openjdk.jmc.ide.launch.test application/tests
%build
# some tests require large heap and fail with OOM
# depending on the builder resources
mvn -Dmaven.repo.local=repository-%{version}-%{revdate} verify -o -Dmaven.test.failure.ignore=true -DskipJDPMulticastTests=true -DbuildId=rhel -DbuildNumber=%{revhash} -Dbuild.date=%{revdate}
%install
# not using mvn_install macro because it installs JMC as an Eclipse plugin
# we want to install JMC as an RCP application
# change jmc.ini to use system java (remove -vm option line)
sed -i '/^-vm$/d' %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/%{name}.ini
sed -i '/^..\/..\/bin\/$/d' %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/%{name}.ini
# specify a new location for eclipse config files (at ~/.jmc/${version}/eclipse) so it doesn't interfere with other eclipse installations
sed -i '$ a -Dosgi.configuration.area=@user.home/.%{name}/%{version}/eclipse' %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/%{name}.ini
# move contents of target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control' to /usr/lib/jmc/
install -d -m 755 %{buildroot}%{_jmcdir}
cp -p -r %{_builddir}/%{jmc_dir_name}/target/products/org.openjdk.jmc/linux/gtk/x86_64/'JDK Mission Control'/* %{buildroot}%{_jmcdir}/
# move jmc.ini to /etc/jmc.ini
install -d -m 755 %{buildroot}%{_sysconfdir}
mv %{buildroot}%{_jmcdir}/%{name}.ini %{buildroot}%{_sysconfdir}/%{name}.ini
ln -s %{_sysconfdir}/%{name}.ini %{buildroot}%{_jmcdir}/%{name}.ini
# create symlink to jmc in /usr/bin/
install -d -m 755 %{buildroot}%{_bindir}
ln -s %{_jmcdir}/%{name} %{buildroot}%{_bindir}/%{name}
# create application launcher in desktop menu
install -d -m 755 %{buildroot}%{_datadir}/pixmaps
mv %{buildroot}%{_jmcdir}/icon.xpm %{buildroot}%{_datadir}/pixmaps/%{name}.xpm
chmod 644 %{buildroot}%{_datadir}/pixmaps/%{name}.xpm
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2}
# install pom file
install -d -m 755 %{buildroot}%{_datadir}/maven-poms/%{name}
install -p -m 644 %{_builddir}/%{jmc_dir_name}/pom.xml %{buildroot}%{_datadir}/maven-poms/%{name}/%{name}.pom
# install manpage and insert location of config file
install -d -m 755 %{buildroot}%{_mandir}/man1
install -p -m 644 %{SOURCE3} %{buildroot}%{_mandir}/man1/%{name}.1
sed -i "/.SH FILES/a .I %{_sysconfdir}/%{name}.ini" %{buildroot}%{_mandir}/man1/%{name}.1
%files
%license license/LICENSE.txt
%license license/THIRDPARTYREADME.txt
%doc README.md
%config(noreplace) %{_sysconfdir}/%{name}.ini
%{_jmcdir}
%{_mandir}/man1/%{name}.1*
%{_bindir}/%{name}
%{_datadir}/maven-poms/%{name}
%{_datadir}/pixmaps/%{name}.xpm
%{_datadir}/applications/%{name}.desktop
%changelog
* Mon Dec 5 2022 Joshua Matsuoka <jmatsuok@redhat.com> - 8.2.0-3
- Fix provides and requires exclusions. Related: rhbz#2122401
* Fri Dec 2 2022 Joshua Matsuoka <jmatsuok@redhat.com> - 8.2.0-3
- Bumping Package NVR. Related: rhbz#2122401
* Wed Nov 30 2022 Joshua Matsuoka <jmatsuok@redhat.com> - 8.2.0-2
- Updating package for move to CRB. Related: rhbz#2122401
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.1-9.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 22 2020 Jie Kang <jkang@redhat.com> - 7.1.1-9
- Rebuild for updated jna and tycho 2.x
* Fri Nov 06 2020 Jie Kang <jkang@redhat.com> - 7.1.1-8
- Use jakarta-mail
* Mon Sep 21 2020 Jie Kang <jkang@redhat.com> - 7.1.1-7
- Update license. Use javamail until jakarta-mail is included
- Add appdata and validate it
* Fri Aug 28 2020 Jie Kang <jkang@redhat.com> - 7.1.1-6
- Update to latest upstream
- Drop javax dependencies
- Clean spec
* Fri Aug 07 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-5
- Update symlink to match javamail version in rpms/javamail
- Version 1.6.5 is compatible with 1.6.3 according to the upstream compatibility notes
* Wed Jul 29 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-4
- Update symlink script with path to jakarta-activation
* Mon Apr 27 2020 Jie Kang <jkang@redhat.com> - 7.1.1-3
- Update to upstream 7.1.1 ga commit
* Wed Mar 11 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-2
- Update to latest upstream (to include JMC-6728)
* Tue Feb 25 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.1-1
- Update to latest upstream
* Tue Feb 18 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.0-2
- Add backports of JMC-6554 & JMC-6692 on top of JMC 7 for improved handling of OpenJDK8+JFR
* Thu Jan 09 2020 Alex Macdonald <almacdon@redhat.com> - 7.1.0-1
- Update to latest upstream (7.1.0-ga)
- Update the jmc7 branch to more closely resemble files of the main jmc branch
- Addition of Patch9 and Patch10, updated symlink_libs.sh
* Tue Sep 24 2019 Jie Kang <jkang@redhat.com> - 7.0.0-1
- Update to latest upstream with minor bug fixes
* Mon Jun 03 2019 Jie Kang <jkang@redhat.com> - 7.0.0-0
- Initial package