Bug 1649552 - Review Request: jmc - Profiling and diagnostics tool for Java applications
Summary: Review Request: jmc - Profiling and diagnostics tool for Java applications
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Severin Gehwolf
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1649573 1649574 1649575 1649576 1649577
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-11-13 21:12 UTC by Salman Siddiqui
Modified: 2018-12-18 18:08 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-12-18 18:08:01 UTC
jerboaa: fedora-review+


Attachments (Terms of Use)
rpmlint - SPEC (109 bytes, text/plain)
2018-11-13 21:22 UTC, Salman Siddiqui
no flags Details
rpmlint - SRPM (229 bytes, text/plain)
2018-11-13 22:18 UTC, Salman Siddiqui
no flags Details
rpmlint - RPM (739 bytes, text/plain)
2018-11-13 22:18 UTC, Salman Siddiqui
no flags Details
patch for config.ini so that Eclipse Oxygen works with JDK 11 (4.25 KB, patch)
2018-12-06 14:06 UTC, Severin Gehwolf
no flags Details | Diff
Patch to make symlinking of libs more robust (4.44 KB, patch)
2018-12-06 14:21 UTC, Severin Gehwolf
no flags Details | Diff

Description Salman Siddiqui 2018-11-13 21:12:05 UTC
Spec URL: https://pagure.io/jmc-rpm/blob/master/f/jmc/jmc.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/sasiddiq/jmc/fedora-29-x86_64/00823545-jmc/jmc-7.0.0-2.fc29.src.rpm

Description: This is my first package. I am seeking a sponsor.
Java 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 Java Flight Recorder. The tool chain enables 
developers and administrators to collect and analyze data from Java 
applications running locally or deployed in production environments.

Fedora Account System Username: sasiddiq
Successful Copr Build: https://copr.fedorainfracloud.org/coprs/sasiddiq/jmc/build/823545/

Comment 1 Salman Siddiqui 2018-11-13 21:22:03 UTC
Created attachment 1505435 [details]
rpmlint - SPEC

Comment 2 Salman Siddiqui 2018-11-13 22:18:14 UTC
Created attachment 1505473 [details]
rpmlint - SRPM

Comment 3 Salman Siddiqui 2018-11-13 22:18:33 UTC
Created attachment 1505474 [details]
rpmlint - RPM

Comment 4 Severin Gehwolf 2018-11-16 10:12:30 UTC
Please update with working SPEC (raw) and SRPM (404) urls.

Comment 6 Severin Gehwolf 2018-11-27 17:41:21 UTC
From the spec:

# original source: http://hg.openjdk.java.net/jmc/jmc/archive/tip.tar.gz
# Execute this script to download and generate source tarball:
#   ./generate_jmc_tarball.sh
Source0:    %{name}-%{version}.tar.gz

So this seems a snapshot release. Please adapt in a similar fashion as jmc-core (but use 0.<date>hg<sha> instead). It's also nice to include the tarball generation script as Source in the spec file so that it'll be available in the SRPM.




I'm getting a build failure:

[INFO] {osgi.os=linux, osgi.ws=gtk, org.eclipse.update.install.features=true, osgi.arch=x86_64}
[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.openjdk.jmc.feature.rcp.feature.group 7.0.0.qualifier
[ERROR]   Missing requirement: org.openjdk.jmc.feature.rcp.feature.group 7.0.0.qualifier requires 'javax.activation-api 0.0.0' but it could not be found
[ERROR] 
[ERROR] See http://wiki.eclipse.org/Tycho/Dependency_Resolution_Troubleshooting for help.
[ERROR] Cannot resolve dependencies of MavenProject: org.openjdk.jmc:org.openjdk.jmc.feature.rcp:7.0.0-SNAPSHOT @ /builddir/build/BUILD/jmc-7.0.0/application/org.openjdk.jmc.feature.rcp/pom.xml: See log for details -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MavenExecutionException
error: Bad exit status from /var/tmp/rpm-tmp.LYaiiI (%build)
    Bad exit status from /var/tmp/rpm-tmp.LYaiiI (%build)


Looks like upstream wants 'osgi(javax.activation-api)', but jaf only provides these:

$ rpm -q --provides jaf
jaf = 1.2.1-2.fc28
mvn(com.sun.activation:all:pom:) = 1.2.1
mvn(com.sun.activation:jakarta.activation) = 1.2.1
mvn(com.sun.activation:jakarta.activation:pom:) = 1.2.1
mvn(jakarta.activation:jakarta.activation-api) = 1.2.1
mvn(jakarta.activation:jakarta.activation-api:pom:) = 1.2.1
osgi(com.sun.activation.jakarta.activation) = 1.2.1
osgi(jakarta.activation-api) = 1.2.1

So a patch changing 'javax.activation-api' to 'jakarta.activation-api' might solve the problem.

There are many build warnings:

1)
[WARNING] The POM for org.apache.maven.plugins:maven-install-plugin:jar:2.3.1 is missing, no dependency information available
[WARNING] The POM for org.apache.maven.plugins:maven-site-plugin:jar:3.3 is missing, no dependency information available

Perhaps '%pom_remove_plugin org.apache.maven.plugins:maven-site-plugin' etc. would help?

2)
[WARNING] Multiple artifacts detected for osgi.bundle,B,1.0.0
[WARNING] /usr/share/java/eclipse-tests/eclipse/plugins/org.eclipse.pde.build.tests_1.1.800.v20180409-1128/resources/248767/build2/plugins/B and /usr/share/java/eclipse-tests/eclipse/plugins/org.eclipse.pde.build.tests_1.1.800.v20180409-1128/resources/208011/plugins/B have the same ID and version.
[WARNING] /usr/share/java/eclipse-tests/eclipse/plugins/org.eclipse.pde.build.tests_1.1.800.v20180409-1128/resources/208011/plugins/B will be preferred.

Seems this is an issue with the eclipse-tests package. It makes the build log rather cluttered. It would be nice to be able to a) silence them if they're ok b) fix eclipse-tests so no warnings are produced.


Again from the spec:

[...]

%description
Java 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 Java Flight Recorder. The tool chain enables
developers and administrators to collect and analyze data from Java
applications running locally or deployed in production environments.

%global debug_package %{nil}

%global _jmcdir %{_libdir}/%{name}

[...]

Is JMC a no-arch package or does it include arch specific binaries? If no-arch, then use 'BuildArch: noarch' and remove the '%global debug_package %{nil}' line. In general, please keep rpm globals in the preamble of the spec file not mixed in with the rest (description in this case).

Any particular reason that _jmcdir is being defined to be /usr/lib64/jmc? Some changelog entries suggest /usr/share/jmc.

Comment 7 Salman Siddiqui 2018-12-04 21:57:56 UTC
Updated:
 - use snapshot release version
 - fix issue with BuildRequires
 - replace JARs with symlink to system libs
 - update to latest snapshot version

SPEC URL: https://copr-be.cloud.fedoraproject.org/results/sasiddiq/missioncontrol/fedora-29-x86_64/00833794-jmc/jmc.spec

SRPM URL: https://copr-be.cloud.fedoraproject.org/results/sasiddiq/missioncontrol/fedora-29-x86_64/00833794-jmc/jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc29.src.rpm

Comment 8 Jie Kang 2018-12-05 22:29:09 UTC
```
%pom_remove_plugin com.github.spotbugs:spotbugs-maven-plugin

%build
%mvn_build -j -- -Dspotbugs.skip=true

```

Do we still need the flag to skip spotbugs if the plugin is removed?

```
# replace jars with symlinks to installed libraries
# pushd % {buildroot}% {_jmcdir}/plugins
#   xmvn-subst -L true -R % {buildroot}% {_javadir} .
#   xmvn-subst -L true -R % {buildroot}% {_eclipsepluginsdir} .
# popd
```

