From 56486c810484889f48b33e9a4cddd3cb913ed0ff Mon Sep 17 00:00:00 2001
From: CentOS Sources <bugs@centos.org>
Date: Tue, 4 Feb 2020 07:42:31 -0500
Subject: [PATCH] import jmc-7.0.0-4.module+el8.1.1+4696+a8c87273

---
 .gitignore                        |   1 +
 .jmc.metadata                     |   1 +
 SOURCES/add-hamcrest.patch        |  15 ++
 SOURCES/fix-javamail.patch        |  64 +++++++++
 SOURCES/fix-jfr-message.patch     |  12 ++
 SOURCES/javax.patch               |  34 +++++
 SOURCES/jmc.1                     |  24 ++++
 SOURCES/jmc.desktop               |   8 ++
 SOURCES/remove-arch.patch         |  24 ++++
 SOURCES/remove-buchen-repo.patch  |  15 ++
 SOURCES/remove-ide-jdt.patch      |  27 ++++
 SOURCES/remove-jfx.patch          |  74 ++++++++++
 SOURCES/remove-localization.patch |  47 +++++++
 SOURCES/remove-profiles.patch     |  99 +++++++++++++
 SOURCES/remove-twitter.patch      | 225 ++++++++++++++++++++++++++++++
 SOURCES/symlink_libs.sh           |  82 +++++++++++
 SPECS/jmc.spec                    | 220 +++++++++++++++++++++++++++++
 17 files changed, 972 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .jmc.metadata
 create mode 100644 SOURCES/add-hamcrest.patch
 create mode 100644 SOURCES/fix-javamail.patch
 create mode 100644 SOURCES/fix-jfr-message.patch
 create mode 100644 SOURCES/javax.patch
 create mode 100644 SOURCES/jmc.1
 create mode 100644 SOURCES/jmc.desktop
 create mode 100644 SOURCES/remove-arch.patch
 create mode 100644 SOURCES/remove-buchen-repo.patch
 create mode 100644 SOURCES/remove-ide-jdt.patch
 create mode 100644 SOURCES/remove-jfx.patch
 create mode 100644 SOURCES/remove-localization.patch
 create mode 100644 SOURCES/remove-profiles.patch
 create mode 100644 SOURCES/remove-twitter.patch
 create mode 100644 SOURCES/symlink_libs.sh
 create mode 100644 SPECS/jmc.spec

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..32aaa13
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/9871e02a9e40.tar.gz
diff --git a/.jmc.metadata b/.jmc.metadata
new file mode 100644
index 0000000..d280f6a
--- /dev/null
+++ b/.jmc.metadata
@@ -0,0 +1 @@
+f204e02359b91f8158edb5dc2934e6506567bce1 SOURCES/9871e02a9e40.tar.gz
diff --git a/SOURCES/add-hamcrest.patch b/SOURCES/add-hamcrest.patch
new file mode 100644
index 0000000..497e4ff
--- /dev/null
+++ b/SOURCES/add-hamcrest.patch
@@ -0,0 +1,15 @@
+diff --git a/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF b/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF
+--- a/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF
++++ b/application/tests/org.openjdk.jmc.rjmx.services.jfr.test/META-INF/MANIFEST.MF
+@@ -12,7 +12,9 @@
+  org.openjdk.jmc.rjmx.services.jfr,
+  org.openjdk.jmc.rjmx,
+  org.openjdk.jmc.common,
+- org.openjdk.jmc.flightrecorder.configuration
++ org.openjdk.jmc.flightrecorder.configuration,
++ org.hamcrest.core
+ Export-Package: org.openjdk.jmc.rjmx.services.jfr.test
+ Automatic-Module-Name: org.openjdk.jmc.rjmx.services.jfr.test
+-Import-Package: org.openjdk.jmc.flightrecorder.jdk
++Import-Package: org.openjdk.jmc.flightrecorder.jdk,
++ org.hamcrest.core
diff --git a/SOURCES/fix-javamail.patch b/SOURCES/fix-javamail.patch
new file mode 100644
index 0000000..5713f11
--- /dev/null
+++ b/SOURCES/fix-javamail.patch
@@ -0,0 +1,64 @@
+# HG changeset patch
+# Parent  9696af3e434734700a8c37680ce3742ab940eccb
+
+diff --git a/application/org.openjdk.jmc.feature.core/feature.xml b/application/org.openjdk.jmc.feature.core/feature.xml
+--- a/application/org.openjdk.jmc.feature.core/feature.xml
++++ b/application/org.openjdk.jmc.feature.core/feature.xml
+@@ -161,13 +161,6 @@
+          unpack="false"/>
+ 
+    <plugin
+-         id="com.sun.mail.jakarta.mail"
+-         download-size="0"
+-         install-size="0"
+-         version="0.0.0"
+-         unpack="false"/>
+-
+-   <plugin
+          id="com.sun.activation.jakarta.activation"
+          download-size="0"
+          install-size="0"
+@@ -175,7 +168,7 @@
+          unpack="false"/>
+ 
+    <plugin
+-         id="javax.mail.dsn"
++         id="com.sun.mail.javax.mail"
+          download-size="0"
+          install-size="0"
+          version="0.0.0"
+diff --git a/application/org.openjdk.jmc.osgi.extension/.project b/application/org.openjdk.jmc.osgi.extension/.project
+--- a/application/org.openjdk.jmc.osgi.extension/.project
++++ b/application/org.openjdk.jmc.osgi.extension/.project
+@@ -20,8 +20,14 @@
+ 			<arguments>
+ 			</arguments>
+ 		</buildCommand>
++		<buildCommand>
++			<name>org.eclipse.m2e.core.maven2Builder</name>
++			<arguments>
++			</arguments>
++		</buildCommand>
+ 	</buildSpec>
+ 	<natures>
++		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+ 		<nature>org.eclipse.pde.PluginNature</nature>
+ 		<nature>org.eclipse.jdt.core.javanature</nature>
+ 	</natures>
+diff --git a/releng/platform-definitions/platform-definition-2018-09/.project b/releng/platform-definitions/platform-definition-2018-09/.project
+--- a/releng/platform-definitions/platform-definition-2018-09/.project
++++ b/releng/platform-definitions/platform-definition-2018-09/.project
+@@ -5,7 +5,13 @@
+ 	<projects>
+ 	</projects>
+ 	<buildSpec>
++		<buildCommand>
++			<name>org.eclipse.m2e.core.maven2Builder</name>
++			<arguments>
++			</arguments>
++		</buildCommand>
+ 	</buildSpec>
+ 	<natures>
++		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+ 	</natures>
+ </projectDescription>
diff --git a/SOURCES/fix-jfr-message.patch b/SOURCES/fix-jfr-message.patch
new file mode 100644
index 0000000..fa14f1d
--- /dev/null
+++ b/SOURCES/fix-jfr-message.patch
@@ -0,0 +1,12 @@
+diff --git a/application/org.openjdk.jmc.rjmx/src/main/resources/org/openjdk/jmc/rjmx/messages/internal/messages.properties b/application/org.openjdk.jmc.rjmx/src/main/resources/org/openjdk/jmc/rjmx/messages/internal/messages.properties
+--- a/application/org.openjdk.jmc.rjmx/src/main/resources/org/openjdk/jmc/rjmx/messages/internal/messages.properties
++++ b/application/org.openjdk.jmc.rjmx/src/main/resources/org/openjdk/jmc/rjmx/messages/internal/messages.properties
+@@ -54,7 +54,7 @@
+ JVMSupport_FLIGHT_RECORDER_NOT_FULLY_SUPPORTED_OLD_HOTSPOT_SHORT=Flight Recorder is not fully supported for JVMs with Java versions below 7u40
+ JVMSupport_FLIGHT_RECORDER_NOT_SUPPORTED_NOT_HOTSPOT=Flight Recorder is not supported for non HotSpot JVMs
+ JVMSupport_FLIGHT_RECORDER_NOT_SUPPORTED_NOT_HOTSPOT_SHORT=Flight Recorder is not supported for non HotSpot JVMs
+-JVMSupport_FLIGHT_RECORDER_NOT_ENABLED=Flight Recorder features are not enabled. To enable this you need to use a Java 7u4 or later JVM started with -XX:+UnlockCommercialFeatures -XX:+FlightRecorder.
++JVMSupport_FLIGHT_RECORDER_NOT_ENABLED=Flight Recorder features are not enabled. To enable this the target application needs to use OpenJDK 11+ or Oracle Java 7u4+ started with -XX:+UnlockCommercialFeatures -XX:+FlightRecorder.
+ JVMSupport_FLIGHT_RECORDER_NOT_ENABLED_SHORT=Flight Recorder features are not enabled
+ JVMSupport_FLIGHT_RECORDER_DISABLED=Flight Recorder is explicitly disabled. To enable the Flight Recorder, remove -XX:-FlightRecorder from the command line.
+ JVMSupport_FLIGHT_RECORDER_DISABLED_SHORT=Flight Recorder is explicitly disabled
diff --git a/SOURCES/javax.patch b/SOURCES/javax.patch
new file mode 100644
index 0000000..fbab04e
--- /dev/null
+++ b/SOURCES/javax.patch
@@ -0,0 +1,34 @@
+diff --git a/application/org.openjdk.jmc.console.ui/META-INF/MANIFEST.MF b/application/org.openjdk.jmc.console.ui/META-INF/MANIFEST.MF
+--- a/application/org.openjdk.jmc.console.ui/META-INF/MANIFEST.MF
++++ b/application/org.openjdk.jmc.console.ui/META-INF/MANIFEST.MF
+@@ -10,7 +10,7 @@
+ Require-Bundle: org.openjdk.jmc.rjmx.ui;visibility:=reexport,
+  org.eclipse.e4.core.contexts;bundle-version="1.3.0",
+  org.eclipse.e4.core.di;bundle-version="1.3.0";visibility:=reexport,
+- javax.annotation;bundle-version="1.0.0";visibility:=reexport,
++ javax.annotation-api;bundle-version="1.2.0";visibility:=reexport,
+  javax.inject;bundle-version="1.0.0";visibility:=reexport,
+  org.openjdk.jmc.commands
+ Bundle-ActivationPolicy: lazy
+@@ -22,7 +22,7 @@
+  org.openjdk.jmc.console.ui.editor,
+  org.openjdk.jmc.console.ui.editor.internal;x-friends:="org.openjdk.jmc.console.ui.mbeanbrowser,org.openjdk.jmc.rcp.intro"
+ Bundle-ClassPath: .
+-Import-Package: javax.annotation;version="1.0.0",
++Import-Package: javax.annotation;version="1.2.0",
+  javax.inject;version="1.0.0"
+ Automatic-Module-Name: org.openjdk.jmc.console.ui
+ 
+diff --git a/application/org.openjdk.jmc.feature.rcp/feature.xml b/application/org.openjdk.jmc.feature.rcp/feature.xml
+--- a/application/org.openjdk.jmc.feature.rcp/feature.xml
++++ b/application/org.openjdk.jmc.feature.rcp/feature.xml
+@@ -84,7 +84,8 @@
+       <import plugin="org.eclipse.ui.intro"/>
+       <import plugin="org.eclipse.ui.net"/>
+       <import plugin="org.eclipse.equinox.event"/>
+-      <import plugin="javax.el"/>
++      <import plugin="javax.el-api"/>
++      <import plugin="jakarta.activation-api"/>
+       <import plugin="org.eclipse.equinox.p2.director.app"/>
+    </requires>
+ 
diff --git a/SOURCES/jmc.1 b/SOURCES/jmc.1
new file mode 100644
index 0000000..ecc2d3c
--- /dev/null
+++ b/SOURCES/jmc.1
@@ -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>
diff --git a/SOURCES/jmc.desktop b/SOURCES/jmc.desktop
new file mode 100644
index 0000000..93e9f74
--- /dev/null
+++ b/SOURCES/jmc.desktop
@@ -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;
diff --git a/SOURCES/remove-arch.patch b/SOURCES/remove-arch.patch
new file mode 100644
index 0000000..b6aec08
--- /dev/null
+++ b/SOURCES/remove-arch.patch
@@ -0,0 +1,24 @@
+diff --git a/pom.xml b/pom.xml
+--- a/pom.xml
++++ b/pom.xml
+@@ -116,20 +116,10 @@
+ 				<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>
+ 					</environments>
+ 				</configuration>
+ 			</plugin>
diff --git a/SOURCES/remove-buchen-repo.patch b/SOURCES/remove-buchen-repo.patch
new file mode 100644
index 0000000..1acfc74
--- /dev/null
+++ b/SOURCES/remove-buchen-repo.patch
@@ -0,0 +1,15 @@
+diff --git a/application/org.openjdk.jmc.rcp.product/pom.xml b/application/org.openjdk.jmc.rcp.product/pom.xml
+--- a/application/org.openjdk.jmc.rcp.product/pom.xml
++++ b/application/org.openjdk.jmc.rcp.product/pom.xml
+@@ -141,11 +141,4 @@
+ 		</plugins>
+ 		<directory>../../target/</directory>
+ 	</build>
+-	<pluginRepositories>
+-		<pluginRepository>
+-			<id>buchen-maven-repo</id>
+-			<url>http://buchen.github.io/maven-repo</url>
+-			<layout>default</layout>
+-		</pluginRepository>
+-	</pluginRepositories>
+ </project>
diff --git a/SOURCES/remove-ide-jdt.patch b/SOURCES/remove-ide-jdt.patch
new file mode 100644
index 0000000..97cea42
--- /dev/null
+++ b/SOURCES/remove-ide-jdt.patch
@@ -0,0 +1,27 @@
+diff --git a/application/org.openjdk.jmc.feature.ide/feature.xml b/application/org.openjdk.jmc.feature.ide/feature.xml
+--- a/application/org.openjdk.jmc.feature.ide/feature.xml
++++ b/application/org.openjdk.jmc.feature.ide/feature.xml
+@@ -65,11 +65,4 @@
+          install-size="0"
+          version="0.0.0"
+          unpack="false"/>
+-
+-   <plugin
+-         id="org.openjdk.jmc.ide.jdt"
+-         download-size="0"
+-         install-size="0"
+-         version="0.0.0"
+-         unpack="false"/>
+ </feature>
+\ No newline at end of file
+diff --git a/application/pom.xml b/application/pom.xml
+--- a/application/pom.xml
++++ b/application/pom.xml
+@@ -79,7 +79,6 @@
+ 		<module>org.openjdk.jmc.flightrecorder.ui</module>
+ 		<module>org.openjdk.jmc.greychart</module>
+ 		<module>org.openjdk.jmc.greychart.ui</module>
+-		<module>org.openjdk.jmc.ide.jdt</module>
+ 		<module>org.openjdk.jmc.ide.launch</module>
+ 		<module>org.openjdk.jmc.ide.ui</module>
+ 		<module>org.openjdk.jmc.jdp</module>
diff --git a/SOURCES/remove-jfx.patch b/SOURCES/remove-jfx.patch
new file mode 100644
index 0000000..fcc166c
--- /dev/null
+++ b/SOURCES/remove-jfx.patch
@@ -0,0 +1,74 @@
+diff --git a/application/org.openjdk.jmc.feature.flightrecorder/feature.xml b/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
+--- a/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
++++ b/application/org.openjdk.jmc.feature.flightrecorder/feature.xml
+@@ -94,13 +94,6 @@
+          unpack="false"/>
+ 
+    <plugin
+-         id="org.openjdk.jmc.javafx.osgi"
+-         download-size="0"
+-         install-size="0"
+-         version="0.0.0"
+-         unpack="false"/>
+-
+-   <plugin
+          id="org.openjdk.jmc.flightrecorder.rules.extensionprovider"
+          download-size="0"
+          install-size="0"
+diff --git a/application/org.openjdk.jmc.flightrecorder.ui/META-INF/MANIFEST.MF b/application/org.openjdk.jmc.flightrecorder.ui/META-INF/MANIFEST.MF
+--- a/application/org.openjdk.jmc.flightrecorder.ui/META-INF/MANIFEST.MF
++++ b/application/org.openjdk.jmc.flightrecorder.ui/META-INF/MANIFEST.MF
+@@ -9,7 +9,6 @@
+ Require-Bundle: org.openjdk.jmc.rjmx,
+  org.openjdk.jmc.flightrecorder;visibility:=reexport,
+  org.openjdk.jmc.ui;visibility:=reexport,
+- org.openjdk.jmc.javafx.osgi,
+  org.openjdk.jmc.flightrecorder.rules,
+  org.openjdk.jmc.flightrecorder.rules.jdk,
+  org.openjdk.jmc.flightrecorder.configuration,
+diff --git a/application/pom.xml b/application/pom.xml
+--- a/application/pom.xml
++++ b/application/pom.xml
+@@ -61,12 +61,10 @@
+ 		<module>org.openjdk.jmc.feature.core</module>
+ 		<module>org.openjdk.jmc.feature.flightrecorder</module>
+ 		<module>org.openjdk.jmc.feature.flightrecorder.ext.g1</module>
+-		<module>org.openjdk.jmc.feature.flightrecorder.ext.jfx</module>
+ 		<module>org.openjdk.jmc.feature.flightrecorder.metadata</module>
+ 		<module>org.openjdk.jmc.feature.ide</module>
+ 		<module>org.openjdk.jmc.feature.ide.launch</module>
+ 		<module>org.openjdk.jmc.feature.jconsole</module>
+-		<module>org.openjdk.jmc.feature.joverflow</module>
+ 		<module>org.openjdk.jmc.feature.license</module>
+ 		<module>org.openjdk.jmc.feature.pde</module>
+ 		<module>org.openjdk.jmc.feature.rcp</module>
+@@ -75,7 +73,6 @@
+ 		<module>org.openjdk.jmc.flightrecorder.controlpanel.ui</module>
+ 		<module>org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration</module>
+ 		<module>org.openjdk.jmc.flightrecorder.ext.g1</module>
+-		<module>org.openjdk.jmc.flightrecorder.ext.jfx</module>
+ 		<module>org.openjdk.jmc.flightrecorder.metadata</module>
+ 		<module>org.openjdk.jmc.flightrecorder.pde</module>
+ 		<module>org.openjdk.jmc.flightrecorder.rules.extensionprovider</module>
+@@ -85,10 +82,7 @@
+ 		<module>org.openjdk.jmc.ide.jdt</module>
+ 		<module>org.openjdk.jmc.ide.launch</module>
+ 		<module>org.openjdk.jmc.ide.ui</module>
+-		<module>org.openjdk.jmc.javafx.osgi</module>
+ 		<module>org.openjdk.jmc.jdp</module>
+-		<module>org.openjdk.jmc.joverflow</module>
+-		<module>org.openjdk.jmc.joverflow.ui</module>
+ 		<module>org.openjdk.jmc.osgi.extension</module>
+ 		<module>org.openjdk.jmc.pde</module>
+ 		<module>org.openjdk.jmc.rcp.application</module>
+diff --git a/application/tests/pom.xml b/application/tests/pom.xml
+--- a/application/tests/pom.xml
++++ b/application/tests/pom.xml
+@@ -48,7 +48,6 @@
+ 		<module>org.openjdk.jmc.greychart.test</module>
+ 		<module>org.openjdk.jmc.ide.launch.test</module>
+ 		<module>org.openjdk.jmc.jdp.test</module>
+-		<module>org.openjdk.jmc.joverflow.test</module>
+ 		<module>org.openjdk.jmc.rjmx.services.jfr.test</module>
+ 		<module>org.openjdk.jmc.rjmx.test</module>
+ 		<module>org.openjdk.jmc.ui.common.test</module>
diff --git a/SOURCES/remove-localization.patch b/SOURCES/remove-localization.patch
new file mode 100644
index 0000000..63b2cce
--- /dev/null
+++ b/SOURCES/remove-localization.patch
@@ -0,0 +1,47 @@
+diff --git a/application/org.openjdk.jmc.feature.rcp/feature.xml b/application/org.openjdk.jmc.feature.rcp/feature.xml
+--- a/application/org.openjdk.jmc.feature.rcp/feature.xml
++++ b/application/org.openjdk.jmc.feature.rcp/feature.xml
+@@ -52,18 +52,10 @@
+          version="0.0.0"/>
+ 
+    <includes
+-         id="org.openjdk.jmc.feature.rcp.ja"
+-         version="0.0.0"/>
+-
+-   <includes
+          id="org.openjdk.jmc.feature.core"
+          version="0.0.0"/>
+ 
+    <includes
+-         id="org.openjdk.jmc.feature.rcp.zh_CN"
+-         version="0.0.0"/>
+-
+-   <includes
+          id="org.openjdk.jmc.feature.flightrecorder"
+          version="0.0.0"/>
+ 
+@@ -105,24 +97,6 @@
+          unpack="false"/>
+ 
+    <plugin
+-         id="org.openjdk.jmc.rcp.application.ja"
+-         nl="ja_JP,ja"
+-         download-size="0"
+-         install-size="0"
+-         version="0.0.0"
+-         fragment="true"
+-         unpack="false"/>
+-
+-   <plugin
+-         id="org.openjdk.jmc.rcp.application.zh_CN"
+-         nl="zh_CN"
+-         download-size="0"
+-         install-size="0"
+-         version="0.0.0"
+-         fragment="true"
+-         unpack="false"/>
+-
+-   <plugin
+          id="org.openjdk.jmc.rcp.intro"
+          download-size="0"
+          install-size="0"
diff --git a/SOURCES/remove-profiles.patch b/SOURCES/remove-profiles.patch
new file mode 100644
index 0000000..6a85c87
--- /dev/null
+++ b/SOURCES/remove-profiles.patch
@@ -0,0 +1,99 @@
+diff --git a/pom.xml b/pom.xml
+--- a/pom.xml
++++ b/pom.xml
+@@ -99,95 +99,6 @@
+ 			<url>${snapshot.repo}</url>
+ 		</snapshotRepository>
+ 	</distributionManagement>
+-	<profiles>
+-		<profile>
+-			<id>2019-03</id>
+-			<activation>
+-				<activeByDefault>true</activeByDefault>
+-			</activation>
+-			<build>
+-				<plugins>
+-					<plugin>
+-						<groupId>org.eclipse.tycho</groupId>
+-						<artifactId>target-platform-configuration</artifactId>
+-						<version>${tycho.version}</version>
+-						<configuration>
+-							<target>
+-								<artifact>
+-									<groupId>org.openjdk.jmc</groupId>
+-									<artifactId>platform-definition-2019-03</artifactId>
+-									<version>7.0.0-SNAPSHOT</version>
+-								</artifact>
+-							</target>
+-						</configuration>
+-					</plugin>
+-				</plugins>
+-			</build>
+-		</profile>
+-		<profile>
+-			<id>2018-12</id>
+-			<build>
+-				<plugins>
+-					<plugin>
+-						<groupId>org.eclipse.tycho</groupId>
+-						<artifactId>target-platform-configuration</artifactId>
+-						<version>${tycho.version}</version>
+-						<configuration>
+-							<target>
+-								<artifact>
+-									<groupId>org.openjdk.jmc</groupId>
+-									<artifactId>platform-definition-2018-12</artifactId>
+-									<version>7.0.0-SNAPSHOT</version>
+-								</artifact>
+-							</target>
+-						</configuration>
+-					</plugin>
+-				</plugins>
+-			</build>
+-		</profile>
+-		<profile>
+-			<id>2018-09</id>
+-			<build>
+-				<plugins>
+-					<plugin>
+-						<groupId>org.eclipse.tycho</groupId>
+-						<artifactId>target-platform-configuration</artifactId>
+-						<version>${tycho.version}</version>
+-						<configuration>
+-							<target>
+-								<artifact>
+-									<groupId>org.openjdk.jmc</groupId>
+-									<artifactId>platform-definition-2018-09</artifactId>
+-									<version>7.0.0-SNAPSHOT</version>
+-								</artifact>
+-							</target>
+-						</configuration>
+-					</plugin>
+-				</plugins>
+-			</build>
+-		</profile>
+-		<profile>
+-			<id>photon</id>
+-			<build>
+-				<plugins>
+-					<plugin>
+-						<groupId>org.eclipse.tycho</groupId>
+-						<artifactId>target-platform-configuration</artifactId>
+-						<version>${tycho.version}</version>
+-						<configuration>
+-							<target>
+-								<artifact>
+-									<groupId>org.openjdk.jmc</groupId>
+-									<artifactId>platform-definition-photon</artifactId>
+-									<version>7.0.0-SNAPSHOT</version>
+-								</artifact>
+-							</target>
+-						</configuration>
+-					</plugin>
+-				</plugins>
+-			</build>
+-		</profile>
+-	</profiles>
+ 	<build>
+ 		<plugins>
+ 			<plugin>
diff --git a/SOURCES/remove-twitter.patch b/SOURCES/remove-twitter.patch
new file mode 100644
index 0000000..f7c6839
--- /dev/null
+++ b/SOURCES/remove-twitter.patch
@@ -0,0 +1,225 @@
+diff --git a/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF b/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF
+--- a/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF
++++ b/application/org.openjdk.jmc.rjmx/META-INF/MANIFEST.MF
+@@ -54,7 +54,6 @@
+  org.openjdk.jmc.rjmx.triggers;
+   x-friends:="org.openjdk.jmc.console.ui.notification,
+    org.openjdk.jmc.alert,
+-   org.openjdk.jmc.console.twitter,
+    org.openjdk.jmc.rjmx.test",
+  org.openjdk.jmc.rjmx.triggers.actions.internal;x-friends:="org.openjdk.jmc.console.ui.notification",
+  org.openjdk.jmc.rjmx.triggers.condition.internal;x-friends:="org.openjdk.jmc.console.ui.notification,org.openjdk.jmc.test.jemmy",
+diff --git a/application/pom.xml b/application/pom.xml
+--- a/application/pom.xml
++++ b/application/pom.xml
+@@ -50,7 +50,6 @@
+ 		<module>org.openjdk.jmc.console.jconsole</module>
+ 		<module>org.openjdk.jmc.console.pde</module>
+ 		<module>org.openjdk.jmc.console.persistence</module>
+-		<module>org.openjdk.jmc.console.twitter</module>
+ 		<module>org.openjdk.jmc.console.ui</module>
+ 		<module>org.openjdk.jmc.console.ui.diagnostic</module>
+ 		<module>org.openjdk.jmc.console.ui.mbeanbrowser</module>
+@@ -72,7 +71,6 @@
+ 		<module>org.openjdk.jmc.feature.pde</module>
+ 		<module>org.openjdk.jmc.feature.rcp</module>
+ 		<module>org.openjdk.jmc.feature.rcp.update</module>
+-		<module>org.openjdk.jmc.feature.twitter</module>
+ 		<module>org.openjdk.jmc.flightrecorder.configuration</module>
+ 		<module>org.openjdk.jmc.flightrecorder.controlpanel.ui</module>
+ 		<module>org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration</module>
+diff --git a/license/THIRDPARTYREADME.txt b/license/THIRDPARTYREADME.txt
+--- a/license/THIRDPARTYREADME.txt
++++ b/license/THIRDPARTYREADME.txt
+@@ -296,191 +296,6 @@
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ OF THE POSSIBILITY OF SUCH DAMAGE.
+ 
+-
+-%% The following notice is provided with respect to Twitter4J 4.0.7,
+-which may be included with this product.
+-
+-
+-                                 Apache License
+-                           Version 2.0, January 2004
+-                        http://www.apache.org/licenses/
+-
+-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+-
+-   1. Definitions.
+-
+-      "License" shall mean the terms and conditions for use, reproduction,
+-      and distribution as defined by Sections 1 through 9 of this document.
+-
+-      "Licensor" shall mean the copyright owner or entity authorized by
+-      the copyright owner that is granting the License.
+-
+-      "Legal Entity" shall mean the union of the acting entity and all
+-      other entities that control, are controlled by, or are under common
+-      control with that entity. For the purposes of this definition,
+-      "control" means (i) the power, direct or indirect, to cause the
+-      direction or management of such entity, whether by contract or
+-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+-      outstanding shares, or (iii) beneficial ownership of such entity.
+-
+-      "You" (or "Your") shall mean an individual or Legal Entity
+-      exercising permissions granted by this License.
+-
+-      "Source" form shall mean the preferred form for making modifications,
+-      including but not limited to software source code, documentation
+-      source, and configuration files.
+-
+-      "Object" form shall mean any form resulting from mechanical
+-      transformation or translation of a Source form, including but
+-      not limited to compiled object code, generated documentation,
+-      and conversions to other media types.
+-
+-      "Work" shall mean the work of authorship, whether in Source or
+-      Object form, made available under the License, as indicated by a
+-      copyright notice that is included in or attached to the work
+-      (an example is provided in the Appendix below).
+-
+-      "Derivative Works" shall mean any work, whether in Source or Object
+-      form, that is based on (or derived from) the Work and for which the
+-      editorial revisions, annotations, elaborations, or other modifications
+-      represent, as a whole, an original work of authorship. For the purposes
+-      of this License, Derivative Works shall not include works that remain
+-      separable from, or merely link (or bind by name) to the interfaces of,
+-      the Work and Derivative Works thereof.
+-
+-      "Contribution" shall mean any work of authorship, including
+-      the original version of the Work and any modifications or additions
+-      to that Work or Derivative Works thereof, that is intentionally
+-      submitted to Licensor for inclusion in the Work by the copyright owner
+-      or by an individual or Legal Entity authorized to submit on behalf of
+-      the copyright owner. For the purposes of this definition, "submitted"
+-      means any form of electronic, verbal, or written communication sent
+-      to the Licensor or its representatives, including but not limited to
+-      communication on electronic mailing lists, source code control systems,
+-      and issue tracking systems that are managed by, or on behalf of, the
+-      Licensor for the purpose of discussing and improving the Work, but
+-      excluding communication that is conspicuously marked or otherwise
+-      designated in writing by the copyright owner as "Not a Contribution."
+-
+-      "Contributor" shall mean Licensor and any individual or Legal Entity
+-      on behalf of whom a Contribution has been received by Licensor and
+-      subsequently incorporated within the Work.
+-
+-   2. Grant of Copyright License. Subject to the terms and conditions of
+-      this License, each Contributor hereby grants to You a perpetual,
+-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+-      copyright license to reproduce, prepare Derivative Works of,
+-      publicly display, publicly perform, sublicense, and distribute the
+-      Work and such Derivative Works in Source or Object form.
+-
+-   3. Grant of Patent License. Subject to the terms and conditions of
+-      this License, each Contributor hereby grants to You a perpetual,
+-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+-      (except as stated in this section) patent license to make, have made,
+-      use, offer to sell, sell, import, and otherwise transfer the Work,
+-      where such license applies only to those patent claims licensable
+-      by such Contributor that are necessarily infringed by their
+-      Contribution(s) alone or by combination of their Contribution(s)
+-      with the Work to which such Contribution(s) was submitted. If You
+-      institute patent litigation against any entity (including a
+-      cross-claim or counterclaim in a lawsuit) alleging that the Work
+-      or a Contribution incorporated within the Work constitutes direct
+-      or contributory patent infringement, then any patent licenses
+-      granted to You under this License for that Work shall terminate
+-      as of the date such litigation is filed.
+-
+-   4. Redistribution. You may reproduce and distribute copies of the
+-      Work or Derivative Works thereof in any medium, with or without
+-      modifications, and in Source or Object form, provided that You
+-      meet the following conditions:
+-
+-      (a) You must give any other recipients of the Work or
+-          Derivative Works a copy of this License; and
+-
+-      (b) You must cause any modified files to carry prominent notices
+-          stating that You changed the files; and
+-
+-      (c) You must retain, in the Source form of any Derivative Works
+-          that You distribute, all copyright, patent, trademark, and
+-          attribution notices from the Source form of the Work,
+-          excluding those notices that do not pertain to any part of
+-          the Derivative Works; and
+-
+-      (d) If the Work includes a "NOTICE" text file as part of its
+-          distribution, then any Derivative Works that You distribute must
+-          include a readable copy of the attribution notices contained
+-          within such NOTICE file, excluding those notices that do not
+-          pertain to any part of the Derivative Works, in at least one
+-          of the following places: within a NOTICE text file distributed
+-          as part of the Derivative Works; within the Source form or
+-          documentation, if provided along with the Derivative Works; or,
+-          within a display generated by the Derivative Works, if and
+-          wherever such third-party notices normally appear. The contents
+-          of the NOTICE file are for informational purposes only and
+-          do not modify the License. You may add Your own attribution
+-          notices within Derivative Works that You distribute, alongside
+-          or as an addendum to the NOTICE text from the Work, provided
+-          that such additional attribution notices cannot be construed
+-          as modifying the License.
+-
+-      You may add Your own copyright statement to Your modifications and
+-      may provide additional or different license terms and conditions
+-      for use, reproduction, or distribution of Your modifications, or
+-      for any such Derivative Works as a whole, provided Your use,
+-      reproduction, and distribution of the Work otherwise complies with
+-      the conditions stated in this License.
+-
+-   5. Submission of Contributions. Unless You explicitly state otherwise,
+-      any Contribution intentionally submitted for inclusion in the Work
+-      by You to the Licensor shall be under the terms and conditions of
+-      this License, without any additional terms or conditions.
+-      Notwithstanding the above, nothing herein shall supersede or modify
+-      the terms of any separate license agreement you may have executed
+-      with Licensor regarding such Contributions.
+-
+-   6. Trademarks. This License does not grant permission to use the trade
+-      names, trademarks, service marks, or product names of the Licensor,
+-      except as required for reasonable and customary use in describing the
+-      origin of the Work and reproducing the content of the NOTICE file.
+-
+-   7. Disclaimer of Warranty. Unless required by applicable law or
+-      agreed to in writing, Licensor provides the Work (and each
+-      Contributor provides its Contributions) on an "AS IS" BASIS,
+-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+-      implied, including, without limitation, any warranties or conditions
+-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+-      PARTICULAR PURPOSE. You are solely responsible for determining the
+-      appropriateness of using or redistributing the Work and assume any
+-      risks associated with Your exercise of permissions under this License.
+-
+-   8. Limitation of Liability. In no event and under no legal theory,
+-      whether in tort (including negligence), contract, or otherwise,
+-      unless required by applicable law (such as deliberate and grossly
+-      negligent acts) or agreed to in writing, shall any Contributor be
+-      liable to You for damages, including any direct, indirect, special,
+-      incidental, or consequential damages of any character arising as a
+-      result of this License or out of the use or inability to use the
+-      Work (including but not limited to damages for loss of goodwill,
+-      work stoppage, computer failure or malfunction, or any and all
+-      other commercial damages or losses), even if such Contributor
+-      has been advised of the possibility of such damages.
+-
+-   9. Accepting Warranty or Additional Liability. While redistributing
+-      the Work or Derivative Works thereof, You may choose to offer,
+-      and charge a fee for, acceptance of support, warranty, indemnity,
+-      or other liability obligations and/or rights consistent with this
+-      License. However, in accepting such obligations, You may act only
+-      on Your own behalf and on Your sole responsibility, not on behalf
+-      of any other Contributor, and only if You agree to indemnify,
+-      defend, and hold each Contributor harmless for any liability
+-      incurred by, or claims asserted against, such Contributor by reason
+-      of your accepting any such warranty or additional liability.
+-
+-Twitter4J SUBCOMPONENTS:
+-
+-Twitter4J includes software from JSON.org to parse JSON response from the Twitter API. You can see the license term at http://www.JSON.org/license.html
+-
+-
+ %% The following notice is provided with respect to JavaBeans Activation 
+ Framework (JAF) 1.2.1, which may be included with this product.
+ 
diff --git a/SOURCES/symlink_libs.sh b/SOURCES/symlink_libs.sh
new file mode 100644
index 0000000..9f68f4a
--- /dev/null
+++ b/SOURCES/symlink_libs.sh
@@ -0,0 +1,82 @@
+#!/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
+}
+
+pushd $1
+	# owasp-java-encoder
+	_sym org.owasp.encoder_1.2.2.jar /usr/share/java/owasp-java-encoder/encoder.jar
+	# jaf
+	_sym com.sun.activation.jakarta.activation_1.2.1.jar /usr/share/java/jaf/jakarta.activation.jar
+	_sym jakarta.activation-api_1.2.1.jar /usr/share/java/jaf/jakarta.activation-api.jar
+	# jmc-core
+	_sym org.openjdk.jmc.common_7.0.0.jar /usr/share/java/jmc-core/common.jar
+	_sym org.openjdk.jmc.flightrecorder_7.0.0.jar /usr/share/java/jmc-core/flightrecorder.jar
+	_sym org.openjdk.jmc.flightrecorder.rules_7.0.0.jar /usr/share/java/jmc-core/flightrecorder.rules.jar
+	_sym org.openjdk.jmc.flightrecorder.rules.jdk_7.0.0.jar /usr/share/java/jmc-core/flightrecorder.rules.jdk.jar
+popd
+
+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 "found ${SCL_JAVA_DIR}/$2"
+				echo "linking $1 to $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
+# 	_symlink javax.annotation-api_ glassfish-annotation-api.jar
+
+# 	_symlink com.sun.el.javax.el_ glassfish-el.jar
+# 	_symlink javax.el-api_ glassfish-el-api.jar
+
+# 	_symlink javax.inject_ atinject.jar
+
+# 	_symlink javax.servlet.jsp_ glassfish-jsp-api/javax.servlet.jsp-api.jar
+# 	_symlink javax.servlet-api_ glassfish-servlet-api.jar
+
+# 	_symlink org.apache.commons.codec_ commons-codec.jar
+# 	_symlink org.apache.commons.io_ commons-io.jar
+# 	_symlink org.apache.commons.jxpath_ commons-jxpath.jar
+# 	_symlink org.apache.commons.logging_ commons-logging.jar
+
+# 	_symlink org.apache.httpcomponents.httpcore_ httpcomponents/httpcore.jar
+# 	_symlink org.apache.httpcomponents.httpclient_ httpcomponents/httpclient.jar
+
+# 	_symlink org.tukaani.xz_ xz-java.jar
+# 	_symlink org.w3c.dom.svg_ xml-commons-apis-ext.jar
+# 	_symlink org.xmlpull_ xpp3.jar
+# popd
diff --git a/SPECS/jmc.spec b/SPECS/jmc.spec
new file mode 100644
index 0000000..f220141
--- /dev/null
+++ b/SPECS/jmc.spec
@@ -0,0 +1,220 @@
+# Version
+%global major 7
+%global minor 0
+%global patchlevel 0
+
+# Revision
+%global revnum 4
+
+# set to 1 for hg snapshots, 0 for release
+%global usesnapshot 0
+
+# SNAPSHOT version
+%global hgrevhash 9871e02a9e40
+%global hgrevdate 20190528
+
+%global tarball_name jmc7-%{hgrevhash}
+
+# Install jmc in /usr/lib/jmc (arch-specific and multilib exempt)
+%global _jmcdir %{_prefix}/lib/%{name}
+
+%global debug_package %{nil}
+
+%if %{usesnapshot}
+  %global releasestr %{revnum}.%{hgrevdate}hg%{hgrevhash}
+%else
+  %global releasestr %{revnum}
+%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).*$
+%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}
+Summary:    JDK Mission Control is a profiling and diagnostics tool
+
+License:    UPL
+URL:        http://openjdk.java.net/projects/jmc/
+
+Source0:    https://hg.openjdk.java.net/jmc/jmc7/archive/9871e02a9e40.tar.gz
+Source1:    %{name}.desktop
+Source2:    %{name}.1
+Source3:    symlink_libs.sh
+
+# Remove optional twitter related functionality
+Patch0:     remove-twitter.patch
+# Update javax dependency names to match what is found in Fedora
+Patch1:     javax.patch
+# Remove maven build profiles that won't be used in local build
+Patch2:     remove-profiles.patch
+# Remove localization files that currently cannot be supported
+# due to a packaging issue for Eclipse language packs
+# eclipse-nls-ja and eclipse-nls-zh
+# They currently provide multiple archs within the same package
+# and the local build system cannot fulfill dependencies from them
+Patch3:     remove-localization.patch
+# Remove optional openjfx related functionality
+Patch4:     remove-jfx.patch
+# Remove unused module org.openjdk.jmc.ide.jdt
+Patch5:     remove-ide-jdt.patch
+# Remove unused remote repository definition
+Patch6:     remove-buchen-repo.patch
+# Add dependency on org. hamcrest-core to provide class used in unit tests
+Patch7:     add-hamcrest.patch
+# Remove windows and mac arches
+Patch8:     remove-arch.patch
+# Updates message for Java versions that support JFR
+Patch9:     fix-jfr-message.patch
+# Fix javamail plugin listing
+Patch10:    fix-javamail.patch
+
+ExclusiveArch: x86_64
+
+BuildRequires:  desktop-file-utils
+BuildRequires:  maven-local
+BuildRequires:  osgi(javax.annotation-api)
+
+BuildRequires:  eclipse-pde
+BuildRequires:  tycho
+
+BuildRequires:  javamail
+BuildRequires:  mvn(org.commonjava.maven.plugins:directory-maven-plugin)
+BuildRequires:  mvn(com.sun.activation:jakarta.activation)
+BuildRequires:  mvn(org.openjdk.jmc:common)
+
+Requires:  java-openjdk >= 1:1.8
+
+Requires:  osgi(com.sun.activation.jakarta.activation)
+Requires:  osgi(org.openjdk.jmc.common)
+Requires:  osgi(org.openjdk.jmc.flightrecorder)
+Requires:  osgi(org.openjdk.jmc.flightrecorder.rules)
+Requires:  osgi(org.openjdk.jmc.flightrecorder.rules.jdk)
+Requires:  osgi(org.owasp.encoder)
+
+Requires: gtk3
+Requires: webkitgtk4
+Requires: libGLU.so.1()(64bit)
+
+%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 %{tarball_name}
+
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+
+%pom_disable_module releng
+%pom_disable_module l10n application
+%pom_disable_module org.openjdk.jmc.updatesite.ide application
+%pom_disable_module org.openjdk.jmc.updatesite.rcp application
+
+%pom_remove_plugin com.github.spotbugs:spotbugs-maven-plugin
+%pom_remove_plugin :maven-enforcer-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
+
+%pom_remove_plugin org.codehaus.mojo:buildnumber-maven-plugin
+%pom_remove_plugin org.apache.maven.plugins:maven-deploy-plugin
+
+TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment>"
+%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV"
+
+%build
+# some tests require large heap and fail with OOM
+# depending on the builder resources
+%mvn_build -j -- -Dmaven.test.failure.ignore=true
+
+%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}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/%{name}.ini
+sed -i '/^..\/..\/bin\/$/d' %{_builddir}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/%{name}.ini
+
+# add IgnoreUnrecognizedVMOptions flag to allow running on OpenJDK 8 without 'Unrecognized VM option' error
+sed -i '/^-vmargs$/a -XX:+IgnoreUnrecognizedVMOptions' %{_builddir}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/%{name}.ini
+
+# move contents of target/products/org.openjdk.jmc/${_os}/gtk/%{eclipse_arch}/ to /usr/lib/jmc/
+install -d -m 755 %{buildroot}%{_jmcdir}
+cp -p -r %{_builddir}/%{tarball_name}/target/products/org.openjdk.jmc/%{_os}/gtk/%{eclipse_arch}/* %{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}
+
+# replace jars with symlinks to installed libraries
+bash %{SOURCE3} %{buildroot}%{_jmcdir}/plugins %{_javadir} %{_jnidir} %{_javadir_maven} %{_jnidir_maven}
+
+# 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 %{SOURCE1}
+
+# install pom file
+install -d -m 755 %{buildroot}%{_datadir}/maven-poms/%{name}
+install -p -m 644 %{_builddir}/%{tarball_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 %{SOURCE2} %{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
+* Thu Nov 14 2019 Jie Kang <jkang@redhat.com> - 7.0.0-4
+- Fix requires
+* Wed Nov 13 2019 Jie Kang <jkang@redhat.com> - 7.0.0-3
+- Fix exclusions
+* Wed Nov 13 2019 Jie Kang <jkang@redhat.com> - 7.0.0-2
+- Update require and provide exclusions
+* Tue Mar 12 2019 Jie Kang <jkang@redhat.com> - 7.0.0-1
+- Initial package