From c315204a2604a4d044e6841eece980ecbf0ec5e7 Mon Sep 17 00:00:00 2001
From: Salman Siddiqui <sasiddiq@redhat.com>
Date: Nov 13 2018 16:46:26 +0000
Subject: cleanup spec files and resolve rpmlint issues


---

diff --git a/dd-plist/dd-plist.spec b/dd-plist/dd-plist.spec
index 10d7354..da9d6eb 100644
--- a/dd-plist/dd-plist.spec
+++ b/dd-plist/dd-plist.spec
@@ -1,13 +1,15 @@
 Name:       dd-plist
 Version:    1.21
 Release:    1%{?dist}
-Summary:    A java library providing support for ASCII, XML and binary property lists.
+Summary:    A java library providing support for ASCII, XML and binary property lists
 
 License:    MIT
 URL:        https://github.com/3breadt/dd-plist
 
 Source0:    https://github.com/3breadt/dd-plist/archive/dd-plist-1.21.tar.gz
 
+BuildArch:  noarch
+
 BuildRequires:  javapackages-tools
 BuildRequires:  maven-assembly-plugin
 BuildRequires:  maven-local
@@ -16,13 +18,12 @@ BuildRequires:  sonatype-oss-parent
 
 Requires:   java-openjdk
 
-Provides:   dd-plist = %{version}
-
 %description
 This library enables your Java application to handle property lists of various
 formats. Property lists are files used to store user settings and serialized
 objects. They originate from the NeXSTEP programming environment and are now a
-basic part of the Cocoa framework (OS X and iOS) as well as the GNUstep framework.
+basic part of the Cocoa framework (OS X and iOS) as well as the GNUstep 
+framework.
 
 %global debug_package %{nil}
 
@@ -39,10 +40,10 @@ basic part of the Cocoa framework (OS X and iOS) as well as the GNUstep framewor
 %mvn_install
 
 %files
-/usr/share/java/%{name}
-/usr/share/javadoc/%{name}
-/usr/share/maven-poms/%{name}
-/usr/share/maven-metadata/%{name}.xml
+%{_javadir}/%{name}
+%{_javadocdir}/%{name}
+%{_datadir}/maven-poms/%{name}
+%{_datadir}/maven-metadata/%{name}.xml
 
 %changelog
 * Wed Oct 17 2018 Jie Kang <jkang@redhat.com> - 1.21-1
diff --git a/directory-maven-plugin/directory-maven-plugin.spec b/directory-maven-plugin/directory-maven-plugin.spec
index c46e70f..ac71bd0 100644
--- a/directory-maven-plugin/directory-maven-plugin.spec
+++ b/directory-maven-plugin/directory-maven-plugin.spec
@@ -1,13 +1,15 @@
 Name:       directory-maven-plugin
 Version:    0.3.1
 Release:    1%{?dist}
-Summary:    The directory-maven-plugin helps establish locations for files in multimodule builds, where the directory structure referenced is stable and will always be intact.
+Summary:    Establish locations for files in multi-module builds
 
-License:    Apache-2.0
+License:    ASL-2.0
 URL:        https://github.com/jdcasey/directory-maven-plugin
 
 Source0:    https://github.com/jdcasey/directory-maven-plugin/archive/directory-maven-plugin-0.3.1.tar.gz
 
+BuildArch:  noarch
+
 BuildRequires:  javapackages-tools
 BuildRequires:  maven-local
 BuildRequires:  maven-parent
@@ -17,16 +19,14 @@ BuildRequires:  sonatype-oss-parent
 
 Requires:   java-openjdk
 
-Provides:   directory-maven-plugin = %{version}
-
 %description
-The Directory Plugin for Maven is used to discover various project-related paths,
-such as the execution root directory, the directory for a specific project in the
-current build session, or the highest project basedir (closed to the filesystem
-root directory) available in the projects loaded from disk (not resolved from a
-remote repository). The plugin will then reflect this value to the console, and
-also inject it into each project's properties using the value of the property
-plugin parameter.
+The Directory Plugin for Maven is used to discover various project-related 
+paths, such as the execution root directory, the directory for a specific 
+project in the current build session, or the highest project base directory 
+(closest to the filesystem root directory) available in the projects loaded 
+from disk (not resolved from a remote repository). The plugin will then reflect
+this value to the console, and also inject it into each project's properties 
+using the value of the property plugin parameter.
 
 %global debug_package %{nil}
 