Please remove the commented code if it's not used anymore.

Comment 9 Severin Gehwolf 2018-12-06 10:34:13 UTC
(In reply to Salman Siddiqui from comment #7)
> SRPM URL:
> https://copr-be.cloud.fedoraproject.org/results/sasiddiq/missioncontrol/
> fedora-29-x86_64/00833794-jmc/jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc29.src.rpm

FYI: This required an eclipse fix to build on F28:
https://src.fedoraproject.org/rpms/eclipse/pull-request/3

A similar fix is present in F29+ eclipse(s)[1], so that's why builds work there.

[1] https://src.fedoraproject.org/cgit/rpms/eclipse.git/commit/?id=52d8d4ead9b30fd07c5d8a25bac139d962b1755c

Comment 10 Severin Gehwolf 2018-12-06 12:26:58 UTC
For my F28 rebuild of jmc it doesn't start, because of broken critical symlinks:

for i in $(find /usr/lib64/jmc/plugins/ -xtype l); do file $i; done
/usr/lib64/jmc/plugins/org.apache.felix.scr_2.0.14.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.apache.felix.scr_2.0.14.jar
/usr/lib64/jmc/plugins/org.apache.batik.util_1.10.0.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.apache.batik.util_1.10.0.jar
/usr/lib64/jmc/plugins/org.eclipse.jetty.http_9.4.11.v20180605.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.eclipse.jetty.http_9.4.11.v20180605.jar
/usr/lib64/jmc/plugins/org.apache.batik.css_1.10.0.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.apache.batik.css_1.10.0.jar
/usr/lib64/jmc/plugins/org.apache.batik.util.gui_1.10.0.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.apache.batik.util.gui_1.10.0.jar
/usr/lib64/jmc/plugins/org.eclipse.jetty.servlet_9.4.11.v20180605.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.eclipse.jetty.servlet_9.4.11.v20180605.jar
/usr/lib64/jmc/plugins/org.eclipse.jetty.security_9.4.11.v20180605.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.eclipse.jetty.security_9.4.11.v20180605.jar
/usr/lib64/jmc/plugins/org.eclipse.jetty.util_9.4.11.v20180605.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.eclipse.jetty.util_9.4.11.v20180605.jar
/usr/lib64/jmc/plugins/org.eclipse.jetty.continuation_9.4.11.v20180605.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.eclipse.jetty.continuation_9.4.11.v20180605.jar
/usr/lib64/jmc/plugins/org.eclipse.jetty.server_9.4.11.v20180605.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.eclipse.jetty.server_9.4.11.v20180605.jar
/usr/lib64/jmc/plugins/org.eclipse.jetty.io_9.4.11.v20180605.jar: broken symbolic link to /usr/lib/eclipse/plugins/org.eclipse.jetty.io_9.4.11.v20180605.jar

This probably has to do with me using a custom built eclipse with the above PR. It would suggest that every time eclipse gets updated those symlinks would get potentially broken. I'll do some more digging.

Comment 11 Severin Gehwolf 2018-12-06 12:37:18 UTC
Some of the provides from jmc look wrong:

$ rpm -q --provides jmc 
application()
application(jmc.desktop)
jmc = 7.0.0-0.20181130hg1ddf3baa4e26.fc28
jmc(x86-64) = 7.0.0-0.20181130hg1ddf3baa4e26.fc28
osgi(org.apache.batik.xml) = 1.10.0
osgi(org.apache.lucene.misc) = 6.1.0
osgi(org.eclipse.equinox.launcher) = 1.4.0
osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64) = 1.1.551
osgi(org.eclipse.equinox.security.linux.x86_64) = 1.0.100
osgi(org.eclipse.swt.gtk.linux.x86_64) = 3.106.3
osgi(org.openjdk.jmc.alert) = 7.0.0
osgi(org.openjdk.jmc.attach) = 7.0.0
osgi(org.openjdk.jmc.browser) = 7.0.0
osgi(org.openjdk.jmc.browser.attach) = 7.0.0
osgi(org.openjdk.jmc.browser.jdp) = 7.0.0
osgi(org.openjdk.jmc.commands) = 7.0.0
osgi(org.openjdk.jmc.console.persistence) = 7.0.0
osgi(org.openjdk.jmc.console.ui) = 7.0.0
osgi(org.openjdk.jmc.console.ui.diagnostic) = 7.0.0
osgi(org.openjdk.jmc.console.ui.mbeanbrowser) = 7.0.0
osgi(org.openjdk.jmc.console.ui.notification) = 7.0.0
osgi(org.openjdk.jmc.docs) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.rules.extensionprovider) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.ui) = 7.0.0
osgi(org.openjdk.jmc.greychart) = 7.0.0
osgi(org.openjdk.jmc.greychart.ui) = 7.0.0
osgi(org.openjdk.jmc.jdp) = 7.0.0
osgi(org.openjdk.jmc.osgi.extension) = 7.0.0
osgi(org.openjdk.jmc.rcp.application) = 7.0.0
osgi(org.openjdk.jmc.rcp.intro) = 7.0.0
osgi(org.openjdk.jmc.rjmx) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ext) = 7.0.0
osgi(org.openjdk.jmc.rjmx.services.jfr) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ui) = 7.0.0
osgi(org.openjdk.jmc.ui) = 7.0.0
osgi(org.openjdk.jmc.ui.common) = 7.0.0

In particular these:

osgi(org.apache.batik.xml) = 1.10.0
osgi(org.apache.lucene.misc) = 6.1.0
osgi(org.eclipse.equinox.launcher) = 1.4.0
osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64) = 1.1.551
osgi(org.eclipse.equinox.security.linux.x86_64) = 1.0.100
osgi(org.eclipse.swt.gtk.linux.x86_64) = 3.106.3

Comment 12 Severin Gehwolf 2018-12-06 14:06:38 UTC
Created attachment 1512147 [details]
patch for config.ini so that Eclipse Oxygen works with JDK 11

Followed advise from:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=533390#c22

Comment 13 Severin Gehwolf 2018-12-06 14:11:15 UTC
(In reply to Severin Gehwolf from comment #12)
> Created attachment 1512147 [details]
> patch for config.ini so that Eclipse Oxygen works with JDK 11
> 
> Followed advise from:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=533390#c22

Without that patch starting jmc on Eclipse Oxygen with -vm /usr/lib/jvm/java-11-openjdk/bin/java fails with:

!ENTRY org.eclipse.osgi 4 0 2018-12-06 15:10:57.003
!MESSAGE Application error
!STACK 1
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:410)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultHeadlessContext(E4Application.java:491)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createDefaultContext(E4Application.java:505)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:204)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:614)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
	at org.openjdk.jmc.rcp.application.Application.start(Application.java:64)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
Caused by: java.lang.NoClassDefFoundError: javax/annotation/PostConstruct
	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
	... 23 more
Caused by: java.lang.ClassNotFoundException: javax.annotation.PostConstruct cannot be found by org.eclipse.e4.core.di_1.6.100.v20180409-1128
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:433)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
	... 25 more

Comment 14 Severin Gehwolf 2018-12-06 14:21:08 UTC
Created attachment 1512155 [details]
Patch to make symlinking of libs more robust

I've used this patch so as to build a version of JMC which runs on F28. The idea is to a) rely on xmvn-subst for system deps b) after xmvn-subst has replaced java deps with symlinks, run a sym link script to link to eclipse bits

Comment 15 Severin Gehwolf 2018-12-06 14:28:31 UTC
With the patch from comment 14 the jmc provides only have these questionable ones:

osgi(org.eclipse.equinox.launcher) = 1.4.0
osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64) = 1.1.551
osgi(org.eclipse.equinox.security.linux.x86_64) = 1.0.100
osgi(org.eclipse.swt.gtk.linux.x86_64) = 3.106.3

That is, the following are no longer there (as compared to comment 11) because they're properly symlinked:

osgi(org.apache.batik.xml) = 1.10.0
osgi(org.apache.lucene.misc) = 6.1.0

The remaining Eclipse provides should probably be explicitly filtered:
https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Filtering_provides_and_requires_after_scanning

Comment 16 Severin Gehwolf 2018-12-06 19:12:24 UTC
For reference these are the eclipse packages, eclipse dependencies come from:

eclipse-ecf-core
eclipse-emf-core
eclipse-equinox-osgi
eclipse-platform
eclipse-swt

If it really turns out that upgrading eclipse (and not jmc) breaks jmc, then RPM triggers could be considered to "fix-up" symlinks:

http://ftp.rpm.org/api/4.4.2.2/triggers.html

For that matter it might make sense to install symlink_libs.sh so it'll be available to be called by a trigger.

Comment 17 Severin Gehwolf 2018-12-07 10:31:41 UTC
Issues

- Package has virtual provides which are provided by other package:
  osgi(org.eclipse.equinox.launcher) = 1.4.0
  osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64) = 1.1.551
  osgi(org.eclipse.equinox.security.linux.x86_64) = 1.0.100
  osgi(org.eclipse.swt.gtk.linux.x86_64) = 3.106.3
  Please use filtering for them as described here:
  https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering#Filtering_provides_and_requires_after_scanning
- %global debug_package %{nil} => Please remove so that
  proper debuginfo packages get created at build time.
  RPM lint warning:
  jmc.x86_64: W: unstripped-binary-or-object /usr/lib64/jmc/jmc
  should go away with this.
- -Dspotbugs.skip=true can be dropped from %build
- source generation tarball should preserve hg hash in
  name. I wonder why we'd need to do this at all, though. I.e. have
  the script. What's wrong with this?
  Source0: https://hg.openjdk.java.net/jmc/jmc/archive/%{hgrevhash}.tar.gz
  Once there is a tag, the URL changes to use the tag over the
  precise revision. I'd suggest to even use the same approach for jmc-core.
  There is no need to remove other bits from the source tarball. Neither in
  jmc-core nor here. URLs are easier for verifying sources.
- Please use -f .mfiles-jmc in %files section
- The man page refers to /usr/share/jmc/jmc.ini which doesn't exist. It
  should be: %{_jmcdir}/jmc.ini. Perhaps the sources should get processed
  in %prep to use the value of this macro.
- jmc.ini isn't marked as a config file in the spec. Please do so. Also,
  install in /etc/jmc.ini and add a symlink to it in %{_jmcdir}. See:
  https://fedoraproject.org/wiki/Packaging:Guidelines#Configuration_files
- Please install in /usr/lib/jmc over %{_libdir}/jmc. Java packages are
  multilib exempt and eclipse installs in /usr/lib over /usr/lib64 too.
  We should follow a similar model.

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.
[?]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[-]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Java:
[x]: Bundled jar/class files should be removed before build
[x]: Packages have proper BuildRequires/Requires on jpackage-utils
     Note: Maven packages do not need to (Build)Require jpackage-utils. It
     is pulled in by maven-local
[-]: Javadoc documentation files are generated and included in -javadoc
     subpackage
[-]: Javadoc subpackages should not have Requires: jpackage-utils
[-]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)

Maven:
[x]: If package contains pom.xml files install it (including metadata) even
     when building with ant
[x]: POM files have correct Maven mapping
[x]: Maven packages should use new style packaging
[x]: Old add_to_maven_depmap macro is not being used
[x]: Packages DO NOT have Requires(post) and Requires(postun) on jpackage-
     utils for %update_maven_depmap macro
[x]: Package DOES NOT use %update_maven_depmap in %post/%postun
[!]: Packages use .mfiles file list instead of %{_datadir}/maven2/poms

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in owasp-
     java-encoder-javadoc
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[?]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass. Tests are run during build.
[?]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

Java:
[x]: Package uses upstream build method (ant/maven/etc.)
[x]: Packages are noarch unless they use JNI

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
jmc.src: W: spelling-error %description -l en_US profiler -> profile, profiles, profiled
jmc.src: W: invalid-license UPL
Error checking signature of srpm/jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc29.src.rpm: srpm/jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc29.src.rpm: digests SIGNATURES NOT OK
jmc.src: W: strange-permission generate_jmc_tarball.sh 775
jmc.src: W: invalid-url Source0: jmc-7.0.0.tar.gz
1 packages and 0 specfiles checked; 0 errors, 4 warnings.