@@ -40,10 +40,10 @@ plugin parameter.
 %mvn_install
 
 %files
-/usr/share/java/%{name}
-/usr/share/javadoc/%{name}
-/usr/share/maven-poms/%{name}
-/usr/share/maven-metadata/%{name}.xml
+%{_javadir}/%{name}
+%{_javadocdir}/%{name}
+%{_datadir}/maven-poms/%{name}
+%{_datadir}/maven-metadata/%{name}.xml
 
 %changelog
 * Mon Oct 15 2018 Jie Kang <jkang@redhat.com> - 0.3.1-1
diff --git a/ee4j/ee4j.spec b/ee4j/ee4j.spec
index 7718111..0a315aa 100644
--- a/ee4j/ee4j.spec
+++ b/ee4j/ee4j.spec
@@ -1,9 +1,9 @@
 Name:		ee4j
 Version:	1.0.1
 Release:	1%{?dist}
-Summary:	Parent POM file for Eclipse EE4J projects
+Summary:	Parent POM file for Eclipse Enterprise for Java projects
 
-License:	EPL 2.0
+License:	EPL-2.0
 URL:		https://github.com/eclipse-ee4j/ee4j
 
 Source0:	https://github.com/eclipse-ee4j/ee4j/archive/1.0.1.tar.gz
@@ -13,9 +13,10 @@ BuildArch:	noarch
 BuildRequires:	maven-local
 
 %description
-Eclipse Enterprise for Java (EE4J) is an open source initiative to create standard APIs,
-implementations of those APIs, and technology compatibility kits for Java runtimes
-that enable development, deployment, and management of server-side and cloud-native applications.
+Eclipse Enterprise for Java (EE4J) is an open source initiative to create 
+standard APIs, implementations of those APIs, and technology compatibility kits
+for Java run-times that enable development, deployment, and management of 
+server-side and cloud-native applications.
 
 %prep
 %autosetup -n ee4j-1.0.1
diff --git a/fix-info-plist-maven-plugin/fix-info-plist-maven-plugin.spec b/fix-info-plist-maven-plugin/fix-info-plist-maven-plugin.spec
index a6ea4fb..ba8e25e 100644
--- a/fix-info-plist-maven-plugin/fix-info-plist-maven-plugin.spec
+++ b/fix-info-plist-maven-plugin/fix-info-plist-maven-plugin.spec
@@ -1,13 +1,15 @@
 Name:       fix-info-plist-maven-plugin
 Version:    1.2
 Release:    1%{?dist}
-Summary:    Small Maven plugin to "fix" the Info.plist file generated by p2 during a Tycho product build
+Summary:    Fix Info.plist file generated by p2-maven-plugin during Tycho build
 
 License:    EPL-1.0
 URL:        https://github.com/buchen/fix-info-plist-maven-plugin
 
 Source0:    https://github.com/buchen/fix-info-plist-maven-plugin/archive/1.2.tar.gz
 
+BuildArch:  noarch
+
 Patch0: 0_update_ddp_version.patch
 
 BuildRequires:  dd-plist
@@ -18,8 +20,6 @@ BuildRequires:  xz-devel
 
 Requires:   java-openjdk
 
-Provides:   fix-info-plist-maven-plugin = %{version}
-
 %description
 Small Maven plugin to "fix" the Info.plist file generated by p2 during a Tycho
 product build. This Maven plugin manipulates the Info.plist between the
@@ -40,10 +40,10 @@ plugin to provide a custom Info.plist file for Eclipse RCP product.
 %mvn_install
 
 %files
-/usr/share/java/%{name}
-/usr/share/javadoc/%{name}
-/usr/share/maven-poms/%{name}
-/usr/share/maven-metadata/%{name}.xml
+%{_javadir}/%{name}
+%{_javadocdir}/%{name}
+%{_datadir}/maven-poms/%{name}
+%{_datadir}/maven-metadata/%{name}.xml
 
 %changelog
 * Tue Oct 16 2018 Jie Kang <jkang@redhat.com> - 1.2-1