Rpmlint (installed packages)
----------------------------
jmc.x86_64: W: spelling-error %description -l en_US profiler -> profile, profiles, profiled
jmc.x86_64: W: invalid-license UPL
jmc.x86_64: W: unstripped-binary-or-object /usr/lib64/jmc/jmc
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/com.ibm.icu_59.1.0.jar /usr/share/java/icu4j/icu4j.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/com.sun.activation.jakarta.activation_1.2.1.jar /usr/share/java/jaf/jakarta.activation.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/com.sun.el.javax.el_3.0.0.jar /usr/share/java/glassfish-el.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/com.sun.mail.jakarta.mail_1.6.3.jar /usr/share/java/javamail/jakarta.mail.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/jakarta.activation-api_1.2.1.jar /usr/share/java/jaf/jakarta.activation-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/javax.annotation-api_1.2.0.jar /usr/share/java/glassfish-annotation-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/javax.el-api_3.0.0.jar /usr/share/java/glassfish-el-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/javax.inject_1.0.0.v20091030.jar /usr/share/java/atinject.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/javax.servlet-api_3.1.0.jar /usr/share/java/glassfish-servlet-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/javax.servlet.jsp_2.3.2.b01.jar /usr/share/java/glassfish-jsp-api/javax.servlet.jsp-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.batik.css_1.10.0.jar /usr/share/java/batik/batik-css.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.batik.util.gui_1.10.0.jar /usr/share/java/batik/batik-gui-util.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.batik.util_1.10.0.jar /usr/share/java/batik/batik-util.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.batik.xml_1.10.0.jar /usr/share/java/batik/batik-xml.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.commons.codec_1.11.0.jar /usr/share/java/commons-codec.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.commons.jxpath_1.3.0.jar /usr/share/java/apache-commons-jxpath.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.commons.logging_1.2.0.jar /usr/share/java/commons-logging.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.felix.gogo.command_1.0.2.jar /usr/share/java/felix-gogo-command/org.apache.felix.gogo.command.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.felix.gogo.runtime_1.0.4.jar /usr/share/java/felix/felix-gogo-runtime.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.felix.gogo.shell_1.0.0.jar /usr/share/java/felix-gogo-shell/org.apache.felix.gogo.shell.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.felix.scr_2.0.14.jar /usr/share/java/felix/org.apache.felix.scr.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.httpcomponents.httpclient_4.5.5.jar /usr/share/java/httpcomponents/httpclient.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.httpcomponents.httpcore_4.4.9.jar /usr/share/java/httpcomponents/httpcore.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.lucene.analyzers-common_6.1.0.jar /usr/share/java/lucene/lucene-analyzers-common.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.lucene.analyzers-smartcn_6.1.0.jar /usr/share/java/lucene/lucene-analyzers-smartcn.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.lucene.core_6.1.0.jar /usr/share/java/lucene/lucene-core.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.apache.lucene.misc_6.1.0.jar /usr/lib/java/lucene/lucene-misc.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.commands_3.9.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.commands_3.9.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.contenttype_3.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.contenttype_3.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.databinding.beans_1.4.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding.beans_1.4.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.databinding.observable_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding.observable_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.databinding.property_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding.property_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.databinding_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.expressions_3.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.expressions_3.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.filesystem_1.7.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.filesystem_1.7.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.jobs_3.9.3.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.jobs_3.9.3.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.net_1.3.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.net_1.3.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.resources_3.12.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.resources_3.12.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.core.runtime_3.13.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.runtime_3.13.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.core.commands_0.12.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.commands_0.12.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.core.contexts_1.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.contexts_1.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.core.di.annotations_1.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di.annotations_1.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.core.di.extensions.supplier_0.15.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di.extensions.supplier_0.15.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.core.di.extensions_0.15.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di.extensions_0.15.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.core.di_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.core.services_2.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.services_2.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.emf.xpath_0.2.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.emf.xpath_0.2.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.bindings_0.12.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.bindings_0.12.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.css.core_0.12.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.css.core_0.12.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.css.swt.theme_0.11.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.css.swt.theme_0.11.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.css.swt_0.13.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.css.swt_0.13.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.di_1.2.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.di_1.2.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.dialogs_1.1.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.dialogs_1.1.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.model.workbench_2.0.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.model.workbench_2.0.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.services_1.3.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.services_1.3.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.swt.gtk_1.0.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.swt.gtk_1.0.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.widgets_1.2.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.widgets_1.2.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.workbench.addons.swt_1.3.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench.addons.swt_1.3.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.workbench.renderers.swt_0.14.102.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench.renderers.swt_0.14.102.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.workbench.swt_0.14.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench.swt_0.14.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.workbench3_0.14.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench3_0.14.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.e4.ui.workbench_1.5.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench_1.5.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf.filetransfer_5.0.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.filetransfer_5.0.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf.identity_3.8.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.identity_3.8.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl_1.1.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl_1.1.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4_1.1.200.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4_1.1.200.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf.provider.filetransfer_3.2.300.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.2.300.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf.ssl_1.2.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.ssl_1.2.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ecf_3.8.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf_3.8.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.emf.common_2.13.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.common_2.13.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.emf.ecore.change_2.11.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.ecore.change_2.11.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.emf.ecore.xmi_2.13.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.ecore.xmi_2.13.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.emf.ecore_2.13.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.ecore_2.13.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.app_1.3.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.app_1.3.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.bidi_1.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.bidi_1.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.common_3.9.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.common_3.9.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.concurrent_1.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.concurrent_1.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.console_1.1.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.console_1.1.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.ds_1.5.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.ds_1.5.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.event_1.4.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.event_1.4.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.frameworkadmin.equinox_1.0.800.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.frameworkadmin.equinox_1.0.800.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.frameworkadmin_2.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.frameworkadmin_2.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.http.jetty_3.4.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.http.jetty_3.4.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.http.registry_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.http.registry_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.http.servlet_1.4.0.v20180409-1128.jar /usr/share/java/eclipse/equinox.http.servlet.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.jsp.jasper.registry_1.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.jsp.jasper.registry_1.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.jsp.jasper_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.jsp.jasper_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.artifact.repository_1.1.650.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.1.650.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.console_1.0.600.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.console_1.0.600.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.core_2.4.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.core_2.4.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.director.app_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.director.app_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.director_2.3.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.director_2.3.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.directorywatcher_1.1.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.directorywatcher_1.1.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.engine_2.5.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.engine_2.5.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.extensionlocation_1.2.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.extensionlocation_1.2.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.garbagecollector_1.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.garbagecollector_1.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.metadata.repository_1.2.401.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.2.401.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.metadata_2.3.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.metadata_2.3.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.operations_2.4.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.operations_2.4.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.publisher.eclipse_1.2.201.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.publisher.eclipse_1.2.201.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.publisher_1.4.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.publisher_1.4.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.reconciler.dropins_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.reconciler.dropins_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.repository_2.3.301.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.repository_2.3.301.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_2.1.501.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_2.1.501.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.touchpoint.natives_1.2.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.touchpoint.natives_1.2.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.transport.ecf_1.1.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.transport.ecf_1.1.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.ui.sdk.scheduler_1.3.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.ui.sdk.scheduler_1.3.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.ui.sdk_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.ui.sdk_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.ui_2.5.2.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.ui_2.5.2.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.p2.updatechecker_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.updatechecker_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.preferences_3.7.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.preferences_3.7.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.registry_3.7.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.registry_3.7.0.v20180409-1128.jar
jmc.x86_64: W: hidden-file-or-dir /usr/lib64/jmc/plugins/org.eclipse.equinox.security.linux.x86_64_1.0.100.v20180409-1128/.api_description
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.security.ui_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.security.ui_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.security_1.2.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.security_1.2.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_2.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_2.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.simpleconfigurator_1.2.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.simpleconfigurator_1.2.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.equinox.util_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.util_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.help.base_4.2.153.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help.base_4.2.153.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.help.ui_4.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help.ui_4.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.help.webapp_3.9.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help.webapp_3.9.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.help_3.8.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help_3.8.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jdt.core.compiler.batch_3.13.102.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jdt.core.compiler.batch_3.13.102.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jetty.continuation_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-continuation.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jetty.http_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-http.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jetty.io_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-io.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jetty.security_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-security.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jetty.server_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-server.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jetty.servlet_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-servlet.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jetty.util_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-util.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jface.databinding_1.8.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jface.databinding_1.8.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jface.text_3.12.2.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jface.text_3.12.2.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.jface_3.13.2.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jface_3.13.2.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.osgi.compatibility.state_1.1.0.v20180409-1128.jar /usr/share/java/eclipse/osgi.compatibility.state.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.osgi.services_3.6.0.v20180409-1128.jar /usr/share/java/eclipse/osgi.services.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.osgi.util_3.4.0.v20180409-1128.jar /usr/share/java/eclipse/osgi.util.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.osgi_3.12.100.v20180409-1128.jar /usr/share/java/eclipse/osgi.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.rcp_4.7.3.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.rcp_4.7.3.v20180409-1128.jar
jmc.x86_64: W: hidden-file-or-dir /usr/lib64/jmc/plugins/org.eclipse.swt.gtk.linux.x86_64_3.106.3.v20180409-1128/.api_description
jmc.x86_64: E: incorrect-fsf-address /usr/lib64/jmc/plugins/org.eclipse.swt.gtk.linux.x86_64_3.106.3.v20180409-1128/about_files/lgpl-v21.txt
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.swt_3.106.3.v20180409-1128.jar /usr/lib/java/swt.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.text_3.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.text_3.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ui.forms_3.7.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.forms_3.7.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ui.intro_3.5.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.intro_3.5.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ui.net_1.3.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.net_1.3.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ui.views_3.9.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.views_3.9.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ui.workbench_3.110.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.workbench_3.110.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.ui_3.109.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui_3.109.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.eclipse.update.configurator_3.3.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.update.configurator_3.3.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.glassfish.web.javax.servlet.jsp_2.3.3.b02.jar /usr/share/java/glassfish-jsp/javax.servlet.jsp.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.kxml2_2.3.0.jar /usr/share/java/kxml/kxml2.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.openjdk.jmc.common_7.0.0.qualifier.jar /usr/share/java/jmc-core/common.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.openjdk.jmc.flightrecorder.rules.jdk_7.0.0.qualifier.jar /usr/share/java/jmc-core/flightrecorder.rules.jdk.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.openjdk.jmc.flightrecorder.rules_7.0.0.qualifier.jar /usr/share/java/jmc-core/flightrecorder.rules.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.openjdk.jmc.flightrecorder_7.0.0.qualifier.jar /usr/share/java/jmc-core/flightrecorder.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.owasp.encoder_1.2.2.jar /usr/share/java/owasp-java-encoder/encoder.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.sat4j.core_2.3.5.v20130405.jar /usr/share/java/org.sat4j.core.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.sat4j.pb_2.3.5.v20130405.jar /usr/share/java/org.sat4j.pb.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.tukaani.xz_1.8.0.jar /usr/share/java/xz-java.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.w3c.css.sac_1.3.0.v200805290154.jar /usr/share/java/sac.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.w3c.dom.svg_1.1.0.v200806040011.jar /usr/share/java/xml-commons-apis-ext.jar
jmc.x86_64: W: dangling-symlink /usr/lib64/jmc/plugins/org.xmlpull_1.1.4.jar /usr/share/java/xpp3.jar
1 packages and 0 specfiles checked; 1 errors, 167 warnings.

Note: Dangling symlinks should be OK for the final package. It's to do with links to RPM
      dependencies. When they're installed they are no longer dangling.


Requires
--------
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
osgi(com.sun.activation.jakarta.activation)
osgi(jakarta.mail.api)
osgi(javax.annotation-api)
osgi(javax.inject)
osgi(org.eclipse.core.expressions)
osgi(org.eclipse.core.runtime)
osgi(org.eclipse.e4.core.contexts)
osgi(org.eclipse.e4.core.di)
osgi(org.eclipse.equinox.p2.core)
osgi(org.eclipse.equinox.p2.metadata)
osgi(org.eclipse.equinox.p2.operations)
osgi(org.eclipse.equinox.p2.repository)
osgi(org.eclipse.equinox.p2.ui)
osgi(org.eclipse.equinox.p2.ui.sdk.scheduler)
osgi(org.eclipse.equinox.p2.updatechecker)
osgi(org.eclipse.help)
osgi(org.eclipse.swt)
osgi(org.eclipse.ui)
osgi(org.eclipse.ui.forms)
osgi(org.eclipse.ui.intro)
osgi(org.eclipse.ui.views)
osgi(org.openjdk.jmc.alert) = 7.0.0
osgi(org.openjdk.jmc.attach) = 7.0.0
osgi(org.openjdk.jmc.browser.attach) = 7.0.0
osgi(org.openjdk.jmc.commands) = 7.0.0
osgi(org.openjdk.jmc.common)
osgi(org.openjdk.jmc.common)
osgi(org.openjdk.jmc.console.ui) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder)
osgi(org.openjdk.jmc.flightrecorder.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.rules)
osgi(org.openjdk.jmc.flightrecorder.rules.jdk)
osgi(org.openjdk.jmc.flightrecorder.ui) = 7.0.0
osgi(org.openjdk.jmc.greychart) = 7.0.0
osgi(org.openjdk.jmc.greychart.ui) = 7.0.0
osgi(org.openjdk.jmc.jdp) = 7.0.0
osgi(org.openjdk.jmc.rcp.application) = 7.0.0
osgi(org.openjdk.jmc.rjmx) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ui) = 7.0.0
osgi(org.openjdk.jmc.ui) = 7.0.0
osgi(org.openjdk.jmc.ui.common) = 7.0.0
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)


Provides
--------
application()
application(jmc.desktop)
jmc = 7.0.0-2.20181130hg1ddf3baa4e26.fc28
jmc(x86-64) = 7.0.0-2.20181130hg1ddf3baa4e26.fc28
osgi(org.eclipse.equinox.launcher) = 1.4.0
osgi(org.eclipse.equinox.launcher.gtk.linux.x86_64) = 1.1.551
osgi(org.eclipse.equinox.security.linux.x86_64) = 1.0.100
osgi(org.eclipse.swt.gtk.linux.x86_64) = 3.106.3
osgi(org.openjdk.jmc.alert) = 7.0.0
osgi(org.openjdk.jmc.attach) = 7.0.0
osgi(org.openjdk.jmc.browser) = 7.0.0
osgi(org.openjdk.jmc.browser.attach) = 7.0.0
osgi(org.openjdk.jmc.browser.jdp) = 7.0.0
osgi(org.openjdk.jmc.commands) = 7.0.0
osgi(org.openjdk.jmc.console.persistence) = 7.0.0
osgi(org.openjdk.jmc.console.ui) = 7.0.0
osgi(org.openjdk.jmc.console.ui.diagnostic) = 7.0.0
osgi(org.openjdk.jmc.console.ui.mbeanbrowser) = 7.0.0
osgi(org.openjdk.jmc.console.ui.notification) = 7.0.0
osgi(org.openjdk.jmc.docs) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.rules.extensionprovider) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.ui) = 7.0.0
osgi(org.openjdk.jmc.greychart) = 7.0.0
osgi(org.openjdk.jmc.greychart.ui) = 7.0.0
osgi(org.openjdk.jmc.jdp) = 7.0.0
osgi(org.openjdk.jmc.osgi.extension) = 7.0.0
osgi(org.openjdk.jmc.rcp.application) = 7.0.0
osgi(org.openjdk.jmc.rcp.intro) = 7.0.0
osgi(org.openjdk.jmc.rjmx) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ext) = 7.0.0
osgi(org.openjdk.jmc.rjmx.services.jfr) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ui) = 7.0.0
osgi(org.openjdk.jmc.ui) = 7.0.0
osgi(org.openjdk.jmc.ui.common) = 7.0.0

Comment 18 Salman Siddiqui 2018-12-11 18:01:23 UTC
Updated.

- filter eclipse packages from provides
- remove unnecessary -Dspotbugs.skip=true
- use URL for source tarball
- install jmc in /usr/lib/jmc (instead of %{_libdir})
- put jmc.ini in /etc/ and mark as config file
- -f .mfiles is not used because there is no .mfiles file (%mvn_install macro is not used because it installed JMC as an Eclipse plug-in rather than as RCP application)
- add triggers to re-link symbolic links to eclipse libs when eclipse packages are updated
- without %global debug_package %{nil}, there are empty files for the debug subpackage which prevent the build from completing successfully

SPEC URL: https://copr-be.cloud.fedoraproject.org/results/sasiddiq/missioncontrol/fedora-rawhide-x86_64/00836295-jmc/jmc.spec
SRPM URL: https://copr-be.cloud.fedoraproject.org/results/sasiddiq/missioncontrol/fedora-rawhide-x86_64/00836295-jmc/jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc30.src.rpm

Comment 19 Jie Kang 2018-12-12 21:45:12 UTC
I tried to build the latest srpm link via copr however after installation jmc fails to start with e.g.

  Unresolved requirement: Import-Package: org.eclipse.jface.bindings
    -> Export-Package: org.eclipse.jface.bindings; bundle-symbolic-name="org.eclipse.jface"; bundle-version="3.14.100.v20180912-1831"; version="0.0.0"
       org.eclipse.jface [138]
         Unresolved requirement: Require-Bundle: org.eclipse.swt; bundle-version="[3.104.0,4.0.0)"; visibility:="reexport"


xmvn-subst links the org.eclipse.swt dependency incorrectly. You should keep linking it via your symlink_libs script.

Comment 20 Severin Gehwolf 2018-12-13 08:30:39 UTC
  Installing       : jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64                                                                                                                                            1/1 
  Running scriptlet: jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64                                                                                                                                            1/1 
bash: /builddir/build/SOURCES/symlink_libs.sh: No such file or directory
warning: %triggerin(jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64) scriptlet failed, exit status 127
Non-fatal <unknown> scriptlet failure in rpm package jmc
Non-fatal <unknown> scriptlet failure in rpm package jmc
bash: /builddir/build/SOURCES/symlink_libs.sh: No such file or directory
warning: %triggerin(jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64) scriptlet failed, exit status 127
Non-fatal <unknown> scriptlet failure in rpm package jmc
Non-fatal <unknown> scriptlet failure in rpm package jmc
bash: /builddir/build/SOURCES/symlink_libs.sh: No such file or directory
warning: %triggerin(jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64) scriptlet failed, exit status 127
Non-fatal <unknown> scriptlet failure in rpm package jmc
Non-fatal <unknown> scriptlet failure in rpm package jmc
bash: /builddir/build/SOURCES/symlink_libs.sh: No such file or directory
warning: %triggerin(jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64) scriptlet failed, exit status 127
Non-fatal <unknown> scriptlet failure in rpm package jmc
Non-fatal <unknown> scriptlet failure in rpm package jmc
bash: /builddir/build/SOURCES/symlink_libs.sh: No such file or directory
warning: %triggerin(jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64) scriptlet failed, exit status 127
Non-fatal <unknown> scriptlet failure in rpm package jmc
Non-fatal <unknown> scriptlet failure in rpm package jmc
  Verifying        : jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc28.x86_64