diff --git a/jaf/jaf.spec b/jaf/jaf.spec
index 9dc3d83..c343b87 100644
--- a/jaf/jaf.spec
+++ b/jaf/jaf.spec
@@ -60,10 +60,10 @@ cp -r %{_builddir}/%{tarball_name}/activationapi/META-INF %{_builddir}/%{tarball
 %license LICENSE.md
 %license NOTICE.md
 %doc README.md
-/usr/share/java/%{name}
-/usr/share/javadoc/%{name}
-/usr/share/maven-poms/%{name}
-/usr/share/maven-metadata/%{name}.xml
+%{_javadir}/%{name}
+%{_javadocdir}/%{name}
+%{_datadir}/maven-poms/%{name}
+%{_datadir}/maven-metadata/%{name}.xml
 
 %changelog
 * Fri Sep 21 2018 Salman Siddiqui <sasiddiq@redhat.com> - 1.2.1-1
diff --git a/javamail/javamail.spec b/javamail/javamail.spec
index b77ce09..e80f3eb 100644
--- a/javamail/javamail.spec
+++ b/javamail/javamail.spec
@@ -1,42 +1,42 @@
-Name:		javamail
-Version:	1.6.3
-Release:	1%{?dist}
-Summary:	Platform-independent and protocol-independent framework for mail applications
+Name:     javamail
+Version:  1.6.3
+Release:  1%{?dist}
+Summary:  Platform-independent and protocol-independent framework for mail applications
 
-License:	EPL-2.0 or GPLv2 with exceptions
-URL:		https://github.com/eclipse-ee4j/javamail
+License:  EPL-2.0 or GPLv2 with exceptions
+URL:      https://github.com/eclipse-ee4j/javamail
 
 # original source: https://github.com/eclipse-ee4j/javamail/archive/initial-contribution.tar.gz
-Source0:	javamail-1.6.3.tar.gz
-
-Patch0:		0_ignore_broken_tests.patch
-Patch1:		1_dont_publish.patch
-Patch2:		2_module_info.patch
-Patch3:		3_remove_javadoc_aggregate.patch
-Patch5:		4_jar_for_webapp.patch
-Patch6:		5_servlet_module.patch
-
-BuildArch:	noarch
-
-BuildRequires:	ee4j
-BuildRequires:	jboss-jsp-2.2-api
-BuildRequires:	glassfish-hk2-maven-plugins
-BuildRequires:	glassfish-servlet-api
-BuildRequires:	maven-dependency-plugin
-BuildRequires:	maven-enforcer-plugin
-BuildRequires:	maven-local
-BuildRequires:	maven-plugin-build-helper
-BuildRequires:	maven-plugin-bundle
-BuildRequires:	maven-javadoc-plugin
-BuildRequires:	maven-source-plugin
-
-Requires:	java-openjdk
-
-Provides:	osgi(javax.mail.dsn) = %{version}
-Provides:	osgi(javax.mail.gimap) = %{version}
-Provides:	osgi(javax.mail.imap) = %{version}
-Provides:	osgi(javax.mail.pop3) = %{version}
-Provides:	osgi(javax.mail.smtp) = %{version}
+Source0:  javamail-1.6.3.tar.gz
+
+Patch0:   0_ignore_broken_tests.patch
+Patch1:   1_dont_publish.patch
+Patch2:   2_module_info.patch
+Patch3:   3_remove_javadoc_aggregate.patch
+Patch5:   4_jar_for_webapp.patch
+Patch6:   5_servlet_module.patch
+
+BuildArch:  noarch
+
+BuildRequires:  ee4j
+BuildRequires:  jboss-jsp-2.2-api
+BuildRequires:  glassfish-hk2-maven-plugins
+BuildRequires:  glassfish-servlet-api
+BuildRequires:  maven-dependency-plugin
+BuildRequires:  maven-enforcer-plugin
+BuildRequires:  maven-local
+BuildRequires:  maven-plugin-build-helper
+BuildRequires:  maven-plugin-bundle
+BuildRequires:  maven-javadoc-plugin
+BuildRequires:  maven-source-plugin
+
+Requires: java-openjdk
+
+Provides: osgi(javax.mail.dsn) = %{version}
+Provides: osgi(javax.mail.gimap) = %{version}
+Provides: osgi(javax.mail.imap) = %{version}
+Provides: osgi(javax.mail.pop3) = %{version}
+Provides: osgi(javax.mail.smtp) = %{version}
 
 %description
 The JavaMail API provides a platform-independent and protocol-independent
@@ -91,10 +91,10 @@ ln -sf ../%{name}/javax.mail.jar %{buildroot}%{_javadir}/javax.mail/
 %license LICENSE.md
 %doc README.md
 /usr/lib/java/%{name}
-/usr/share/java/%{name}
-/usr/share/maven-poms/%{name}
-/usr/share/maven-metadata/%{name}.xml
+%{_javadir}/%{name}
 %{_javadir}/javax.mail/
+%{_datadir}/maven-poms/%{name}
+%{_datadir}/maven-metadata/%{name}.xml
 
 %changelog
 * Tue Oct 16 2018 Salman Siddiqui <sasiddiq@redhat.com> - 1.6.3-1
diff --git a/jmc-core/jmc-core.spec b/jmc-core/jmc-core.spec
index 24d86b8..59aecf6 100644
--- a/jmc-core/jmc-core.spec
+++ b/jmc-core/jmc-core.spec
@@ -9,13 +9,13 @@ URL:		http://openjdk.java.net/projects/jmc/
 # original source: http://hg.openjdk.java.net/jmc/jmc/archive/tip.tar.gz
 Source0:	jmc-core-7.0.0.tar.gz
 
+BuildArch:  noarch
+
 BuildRequires:	maven-local
 BuildRequires:	owasp-java-encoder
 
 Requires:	java-openjdk
 
-Provides:	jmc-core = %{version}
-
 %description
 Java Mission Control is an advanced set of tools that enables efficient and 
 detailed analysis of the extensive data collected by Java Flight Recorder. 
diff --git a/jmc/jmc.desktop b/jmc/jmc.desktop
index 297d77f..3049f79 100644
--- a/jmc/jmc.desktop
+++ b/jmc/jmc.desktop
@@ -2,8 +2,7 @@
 Name=Java Mission Control
 Comment=Analyze performance of Java applications
 Exec=jmc
-Path=/usr/share/jmc/
 Icon=jmc
 Terminal=false
 Type=Application
-Categories=Development;Profiling;Java;
\ No newline at end of file
+Categories=Development;Java;Profiling;
\ No newline at end of file
diff --git a/jmc/jmc.spec b/jmc/jmc.spec
index cce66cc..d114394 100644
--- a/jmc/jmc.spec
+++ b/jmc/jmc.spec
@@ -61,7 +61,7 @@ applications running locally or deployed in production environments.
 
 %global debug_package %{nil}
 
-%global _jmcdir %{_datadir}/%{name}
+%global _jmcdir %{_libdir}/%{name}
 
 %prep
 %setup -q
@@ -89,15 +89,15 @@ applications running locally or deployed in production environments.
 %install
 
 # change jmc.ini to use system java (remove -vm option line)
-sed -i '/^-vm$/d' %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/linux/gtk/x86_64/jmc.ini
-sed -i '/^..\/..\/bin\/$/d' %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/linux/gtk/x86_64/jmc.ini
+sed -i '/^-vm$/d' %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/%{_os}/gtk/%{_arch}/%{name}.ini
+sed -i '/^..\/..\/bin\/$/d' %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/%{_os}/gtk/%{_arch}/%{name}.ini
 
 # delete unnecessary files
-rm -r %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/linux/gtk/x86_64/p2/
+rm -r %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/%{_os}/gtk/%{_arch}/p2/
 
 # move contents of target/products/org.openjdk.jmc/linux/gtk/x86_64/ to /usr/lib/jmc/
 install -d -m 755 %{buildroot}%{_jmcdir}/
-cp -p -r %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/linux/gtk/x86_64/* %{buildroot}%{_jmcdir}/
+cp -p -r %{_builddir}/%{name}-%{version}/target/products/org.openjdk.jmc/%{_os}/gtk/%{_arch}/* %{buildroot}%{_jmcdir}/
 
 # create symlink to jmc in /usr/bin/
 install -d -m 755 %{buildroot}%{_bindir}
@@ -106,6 +106,7 @@ ln -s %{_jmcdir}/%{name} %{buildroot}%{_bindir}/%{name}
 # create application launcher in desktop menu
 install -d -m 755 %{buildroot}%{_datadir}/pixmaps
 mv %{buildroot}%{_jmcdir}/icon.xpm %{buildroot}%{_datadir}/pixmaps/%{name}.xpm
+chmod 644 %{buildroot}%{_datadir}/pixmaps/%{name}.xpm
 desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
 
 # install pom file
@@ -122,7 +123,7 @@ install -p -m 644 %{SOURCE2} %{buildroot}%{_mandir}/man1/%{name}.1
 %license license/THIRDPARTYREADME.txt
 %doc README.md
 %{_jmcdir}
-%{_mandir}
+%{_mandir}/man1/%{name}.1*
 %{_bindir}/%{name}
 %{_datadir}/maven-poms/%{name}
 %{_datadir}/pixmaps/%{name}.xpm