This failure comes from this in the spec:

# set triggers to update symlinks when Eclipse JARs are updated
%triggerin -- eclipse-ecf-core
bash %{SOURCE3} %{buildroot}%{_jmcdir}/plugins

You need to actually install the symlinking script, e.g. into %{_jmcdir}/tools/symlink_libs.sh,
and then call it with %{_jmcdir}/plugins (no %buildroot).

The man page still contains the wrong path. I suggest to pre-process the man page in prep,
substituting %{_jmcdir} via sed or so and then install the processed man page rather than the
verbatim SOURCE2.

Comment 21 Severin Gehwolf 2018-12-13 11:01:39 UTC
(In reply to Jie Kang from comment #19)
> I tried to build the latest srpm link via copr however after installation
> jmc fails to start with e.g.
> 
>   Unresolved requirement: Import-Package: org.eclipse.jface.bindings
>     -> Export-Package: org.eclipse.jface.bindings;
> bundle-symbolic-name="org.eclipse.jface";
> bundle-version="3.14.100.v20180912-1831"; version="0.0.0"
>        org.eclipse.jface [138]
>          Unresolved requirement: Require-Bundle: org.eclipse.swt;
> bundle-version="[3.104.0,4.0.0)"; visibility:="reexport"
> 
> 
> xmvn-subst links the org.eclipse.swt dependency incorrectly. You should keep
> linking it via your symlink_libs script.

I can confirm this, but it smells like an eclipse bug. /usr/lib/java/swt.jar seems to be
bundle org.eclipse.swt.gtk.linux.x86_64 whereas /usr/lib/eclipse/plugins/org.eclipse.swt_3.106.3.v20180409-1128.jar
actually is BSN org.eclipse.swt.

Comment 22 Severin Gehwolf 2018-12-13 13:15:25 UTC
(In reply to Severin Gehwolf from comment #21)
> I can confirm this, but it smells like an eclipse bug. /usr/lib/java/swt.jar
> seems to be
> bundle org.eclipse.swt.gtk.linux.x86_64 whereas
> /usr/lib/eclipse/plugins/org.eclipse.swt_3.106.3.v20180409-1128.jar
> actually is BSN org.eclipse.swt.

OK, after talking to eclipse people we should symlink both:

/usr/lib/eclipse/plugins/org.eclipse.swt_3.106.3.v20180409-1128.jar
/usr/lib/java/swt.jar

Some directories in plugins seem eclipse libs too. Should we symlink them?
/usr/lib/jmc/plugins/org.eclipse.equinox.security.linux.*
/usr/lib/jmc/plugins/org.eclipse.swt.gtk.linux.*

Comment 23 Severin Gehwolf 2018-12-13 13:40:58 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.
[?]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[-]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Java:
[x]: Bundled jar/class files should be removed before build
[x]: Packages have proper BuildRequires/Requires on jpackage-utils
     Note: Maven packages do not need to (Build)Require jpackage-utils. It
     is pulled in by maven-local
[-]: Javadoc documentation files are generated and included in -javadoc
     subpackage
[-]: Javadoc subpackages should not have Requires: jpackage-utils
[-]: Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)

Maven:
[x]: If package contains pom.xml files install it (including metadata) even
     when building with ant
[x]: POM files have correct Maven mapping
[x]: Maven packages should use new style packaging
[x]: Old add_to_maven_depmap macro is not being used
[x]: Packages DO NOT have Requires(post) and Requires(postun) on jpackage-
     utils for %update_maven_depmap macro
[x]: Package DOES NOT use %update_maven_depmap in %post/%postun
[-]: Packages use .mfiles file list instead of %{_datadir}/maven2/poms

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane
[-]: Fully versioned dependency in subpackages if applicable.
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[?]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass. Tests are run during build.
[?]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

Java:
[x]: Package uses upstream build method (ant/maven/etc.)
[x]: Packages are noarch unless they use JNI

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
jmc.src: W: spelling-error %description -l en_US profiler -> profile, profiles, profiled
jmc.src: W: invalid-license UPL
Error checking signature of jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc30.src.rpm: jmc-7.0.0-0.20181130hg1ddf3baa4e26.fc30.src.rpm: digests SIGNATURES NOT OK
jmc.src:18: E: hardcoded-library-path in %{_prefix}/lib/%{name}
1 packages and 0 specfiles checked; 1 errors, 2 warnings.

Note: Installation in /usr/lib/jmc is OK. It's not a hard-coded lib path in that sense.
      It follows eclipse convention.


Rpmlint (installed packages)
----------------------------
jmc.x86_64: W: spelling-error %description -l en_US profiler -> profile, profiles, profiled
jmc.x86_64: W: invalid-license UPL
jmc.x86_64: W: unstripped-binary-or-object /usr/lib/jmc/jmc
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/com.ibm.icu_59.1.0.jar /usr/share/java/icu4j/icu4j.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/com.sun.activation.jakarta.activation_1.2.1.jar /usr/share/java/jaf/jakarta.activation.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/com.sun.el.javax.el_3.0.0.jar /usr/share/java/glassfish-el.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/com.sun.mail.jakarta.mail_1.6.3.jar /usr/share/java/javamail/jakarta.mail.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/jakarta.activation-api_1.2.1.jar /usr/share/java/jaf/jakarta.activation-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/javax.annotation-api_1.2.0.jar /usr/share/java/glassfish-annotation-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/javax.el-api_3.0.0.jar /usr/share/java/glassfish-el-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/javax.inject_1.0.0.v20091030.jar /usr/share/java/atinject.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/javax.servlet-api_3.1.0.jar /usr/share/java/glassfish-servlet-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/javax.servlet.jsp_2.3.2.b01.jar /usr/share/java/glassfish-jsp-api/javax.servlet.jsp-api.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.batik.css_1.10.0.jar /usr/share/java/batik/batik-css.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.batik.util.gui_1.10.0.jar /usr/share/java/batik/batik-gui-util.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.batik.util_1.10.0.jar /usr/share/java/batik/batik-util.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.batik.xml_1.10.0.jar /usr/share/java/batik/batik-xml.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.commons.codec_1.11.0.jar /usr/share/java/commons-codec.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.commons.jxpath_1.3.0.jar /usr/share/java/apache-commons-jxpath.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.commons.logging_1.2.0.jar /usr/share/java/commons-logging.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.felix.gogo.command_1.0.2.jar /usr/share/java/felix-gogo-command/org.apache.felix.gogo.command.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.felix.gogo.runtime_1.0.4.jar /usr/share/java/felix/felix-gogo-runtime.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.felix.gogo.shell_1.0.0.jar /usr/share/java/felix-gogo-shell/org.apache.felix.gogo.shell.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.felix.scr_2.0.14.jar /usr/share/java/felix/org.apache.felix.scr.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.httpcomponents.httpclient_4.5.5.jar /usr/share/java/httpcomponents/httpclient.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.httpcomponents.httpcore_4.4.9.jar /usr/share/java/httpcomponents/httpcore.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.lucene.analyzers-common_6.1.0.jar /usr/share/java/lucene/lucene-analyzers-common.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.lucene.analyzers-smartcn_6.1.0.jar /usr/share/java/lucene/lucene-analyzers-smartcn.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.lucene.core_6.1.0.jar /usr/share/java/lucene/lucene-core.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.apache.lucene.misc_6.1.0.jar /usr/lib/java/lucene/lucene-misc.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.commands_3.9.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.commands_3.9.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.contenttype_3.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.contenttype_3.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.databinding.beans_1.4.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding.beans_1.4.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.databinding.observable_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding.observable_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.databinding.property_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding.property_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.databinding_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.databinding_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.expressions_3.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.expressions_3.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.filesystem_1.7.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.filesystem_1.7.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.jobs_3.9.3.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.jobs_3.9.3.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.net_1.3.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.net_1.3.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.resources_3.12.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.resources_3.12.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.core.runtime_3.13.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.core.runtime_3.13.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.core.commands_0.12.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.commands_0.12.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.core.contexts_1.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.contexts_1.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.core.di.annotations_1.6.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di.annotations_1.6.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.core.di.extensions.supplier_0.15.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di.extensions.supplier_0.15.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.core.di.extensions_0.15.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di.extensions_0.15.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.core.di_1.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.di_1.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.core.services_2.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.core.services_2.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.emf.xpath_0.2.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.emf.xpath_0.2.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.bindings_0.12.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.bindings_0.12.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.css.core_0.12.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.css.core_0.12.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.css.swt.theme_0.11.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.css.swt.theme_0.11.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.css.swt_0.13.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.css.swt_0.13.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.di_1.2.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.di_1.2.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.dialogs_1.1.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.dialogs_1.1.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.model.workbench_2.0.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.model.workbench_2.0.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.services_1.3.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.services_1.3.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.swt.gtk_1.0.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.swt.gtk_1.0.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.widgets_1.2.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.widgets_1.2.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.workbench.addons.swt_1.3.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench.addons.swt_1.3.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.workbench.renderers.swt_0.14.102.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench.renderers.swt_0.14.102.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.workbench.swt_0.14.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench.swt_0.14.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.workbench3_0.14.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench3_0.14.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.e4.ui.workbench_1.5.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.e4.ui.workbench_1.5.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf.filetransfer_5.0.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.filetransfer_5.0.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf.identity_3.8.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.identity_3.8.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl_1.1.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4.ssl_1.1.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4_1.1.200.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer.httpclient4_1.1.200.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer.ssl_1.0.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf.provider.filetransfer_3.2.300.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.provider.filetransfer_3.2.300.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf.ssl_1.2.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf.ssl_1.2.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ecf_3.8.0.v20170914-2232.jar /usr/lib/eclipse/plugins/org.eclipse.ecf_3.8.0.v20170914-2232.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.emf.common_2.13.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.common_2.13.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.emf.ecore.change_2.11.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.ecore.change_2.11.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.emf.ecore.xmi_2.13.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.ecore.xmi_2.13.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.emf.ecore_2.13.0.v20170615-0838.jar /usr/lib/eclipse/plugins/org.eclipse.emf.ecore_2.13.0.v20170615-0838.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.app_1.3.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.app_1.3.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.bidi_1.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.bidi_1.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.common_3.9.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.common_3.9.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.concurrent_1.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.concurrent_1.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.console_1.1.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.console_1.1.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.ds_1.5.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.ds_1.5.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.event_1.4.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.event_1.4.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.frameworkadmin.equinox_1.0.800.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.frameworkadmin.equinox_1.0.800.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.frameworkadmin_2.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.frameworkadmin_2.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.http.jetty_3.4.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.http.jetty_3.4.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.http.registry_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.http.registry_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.http.servlet_1.4.0.v20180409-1128.jar /usr/share/java/eclipse/equinox.http.servlet.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.jsp.jasper.registry_1.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.jsp.jasper.registry_1.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.jsp.jasper_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.jsp.jasper_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.artifact.repository_1.1.650.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.artifact.repository_1.1.650.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.console_1.0.600.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.console_1.0.600.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.core_2.4.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.core_2.4.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.director.app_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.director.app_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.director_2.3.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.director_2.3.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.directorywatcher_1.1.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.directorywatcher_1.1.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.engine_2.5.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.engine_2.5.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.extensionlocation_1.2.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.extensionlocation_1.2.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.garbagecollector_1.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.garbagecollector_1.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.jarprocessor_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.metadata.repository_1.2.401.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.metadata.repository_1.2.401.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.metadata_2.3.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.metadata_2.3.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.operations_2.4.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.operations_2.4.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.publisher.eclipse_1.2.201.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.publisher.eclipse_1.2.201.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.publisher_1.4.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.publisher_1.4.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.reconciler.dropins_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.reconciler.dropins_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.repository_2.3.301.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.repository_2.3.301.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_2.1.501.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.touchpoint.eclipse_2.1.501.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.touchpoint.natives_1.2.200.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.touchpoint.natives_1.2.200.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.transport.ecf_1.1.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.transport.ecf_1.1.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.ui.sdk.scheduler_1.3.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.ui.sdk.scheduler_1.3.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.ui.sdk_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.ui.sdk_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.ui_2.5.2.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.ui_2.5.2.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.p2.updatechecker_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.p2.updatechecker_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.preferences_3.7.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.preferences_3.7.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.registry_3.7.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.registry_3.7.0.v20180409-1128.jar
jmc.x86_64: W: hidden-file-or-dir /usr/lib/jmc/plugins/org.eclipse.equinox.security.linux.x86_64_1.0.100.v20180409-1128/.api_description
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.security.ui_1.1.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.security.ui_1.1.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.security_1.2.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.security_1.2.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_2.0.300.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_2.0.300.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.simpleconfigurator_1.2.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.simpleconfigurator_1.2.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.equinox.util_1.0.500.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.equinox.util_1.0.500.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.help.base_4.2.153.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help.base_4.2.153.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.help.ui_4.1.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help.ui_4.1.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.help.webapp_3.9.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help.webapp_3.9.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.help_3.8.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.help_3.8.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jdt.core.compiler.batch_3.13.102.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jdt.core.compiler.batch_3.13.102.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jetty.continuation_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-continuation.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jetty.http_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-http.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jetty.io_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-io.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jetty.security_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-security.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jetty.server_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-server.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jetty.servlet_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-servlet.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jetty.util_9.4.11.v20180605.jar /usr/share/java/jetty/jetty-util.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jface.databinding_1.8.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jface.databinding_1.8.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jface.text_3.12.2.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jface.text_3.12.2.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.jface_3.13.2.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.jface_3.13.2.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.osgi.compatibility.state_1.1.0.v20180409-1128.jar /usr/share/java/eclipse/osgi.compatibility.state.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.osgi.services_3.6.0.v20180409-1128.jar /usr/share/java/eclipse/osgi.services.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.osgi.util_3.4.0.v20180409-1128.jar /usr/share/java/eclipse/osgi.util.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.osgi_3.12.100.v20180409-1128.jar /usr/share/java/eclipse/osgi.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.rcp_4.7.3.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.rcp_4.7.3.v20180409-1128.jar
jmc.x86_64: W: hidden-file-or-dir /usr/lib/jmc/plugins/org.eclipse.swt.gtk.linux.x86_64_3.106.3.v20180409-1128/.api_description
jmc.x86_64: E: incorrect-fsf-address /usr/lib/jmc/plugins/org.eclipse.swt.gtk.linux.x86_64_3.106.3.v20180409-1128/about_files/lgpl-v21.txt
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.swt_3.106.3.v20180409-1128.jar /usr/lib/java/swt.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.text_3.6.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.text_3.6.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ui.forms_3.7.101.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.forms_3.7.101.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ui.intro_3.5.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.intro_3.5.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ui.net_1.3.100.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.net_1.3.100.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ui.views_3.9.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.views_3.9.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ui.workbench_3.110.1.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui.workbench_3.110.1.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.ui_3.109.0.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.ui_3.109.0.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.eclipse.update.configurator_3.3.400.v20180409-1128.jar /usr/lib/eclipse/plugins/org.eclipse.update.configurator_3.3.400.v20180409-1128.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.glassfish.web.javax.servlet.jsp_2.3.3.b02.jar /usr/share/java/glassfish-jsp/javax.servlet.jsp.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.kxml2_2.3.0.jar /usr/share/java/kxml/kxml2.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.openjdk.jmc.common_7.0.0.qualifier.jar /usr/share/java/jmc-core/common.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.openjdk.jmc.flightrecorder.rules.jdk_7.0.0.qualifier.jar /usr/share/java/jmc-core/flightrecorder.rules.jdk.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.openjdk.jmc.flightrecorder.rules_7.0.0.qualifier.jar /usr/share/java/jmc-core/flightrecorder.rules.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.openjdk.jmc.flightrecorder_7.0.0.qualifier.jar /usr/share/java/jmc-core/flightrecorder.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.owasp.encoder_1.2.2.jar /usr/share/java/owasp-java-encoder/encoder.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.sat4j.core_2.3.5.v20130405.jar /usr/share/java/org.sat4j.core.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.sat4j.pb_2.3.5.v20130405.jar /usr/share/java/org.sat4j.pb.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.tukaani.xz_1.8.0.jar /usr/share/java/xz-java.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.w3c.css.sac_1.3.0.v200805290154.jar /usr/share/java/sac.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.w3c.dom.svg_1.1.0.v200806040011.jar /usr/share/java/xml-commons-apis-ext.jar
jmc.x86_64: W: dangling-symlink /usr/lib/jmc/plugins/org.xmlpull_1.1.4.jar /usr/share/java/xpp3.jar
1 packages and 0 specfiles checked; 1 errors, 166 warnings.


Note: Dangling symlinks should be OK for the final package. It's to do with links to RPM
      dependencies. When they're installed they are no longer dangling.
      Not stripping the jmc launcher binary is OK in this case as stripping them causes
      build failures due to missing debug source files.


Requires
--------
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
osgi(com.sun.activation.jakarta.activation)
osgi(jakarta.mail.api)
osgi(javax.annotation-api)
osgi(javax.inject)
osgi(org.eclipse.core.expressions)
osgi(org.eclipse.core.runtime)
osgi(org.eclipse.e4.core.contexts)
osgi(org.eclipse.e4.core.di)
osgi(org.eclipse.equinox.p2.core)
osgi(org.eclipse.equinox.p2.metadata)
osgi(org.eclipse.equinox.p2.operations)
osgi(org.eclipse.equinox.p2.repository)
osgi(org.eclipse.equinox.p2.ui)
osgi(org.eclipse.equinox.p2.ui.sdk.scheduler)
osgi(org.eclipse.equinox.p2.updatechecker)
osgi(org.eclipse.help)
osgi(org.eclipse.swt)
osgi(org.eclipse.ui)
osgi(org.eclipse.ui.forms)
osgi(org.eclipse.ui.intro)
osgi(org.eclipse.ui.views)
osgi(org.openjdk.jmc.alert) = 7.0.0
osgi(org.openjdk.jmc.attach) = 7.0.0
osgi(org.openjdk.jmc.browser.attach) = 7.0.0
osgi(org.openjdk.jmc.commands) = 7.0.0
osgi(org.openjdk.jmc.common)
osgi(org.openjdk.jmc.common)
osgi(org.openjdk.jmc.console.ui) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder)
osgi(org.openjdk.jmc.flightrecorder.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.rules)
osgi(org.openjdk.jmc.flightrecorder.rules.jdk)
osgi(org.openjdk.jmc.flightrecorder.ui) = 7.0.0
osgi(org.openjdk.jmc.greychart) = 7.0.0
osgi(org.openjdk.jmc.greychart.ui) = 7.0.0
osgi(org.openjdk.jmc.jdp) = 7.0.0
osgi(org.openjdk.jmc.rcp.application) = 7.0.0
osgi(org.openjdk.jmc.rjmx) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ui) = 7.0.0
osgi(org.openjdk.jmc.ui) = 7.0.0
osgi(org.openjdk.jmc.ui.common) = 7.0.0
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rtld(GNU_HASH)


Provides
--------
application()
application(jmc.desktop)
config(jmc) = 7.0.0-0.20181130hg1ddf3baa4e26.fc28
jmc = 7.0.0-0.20181130hg1ddf3baa4e26.fc28
jmc(x86-64) = 7.0.0-0.20181130hg1ddf3baa4e26.fc28
osgi(org.openjdk.jmc.alert) = 7.0.0
osgi(org.openjdk.jmc.attach) = 7.0.0
osgi(org.openjdk.jmc.browser) = 7.0.0
osgi(org.openjdk.jmc.browser.attach) = 7.0.0
osgi(org.openjdk.jmc.browser.jdp) = 7.0.0
osgi(org.openjdk.jmc.commands) = 7.0.0
osgi(org.openjdk.jmc.console.persistence) = 7.0.0
osgi(org.openjdk.jmc.console.ui) = 7.0.0
osgi(org.openjdk.jmc.console.ui.diagnostic) = 7.0.0
osgi(org.openjdk.jmc.console.ui.mbeanbrowser) = 7.0.0
osgi(org.openjdk.jmc.console.ui.notification) = 7.0.0
osgi(org.openjdk.jmc.docs) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.controlpanel.ui.configuration) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.rules.extensionprovider) = 7.0.0
osgi(org.openjdk.jmc.flightrecorder.ui) = 7.0.0
osgi(org.openjdk.jmc.greychart) = 7.0.0
osgi(org.openjdk.jmc.greychart.ui) = 7.0.0
osgi(org.openjdk.jmc.jdp) = 7.0.0
osgi(org.openjdk.jmc.osgi.extension) = 7.0.0
osgi(org.openjdk.jmc.rcp.application) = 7.0.0
osgi(org.openjdk.jmc.rcp.intro) = 7.0.0
osgi(org.openjdk.jmc.rjmx) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ext) = 7.0.0
osgi(org.openjdk.jmc.rjmx.services.jfr) = 7.0.0
osgi(org.openjdk.jmc.rjmx.ui) = 7.0.0
osgi(org.openjdk.jmc.ui) = 7.0.0
osgi(org.openjdk.jmc.ui.common) = 7.0.0

Comment 24 Severin Gehwolf 2018-12-13 13:42:03 UTC
This looks OK to me. Remaining issues are polish work which can be fixed after repo-creation.

Comment 25 Severin Gehwolf 2018-12-13 13:47:27 UTC
Remaining nits:
- Symlinks of SWT ant some dir-shaped-bundles
- Man page (perhaps use /etc/jmc.ini now?). It's JMC_DIR/jmc.ini now
- Trigger uses non-installed symlink script

Suggested ppec file clean-up:

# bash generate_jmc_tarball.sh
Source0:    https://hg.openjdk.java.net/jmc/jmc/archive/%{hgrevhash}.tar.gz

=> Remove comment related to generate_jmc_tarball.sh

Thanks! Nice work!

Comment 26 Severin Gehwolf 2018-12-13 13:53:05 UTC
I don't seem to be able to type today :-/

(In reply to Severin Gehwolf from comment #25)
> - Symlinks of SWT ant some dir-shaped-bundles

s/ant/and/

> Suggested ppec file clean-up:

s/ppec/spec/

Comment 27 Severin Gehwolf 2018-12-14 16:12:43 UTC
Re-set fedora-review+ (unintentionally unset)

Comment 28 Gwyn Ciesla 2018-12-14 17:31:29 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/jmc


Note You need to log in before you can comment on or make changes to this bug.