diff --git a/.gitignore b/.gitignore index 7c3b1c9..018fd3b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ SOURCES/javapackages-3.4.1.tar.xz +/5.3.0.tar.gz diff --git a/0001-Support-absolute-symlinks-in-SCLs-in-mvn_file-rhbz-1.patch b/0001-Support-absolute-symlinks-in-SCLs-in-mvn_file-rhbz-1.patch deleted file mode 100644 index 107ee22..0000000 --- a/0001-Support-absolute-symlinks-in-SCLs-in-mvn_file-rhbz-1.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 6405dfa42ff8d12fb6f810041aa89243f6ae7433 Mon Sep 17 00:00:00 2001 -From: Stanislav Ochotnicky -Date: Wed, 4 Dec 2013 17:47:06 +0100 -Subject: [PATCH 1/3] Support absolute symlinks in SCLs in mvn_file - (rhbz#1038553) - ---- - java-utils/mvn_file.py | 11 +++++------ - python/javapackages/xmvn_config.py | 10 ++++++---- - test/data/mvn_file/absolute1_00001.xml | 3 ++- - test/mvn_file_test.py | 27 +++++---------------------- - 4 files changed, 18 insertions(+), 33 deletions(-) - -diff --git a/java-utils/mvn_file.py b/java-utils/mvn_file.py -index e059129..c59ed6c 100644 ---- a/java-utils/mvn_file.py -+++ b/java-utils/mvn_file.py -@@ -35,7 +35,7 @@ import sys - - from javapackages.artifact import (Artifact, ArtifactFormatException, - ArtifactValidationException) --from javapackages.xmvn_config import XMvnConfig -+from javapackages.xmvn_config import XMvnConfig, XMvnConfigException - - class SaneParser(optparse.OptionParser): - def format_epilog(self, formatter): -@@ -61,10 +61,6 @@ commons-lang:commons-lang:war:test-jar:3.1 - if __name__ == "__main__": - parser = SaneParser(usage=usage, - epilog=epilog) -- parser.add_option("-p", "--prefix", -- help="Set prefix for converting absolute paths to "+ -- "relative", -- default="/usr/share/java") - for index, arg in enumerate(sys.argv): - sys.argv[index] = arg.decode(sys.getfilesystemencoding()) - -@@ -75,8 +71,11 @@ if __name__ == "__main__": - try: - orig = Artifact.from_mvn_str(args[0]) - orig.validate(allow_backref=False) -- XMvnConfig().add_file_mapping(orig, args[1:], options.prefix) -+ XMvnConfig().add_file_mapping(orig, args[1:]) - except (ArtifactValidationException, ArtifactFormatException), e: - parser.error("{e}: Provided artifact strings were invalid. " - "Please see help and check your arguments".format(e=e)) - sys.exit(1) -+ except XMvnConfigException, e: -+ parser.error("Incorrect configuration: {e}".format(e=e)) -+ sys.exit(1) -diff --git a/python/javapackages/xmvn_config.py b/python/javapackages/xmvn_config.py -index 838bde9..da22f0b 100644 ---- a/python/javapackages/xmvn_config.py -+++ b/python/javapackages/xmvn_config.py -@@ -43,6 +43,9 @@ from lxml.etree import ElementTree, Element, SubElement - - from javapackages.artifact import ArtifactValidationException - -+class XMvnConfigException(Exception): -+ pass -+ - class XMvnConfig(object): - """ - Class for modifying XMvn configuration -@@ -205,7 +208,7 @@ class XMvnConfig(object): - elems.append(velem) - self.__add_config("artifactManagement", "rule", content=elems) - -- def add_file_mapping(self, artifact, paths, prefix="/"): -+ def add_file_mapping(self, artifact, paths): - """ - Change where on filesystem given artifact is installed - -@@ -217,6 +220,8 @@ class XMvnConfig(object): - main = artifact.get_xml_element(root="artifactGlob") - elems = [main] - felem = Element("files") -+ if not [path for path in paths if not os.path.isabs(path)]: -+ raise XMvnConfigException("At least one path must be relative") - for path in paths: - backrefs = self.__count_backreferences(path) - if backrefs > wild_groups: -@@ -224,9 +229,6 @@ class XMvnConfig(object): - "is higher than wildcard " - "groups.") - pe = SubElement(felem, "file") -- -- if os.path.isabs(path): -- path = os.path.relpath(path, prefix) - pe.text = path - elems.append(felem) - self.__add_config("artifactManagement", "rule", content=elems) -diff --git a/test/data/mvn_file/absolute1_00001.xml b/test/data/mvn_file/absolute1_00001.xml -index 82aeba1..2a56449 100644 ---- a/test/data/mvn_file/absolute1_00001.xml -+++ b/test/data/mvn_file/absolute1_00001.xml -@@ -11,7 +11,8 @@ - a - - -- sym -+ file -+ /usr/share/java/sym - - - -diff --git a/test/mvn_file_test.py b/test/mvn_file_test.py -index 09a2648..4792497 100644 ---- a/test/mvn_file_test.py -+++ b/test/mvn_file_test.py -@@ -234,7 +234,7 @@ class TestMvnFile(unittest.TestCase): - ['artifactGlob']) - self.assertFalse(report, '\n' + report) - -- @xmvnconfig('mvn_file',['a:b', '/usr/share/java/sym', ]) -+ @xmvnconfig('mvn_file',['a:b', 'file', '/usr/share/java/sym']) - def test_absolute1(self, stdout, stderr, return_value): - self.assertEquals(return_value, 0) - filelist = get_config_file_list() -@@ -245,27 +245,10 @@ class TestMvnFile(unittest.TestCase): - ['artifactGlob']) - self.assertFalse(report, '\n' + report) - -- @xmvnconfig('mvn_file',['-p', '/usr/share/', 'a:b', '/usr/share/sym', ]) -- def test_prefix1(self, stdout, stderr, return_value): -- self.assertEquals(return_value, 0) -- filelist = get_config_file_list() -- self.assertEquals(len(filelist), 1) -- for filename in filelist: -- report = compare_xml_files(get_actual_config(filename), -- get_expected_config(filename, 'mvn_file', 'prefix1'), -- ['artifactGlob']) -- self.assertFalse(report, '\n' + report) -- -- @xmvnconfig('mvn_file',['-p', '/usr', 'a:b', '/usr/share/sym', ]) -- def test_prefix2(self, stdout, stderr, return_value): -- self.assertEquals(return_value, 0) -- filelist = get_config_file_list() -- self.assertEquals(len(filelist), 1) -- for filename in filelist: -- report = compare_xml_files(get_actual_config(filename), -- get_expected_config(filename, 'mvn_file', 'prefix2'), -- ['artifactGlob']) -- self.assertFalse(report, '\n' + report) -+ @xmvnconfig('mvn_file',['a:b', '/usr/share/java/sym', ]) -+ def test_absolute2(self, stdout, stderr, return_value): -+ self.assertNotEqual(return_value, 0) -+ self.assertTrue(stderr) - - if __name__ == '__main__': - unittest.main() --- -1.9.0 - diff --git a/0002-macros-Fix-add_maven_depmap-for-SCL-usage.patch b/0002-macros-Fix-add_maven_depmap-for-SCL-usage.patch deleted file mode 100644 index 51a185e..0000000 --- a/0002-macros-Fix-add_maven_depmap-for-SCL-usage.patch +++ /dev/null @@ -1,38 +0,0 @@ -From cf8978c21d0a6f0bf9a00983f123597c8bb331b6 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 12 Feb 2014 18:24:13 +0100 -Subject: [PATCH 2/3] [macros] Fix add_maven_depmap for SCL usage - -Use %{pkg_name} when calling without arguments -Let's make sure we install fragment file without prefix ---- - etc/macros.fjava | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/etc/macros.fjava b/etc/macros.fjava -index bdfd624..e2a41e6 100644 ---- a/etc/macros.fjava -+++ b/etc/macros.fjava -@@ -52,8 +52,8 @@ - set -e \ - # default values \ - %if %# == 0 \ -- _pompart="JPP-%{name}.pom" \ -- _jarpart="%{name}.jar" \ -+ _pompart="JPP-%{?scl:%{pkg_name}}%{!?scl:%{name}}.pom" \ -+ _jarpart="%{?scl:%{pkg_name}}%{!?scl:%{name}}.jar" \ - %else \ - _pompart="%1" \ - _jarpart="%2" \ -@@ -67,7 +67,7 @@ for _dir in %{_jnidir} %{_javajnidir} %{_javadir}; do \ - done \ - python -m %{javadir}-utils/maven_depmap %{-a} %{-v*:-r %{-v*}} \\\ - -p "%{_prefix}" -n "%{?scl}" \\\ -- %{buildroot}%{_mavendepmapfragdir}/%{name}%{-f*:-%{-f*}} \\\ -+ %{buildroot}%{_mavendepmapfragdir}/%{?scl:%{pkg_name}}%{!?scl:%{name}}%{-f*:-%{-f*}} \\\ - %{buildroot}%{_mavenpomdir}/$_pompart \\\ - %if %# == 2 \ - "${_jpath}" \\\ --- -1.9.0 - diff --git a/0003-macros-Fix-xmvn-install-for-SCL-usage.patch b/0003-macros-Fix-xmvn-install-for-SCL-usage.patch deleted file mode 100644 index 0a8cd69..0000000 --- a/0003-macros-Fix-xmvn-install-for-SCL-usage.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8c19c2aeaf637d39ade97c6b644ca174b3a8a8d0 Mon Sep 17 00:00:00 2001 -From: Stanislav Ochotnicky -Date: Tue, 11 Feb 2014 11:33:17 +0100 -Subject: [PATCH 3/3] [macros] Fix xmvn-install for SCL usage - -The passed package name was incorrect for xmvn-install ---- - etc/macros.xmvn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/etc/macros.xmvn b/etc/macros.xmvn -index 5ec8123..707dac2 100644 ---- a/etc/macros.xmvn -+++ b/etc/macros.xmvn -@@ -141,7 +141,7 @@ - # buildroot. It is intended to be placed in %install section of spec file. - # - %mvn_install(J:X) \ --xmvn-install %{?-X} -R .xmvn-reactor -n "${RPM_PACKAGE_NAME}" -d "%{buildroot}" \ -+xmvn-install %{?-X} -R .xmvn-reactor -n %{?scl:%{pkg_name}}%{!?scl:%{name}} -d "%{buildroot}" \ - jdir="%{-J*:%{-J*}}%{!-J*:target/site/apidocs}" \ - if [ -d "${jdir}" ]; then \ - install -dm755 %{buildroot}%{_javadocdir}/%{name} \ --- -1.9.0 - diff --git a/0004-Fix-hardlink-creation.patch b/0004-Fix-hardlink-creation.patch deleted file mode 100644 index bc5c264..0000000 --- a/0004-Fix-hardlink-creation.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 381e82dc6f28448642299a073b60946fe2f114b3 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -Date: Tue, 12 May 2015 10:02:34 +0200 -Subject: [PATCH 4/4] Fix hardlink creation - ---- - java-utils/java-functions | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/java-utils/java-functions b/java-utils/java-functions -index dc8aa1b..c827042 100644 ---- a/java-utils/java-functions -+++ b/java-utils/java-functions -@@ -333,7 +333,7 @@ link_jar_repository() { - while [ $# -gt 0 ] ; do - case "$1" in - -h|--hard) -- _LINK_CMD="ln -f" -+ _LINK_CMD="ln -fL" - ;; - -s|--soft|--symbolic) - _LINK_CMD="ln -fs" --- -2.1.0 - diff --git a/0005-Add-abrt-java-connector-bits.patch b/0005-Add-abrt-java-connector-bits.patch deleted file mode 100644 index 92f7e70..0000000 --- a/0005-Add-abrt-java-connector-bits.patch +++ /dev/null @@ -1,183 +0,0 @@ -From be3d32fe7a2b59f682e27022931a27fa552d052d Mon Sep 17 00:00:00 2001 -From: Jakub Filak -Date: Tue, 17 Jun 2014 14:51:08 +0200 -Subject: [PATCH] Add abrt-java-connector bits - -Honor JAVACMD_OPTS with a path to the abrt connector agent when: - 1. JAVA_ABRT environment variable does not hold 'off' - 2. the connector's library exists - 3. abrtd is running - -We have to use JAVACMD_OTPS variable instead of FLAGS and OPTIONS -because applications (i.e. ant) migth use the following workflow: - . /usr/share/java-utils/java-functions - set_javacmd - $JAVACMD MyClass - -FLAGS and OPTIONS variables are used only from run() function. - -Use architecture-independent location of abrt-java-connector - -The connector's library has been moved to architecture-independent -directory /usr/lib/abrt-java-connector/, because Java does not -officially support multilib and having the connector installed the arch -specific directory was causing us problems if Java package doesn't match -host architecture (e.g. Java i386 on host x86_64). - -Signed-off-by: Jakub Filak - -Use wrapper script to inject extra JVM arguments (rhbz#1153652) - -Add JAVA_ABRT=off to java.conf template - -Log injecting ABRT agent ---- - build | 2 ++ - configure | 6 ++++++ - etc/java.conf | 4 ++++ - install | 1 + - java-utils/java-functions | 22 ++++++++++++++++++++-- - java-utils/java-wrapper | 8 ++++++++ - 6 files changed, 41 insertions(+), 2 deletions(-) - create mode 100644 java-utils/java-wrapper - -diff --git a/build b/build -index 23cbb90..4e974c0 100755 ---- a/build -+++ b/build -@@ -61,7 +61,9 @@ expand() - -e "s|%{jvmdir}|${jvmdir}|" \ - -e "s|%{m2home}|${m2home}|" \ - -e "s|%{prefix}|${prefix}|" \ -+ -e "s|%{rundir}|${rundir}|" \ - -e "s|%{sysconfdir}|${sysconfdir}|" \ -+ -e "s|%{abrtlibdir}|${abrtlibdir}|" \ - "${1}" >"${target}" - } - -diff --git a/configure b/configure -index 3288fda..4f22ceb 100755 ---- a/configure -+++ b/configure -@@ -35,8 +35,10 @@ set -e - vars=" - bindir - datadir -+localstatedir - mandir - prefix -+rundir - sysconfdir - rpmconfigdir - -@@ -58,6 +60,7 @@ jvmsysconfdir - mavendepmapdir - mavendepmapfragdir - mavenpomdir -+abrtlibdir - " - - vars_re=$(echo $vars | sed 's/ /\\|/g') -@@ -68,11 +71,14 @@ eval $(for _; do echo "$_"; done | - test -z "${prefix}" && prefix="/usr/local" - test -z "${bindir}" && bindir="${prefix}/bin" - test -z "${datadir}" && datadir="${prefix}/share" -+test -z "${localstatedir}" && localstatedir="${prefix}/var" - test -z "${mandir}" && mandir="${datadir}/man" -+test -z "${rundir}" && rundir="${localstatedir}/run" - test -z "${sysconfdir}" && sysconfdir="${prefix}/etc" - test -z "${rpmconfigdir}" && rpmconfigdir="${prefix}/lib/rpm" - - test -z "${m2home}" && m2home="${datadir}/xmvn" -+test -z "${abrtlibdir}" && abrtlibdir="${prefix}/lib/abrt-java-connector" - - eval $(sed -n 's/^%_\('"$vars_re"'\)\ *\(.*\)$/\1="\2"/;T;s/%{_\(.*}\)/${\1/;p' etc/macros.jpackage) - -diff --git a/etc/java.conf b/etc/java.conf -index fa0a989..042e9ad 100644 ---- a/etc/java.conf -+++ b/etc/java.conf -@@ -22,3 +22,7 @@ JVM_ROOT=%{jvmdir} - - # Options to pass to the java interpreter - #JAVACMD_OPTS= -+ -+# You can disable ABRT Java Connector by setting JAVA_ABRT to "off". -+# See: https://github.com/jfilak/abrt-java-connector/ -+#JAVA_ABRT=off -diff --git a/install b/install -index d0b941a..33690ed 100755 ---- a/install -+++ b/install -@@ -118,6 +118,7 @@ inst_config etc/font.properties "${javaconfdir}" - inst_config target/java.conf "${javaconfdir}" - - inst_data target/java-functions "${javadir}-utils" -+inst_exec java-utils/java-wrapper "${javadir}-utils" - inst_data java-utils/maven_depmap.py "${javadir}-utils" - inst_data java-utils/pom_editor.sh "${javadir}-utils" - -diff --git a/java-utils/java-functions b/java-utils/java-functions -index dc8aa1b..e9a763a 100644 ---- a/java-utils/java-functions -+++ b/java-utils/java-functions -@@ -109,6 +109,14 @@ _load_java_conf() - if [ -n "${java_opts_save}" ]; then - JAVACMD_OPTS="${java_opts_save}" - fi -+ -+ if [ "_${JAVA_ABRT}" != "_off" -a -f "%{abrtlibdir}/libabrt-java-connector.so" -a -f "%{rundir}/abrt/abrtd.pid" ]; then -+ _log "ABRT Java connector was enabled" -+ _log "Using ABRT Java agent: %{abrtlibdir}/libabrt-java-connector.so" -+ JAVACMD_OPTS="${JAVACMD_OPTS} -agentpath:%{abrtlibdir}/libabrt-java-connector.so=abrt=on" -+ else -+ _log "ABRT Java connector is disabled" -+ fi - } - - -@@ -224,7 +232,12 @@ set_javacmd() - JAVACMD="${JAVA_HOME}/${cmd}" - if [ -x "${JAVACMD}" ]; then - _log "Using configured JAVACMD: $JAVACMD" -- JAVACMD="${JAVACMD}${JAVACMD_OPTS:+ }${JAVACMD_OPTS}" -+ if [ -n "${JAVACMD_OPTS}" ]; then -+ _log "Using java-wrapper with extra options: ${JAVACMD_OPTS}" -+ export _JP_JAVACMD="${JAVACMD}" -+ export _JP_JAVACMD_OPTS="${JAVACMD_OPTS}" -+ JAVACMD="%{javadir}-utils/java-wrapper" -+ fi - return 0 - fi - done -@@ -232,7 +245,12 @@ set_javacmd() - JAVACMD=$(which java 2>/dev/null || :) - if [ -x "${JAVACMD}" ]; then - _log "Using JAVACMD from PATH: $JAVACMD" -- JAVACMD="${JAVACMD}${JAVACMD_OPTS:+ }${JAVACMD_OPTS}" -+ if [ -n "${JAVACMD_OPTS}" ]; then -+ _log "Using java-wrapper with extra options: ${JAVACMD_OPTS}" -+ export _JP_JAVACMD="${JAVACMD}" -+ export _JP_JAVACMD_OPTS="${JAVACMD_OPTS}" -+ JAVACMD="%{javadir}-utils/java-wrapper" -+ fi - return 0 - fi - -diff --git a/java-utils/java-wrapper b/java-utils/java-wrapper -new file mode 100644 -index 0000000..29b3143 ---- /dev/null -+++ b/java-utils/java-wrapper -@@ -0,0 +1,8 @@ -+#!/bin/sh -+ -+JAVACMD="${_JP_JAVACMD}" -+JAVACMD_OPTS="${_JP_JAVACMD_OPTS}" -+unset _JP_JAVACMD -+unset _JP_JAVACMD_OPTS -+ -+exec "${JAVACMD}" ${JAVACMD_OPTS} "${@}" --- -2.4.3 - diff --git a/javapackages-config.json b/javapackages-config.json deleted file mode 100644 index 28f6648..0000000 --- a/javapackages-config.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "maven.req": { - "always_generate": [ - "javapackages-filesystem", - "(java-headless or java-11-headless)" - ], - "java_requires": { - "skip": true - }, - "java_devel_requires": { - "skip": true - } - }, - "javadoc.req": { - "always_generate": [ - "javapackages-filesystem" - ] - } -} diff --git a/javapackages-tools.spec b/javapackages-tools.spec index c05ba83..6e93025 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,183 +1,545 @@ +# Don't generate requires on jpackage-utils and java-headless for +# provided pseudo-artifacts: com.sun:tools and sun.jdk:jconsole. +%global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}/maven-metadata/javapackages-metadata.xml$ + +# Disable automatic bytecode compilation for files in java-utils +# https://fedoraproject.org/wiki/Packaging:Python_Appendix#Manual_byte_compilation +%global _python_bytecompile_extra 0 + +%bcond_without asciidoc +%bcond_without gradle +%bcond_without tests +%bcond_with xmvn_javadoc + +%if 0%{?fedora} || 0%{?rhel} > 7 +%global python_prefix python3 +%global python_interpreter %{__python3} +%else +%global python_prefix python +%global python_interpreter %{__python2} +%global rpmmacrodir /etc/rpm +%endif + +%global default_jdk %{?_root_prefix}%{!?_root_prefix:%{_prefix}}/lib/jvm/java-1.8.0-openjdk +%global default_jre %{?_root_prefix}%{!?_root_prefix:%{_prefix}}/lib/jvm/jre-1.8.0-openjdk + Name: javapackages-tools -Version: 3.4.1 -Release: 11%{?dist} +Version: 5.3.0 +Release: 1%{?dist} Summary: Macros and scripts for Java packaging support License: BSD -URL: https://fedorahosted.org/javapackages/ -Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz - -# rhbz 1038553 -Patch1: 0001-Support-absolute-symlinks-in-SCLs-in-mvn_file-rhbz-1.patch -# rhbz 1098523 (two patches) -Patch2: 0002-macros-Fix-add_maven_depmap-for-SCL-usage.patch -Patch3: 0003-macros-Fix-xmvn-install-for-SCL-usage.patch -# rhbz 1220469 -Patch4: 0004-Fix-hardlink-creation.patch -# rhbz 1117848 -Patch5: 0005-Add-abrt-java-connector-bits.patch +URL: https://github.com/fedora-java/javapackages +Source0: https://github.com/fedora-java/javapackages/archive/%{version}.tar.gz BuildArch: noarch -BuildRequires: jpackage-utils +BuildRequires: coreutils +BuildRequires: which +BuildRequires: make +%if %{with asciidoc} BuildRequires: asciidoc BuildRequires: xmlto -BuildRequires: python-lxml -BuildRequires: python2-devel -BuildRequires: python-setuptools +%endif +BuildRequires: %{python_prefix}-devel +BuildRequires: %{python_prefix}-lxml +BuildRequires: %{python_prefix}-setuptools +%if !0%{?_module_build} +# XXX python-nose is not part of any module yet, but it should get +# modularized one day, right? mizdebsk, Sep 2017 +BuildRequires: %{python_prefix}-nose +%endif +BuildRequires: %{python_prefix}-six +Requires: javapackages-filesystem = %{version}-%{release} Requires: coreutils -Requires: libxslt -Requires: lua -Requires: python -Requires: python-javapackages = %{version}-%{release} +Requires: findutils +Requires: which +# default JRE +Requires: java-1.8.0-openjdk-headless Provides: jpackage-utils = %{version}-%{release} -Obsoletes: jpackage-utils < %{version}-%{release} +# These could be generated automatically, but then we would need to +# depend on javapackages-local for dependency generator. +Provides: mvn(com.sun:tools) = SYSTEM +Provides: mvn(sun.jdk:jconsole) = SYSTEM %description This package provides macros and scripts to support Java packaging. +%package -n javapackages-filesystem +Summary: Java packages filesystem layout +Obsoletes: eclipse-filesystem < 2 +Provides: eclipse-filesystem = %{version}-%{release} + +%description -n javapackages-filesystem +This package provides some basic directories into which Java packages +install their content. + %package -n maven-local Summary: Macros and scripts for Maven packaging support Requires: %{name} = %{version}-%{release} -Requires: maven -Requires: xmvn >= 1.0.0-0.1 -# POM files needed by maven itself -Requires: apache-commons-parent -Requires: apache-parent -Requires: geronimo-parent-poms -Requires: httpcomponents-project -Requires: jboss-parent -Requires: jvnet-parent -Requires: maven-parent -Requires: maven-plugins-pom -Requires: mojo-parent -Requires: plexus-components-pom -Requires: plexus-pom -Requires: plexus-tools-pom -Requires: sonatype-oss-parent -Requires: weld-parent +Requires: javapackages-local = %{version}-%{release} +Requires: xmvn-minimal +Requires: xmvn-mojo +Requires: xmvn-connector-aether # Common Maven plugins required by almost every build. It wouldn't make # sense to explicitly require them in every package built with Maven. -Requires: maven-assembly-plugin -Requires: maven-compiler-plugin -Requires: maven-enforcer-plugin -Requires: maven-jar-plugin -Requires: maven-javadoc-plugin -Requires: maven-resources-plugin -Requires: maven-surefire-plugin +Requires: mvn(org.apache.maven.plugins:maven-compiler-plugin) +Requires: mvn(org.apache.maven.plugins:maven-jar-plugin) +%if %{without xmvn_javadoc} +Requires: mvn(org.apache.maven.plugins:maven-javadoc-plugin) +%endif +Requires: mvn(org.apache.maven.plugins:maven-resources-plugin) +Requires: mvn(org.apache.maven.plugins:maven-surefire-plugin) # Tests based on JUnit are very common and JUnit itself is small. -# Include JUnit provider for Surefire just for convenience. -Requires: maven-surefire-provider-junit +# Include JUnit and JUnit provider for Surefire just for convenience. +Requires: mvn(junit:junit) +Requires: mvn(org.apache.maven.surefire:surefire-junit4) # testng is quite common as well -Requires: maven-surefire-provider-testng +Requires: mvn(org.apache.maven.surefire:surefire-testng) %description -n maven-local This package provides macros and scripts to support packaging Maven artifacts. -%package -n python-javapackages -Summary: Module for handling various files for Java packaging -Requires: python-lxml +%if %{with gradle} +%package -n gradle-local +Summary: Local mode for Gradle +Requires: %{name} = %{version}-%{release} +Requires: javapackages-local = %{version}-%{release} +Requires: gradle >= 2.2.1-2 +Requires: xmvn-connector-gradle -%description -n python-javapackages +%description -n gradle-local +This package implements local mode for Gradle, which allows artifact +resolution using XMvn resolver. +%endif + +%package -n ivy-local +Summary: Local mode for Apache Ivy +Requires: %{name} = %{version}-%{release} +Requires: javapackages-local = %{version}-%{release} +Requires: apache-ivy >= 2.3.0-8 +Requires: xmvn-connector-ivy + +%description -n ivy-local +This package implements local mode for Apache Ivy, which allows +artifact resolution using XMvn resolver. + +%package -n %{python_prefix}-javapackages +Summary: Module for handling various files for Java packaging +Requires: %{python_prefix}-lxml +Requires: %{python_prefix}-six +Obsoletes: python-javapackages < %{version}-%{release} + +%description -n %{python_prefix}-javapackages Module for handling, querying and manipulating of various files for Java packaging in Linux distributions +%package -n javapackages-local +Summary: Non-essential macros and scripts for Java packaging support +Requires: %{name} = %{version}-%{release} +Requires: xmvn-install +Requires: xmvn-subst +Requires: xmvn-resolve +# Java build systems don't have hard requirement on java-devel, so it should be there +Requires: java-1.8.0-openjdk-devel +Requires: %{python_prefix}-javapackages = %{version}-%{release} +Requires: %{python_prefix} +%description -n javapackages-local +This package provides non-essential macros and scripts to support Java packaging. %prep %setup -q -n javapackages-%{version} -sed -i '/fedora-review/d' install -sed -i 's:\(inst_exec target/mvn-local\).*:\1 ${javadir}-utils:' install - -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 +%if %{without asciidoc} +sed -i '/^manpage /d' build +sed -i '/${mandir}/d' install +%endif %build -%configure +%configure --pyinterpreter=%{python_interpreter} \ + --default_jdk=%{default_jdk} --default_jre=%{default_jre} \ + --rpmmacrodir=%{rpmmacrodir} ./build -pushd python -%{__python} setup.py build -popd %install ./install -sed -e 's/.[17]$/&.gz/' -e 's/.py$/&*/' -i files-* -pushd python -%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT -popd +%if %{with xmvn_javadoc} +sed -i 's|mvn_build.py|& --xmvn-javadoc|' $(find %{buildroot} -name 'macros*.fjava') +%endif +sed -e 's/.[17]$/&*/' -i files-* -# no fedora-review in RHEL 7 -rm -rf %{buildroot}/%{_datadir}/fedora-review/ +%if %{without gradle} +rm -rf %{buildroot}%{_bindir}/gradle-local +rm -rf %{buildroot}%{_datadir}/gradle-local +rm -rf %{buildroot}%{_mandir}/man7/gradle_build.7 +%endif +%if %{with tests} +%if !0%{?_module_build} %check -# We need formencode for tests -#pushd python -#%{__python} setup.py test -#popd -#pushd test -#%{__python} -m unittest discover -p '*_test.py' -#popd +./check +%endif +%endif +%files -f files-tools +%files -n javapackages-filesystem -f files-filesystem -%files -f files-common -%doc LICENSE +%files -n javapackages-local -f files-local -%files -n maven-local -f files-maven +%files -n maven-local -%files -n python-javapackages -%doc LICENSE -%{python_sitelib}/javapackages* +%if %{with gradle} +%files -n gradle-local -f files-gradle +%endif +%files -n ivy-local -f files-ivy + +%files -n %{python_prefix}-javapackages -f files-python +%license LICENSE %changelog -* Wed Jun 24 2015 Michal Srb - 3.4.1-11 -- Add support for abrt-java-connector -- Resolves: rhbz#1117848 +* Mon Aug 06 2018 Michael Simacek - 5.3.0-1 +- Update to upstream version 5.3.0 -* Tue May 12 2015 Mikolaj Izdebski - 3.4.1-10 -- Fix hardlink creation -- Resolves: rhbz#1220469 +* Thu Aug 2 2018 Mikolaj Izdebski - 5.2.0-6 +- Switch auto-requires generator to javapackages-filesystem -* Fri Jul 25 2014 Michal Srb - 3.4.1-9 -- Bump release -- Resolves: rhbz#1098523 +* Fri Jul 13 2018 Fedora Release Engineering - 5.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild -* Fri May 16 2014 Mikolaj Izdebski - 3.4.1-6 -- Fix add_maven_depmap and xmvn-install for SCL usage -- Resolves: rhbz#1098523 +* Mon Jul 02 2018 Miro Hrončok - 5.2.0-4 +- Rebuilt for Python 3.7 -* Fri Dec 27 2013 Daniel Mach - 3.4.1-5 -- Mass rebuild 2013-12-27 +* Mon Jun 25 2018 Michael Simacek - 5.2.0-3 +- Disable bytecode compilation outside of site-packages -* Mon Dec 16 2013 Stanislav Ochotnicky - 3.4.1-4 -- Support absolute symlinks in SCLs in mvn_file -- Resolves: rhbz#1038553 +* Wed Jun 20 2018 Mikolaj Izdebski - 5.2.0-2 +- Fix running tests on Python 3.7 -* Thu Dec 12 2013 Stanislav Ochotnicky - 3.4.1-3 -- Move mvn-local out of bindir -- Resolves: rhbz#1015422 +* Tue Jun 19 2018 Miro Hrončok - 5.2.0-2 +- Rebuilt for Python 3.7 -* Thu Nov 14 2013 Mikolaj Izdebski - 3.4.1-2 -- Add versioned requires on python-javapackages +* Tue Jun 5 2018 Mikolaj Izdebski - 5.2.0-1 +- Update to upstream version 5.2.0 -* Wed Nov 06 2013 Stanislav Ochotnicky - 3.4.1-1 -- Rebase to bugfix release 3.4.1 -- Related: rhbz#1015158 +* Tue May 15 2018 Mikolaj Izdebski - 5.1.0-1 +- Update to upstream version 5.1.0 +- Introduce javapackages-filesystem package -* Tue Oct 08 2013 Stanislav Ochotnicky - 3.3.1-2 -- Remove workaround for guice-no_aop -- Remove fedora-review subpackage -- Resolves: rhbz#1016667 -- Related: rhbz#1015158 +* Wed May 02 2018 Michael Simacek - 5.0.0-13 +- Backport abrt-java-connector changes + +* Fri Feb 09 2018 Igor Gnatenko - 5.0.0-12 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 5.0.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 09 2018 Merlin Mathesius - 5.0.0-10 +- Cleanup spec file conditionals + +* Sat Sep 23 2017 Mikolaj Izdebski - 5.0.0-9 +- Conditionally allow building without asciidoc + +* Thu Sep 7 2017 Mikolaj Izdebski - 5.0.0-8 +- Allow manpages to be either compressed or not + +* Thu Aug 17 2017 Michael Simacek - 5.0.0-7 +- Fix traceback on corrupt zipfile +- Resolves: rhbz#1481005 + +* Wed Jul 26 2017 Fedora Release Engineering - 5.0.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 10 2017 Mikolaj Izdebski - 5.0.0-5 +- Conditionalize use of XMvn Javadoc MOJO + +* Mon Jul 03 2017 Michael Simacek - 5.0.0-4 +- Fix default JRE path + +* Mon Jul 03 2017 Michael Simacek - 5.0.0-3 +- Don't use xmvn javadoc for now + +* Wed Jun 21 2017 Mikolaj Izdebski - 5.0.0-2 +- Re-add dist-tag + +* Wed Jun 21 2017 Michael Simacek - 5.0.0-2 +- Remove xmvn version requirement + +* Wed Jun 21 2017 Michael Simacek - 5.0.0-1 +- Update to upstream version 5.0.0 + +* Tue Mar 14 2017 Michael Simacek - 4.7.0-16 +- Force locale in test to fix failures + +* Fri Feb 10 2017 Fedora Release Engineering - 4.7.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 1 2017 Mikolaj Izdebski - 4.7.0-14 +- Fix build without gradle + +* Tue Jan 31 2017 Mikolaj Izdebski - 4.7.0-13 +- Allow to conditionally build without gradle + +* Tue Dec 20 2016 Mikolaj Izdebski - 4.7.0-12 +- Non-bootstrap build + +* Tue Dec 20 2016 Mikolaj Izdebski - 4.7.0-11 +- Port to Python 3.6 + +* Mon Dec 19 2016 Miro Hrončok - 4.7.0-10 +- Rebuild for Python 3.6 + +* Fri Nov 18 2016 Mikolaj Izdebski - 4.7.0-9 +- Add Requires on which +- Resolves: rhbz#1396395 + +* Mon Oct 3 2016 Mikolaj Izdebski - 4.7.0-8 +- Fix generation of versioned OSGi requires + +* Tue Sep 06 2016 Michael Simacek - 4.7.0-7 +- Remove docs, which were split into java-packaging-howto + +* Tue Jul 19 2016 Fedora Release Engineering - 4.7.0-6 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Jun 29 2016 Mikolaj Izdebski - 4.7.0-5 +- Remove requires on maven-enforcer-plugin + +* Tue Jun 28 2016 Mikolaj Izdebski - 4.7.0-4 +- Require xmvn-minimal instead of full xmvn + +* Wed Jun 15 2016 Mikolaj Izdebski - 4.7.0-3 +- Drop requires on most of parent POMs + +* Thu Mar 31 2016 Michal Srb - 4.7.0-2 +- Add R: findutils (Resolves: rhbz#1321401, thanks Tatsuyuki Ishi) + +* Fri Mar 04 2016 Michal Srb - 4.7.0-1 +- Update to 4.7.0 + +* Thu Feb 04 2016 Fedora Release Engineering - 4.6.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 4 2016 Mikolaj Izdebski - 4.6.0-12 +- Move mvn_build and builddep to javapackages-local +- Resolves: rhbz#1290399 + +* Wed Nov 11 2015 Kalev Lember - 4.6.0-11 +- Disable bootstrap + +* Wed Nov 11 2015 Kalev Lember - 4.6.0-10 +- Add bootstrap macro (#1280209) +- Enable bootstrap for Python 3.5 rebuilds + +* Tue Nov 10 2015 Fedora Release Engineering - 4.6.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Wed Oct 28 2015 Mikolaj Izdebski - 4.6.0-8 +- Backport %%gradle_build macro from 4.7.0-SNAPSHOT + +* Mon Oct 19 2015 Mikolaj Izdebski - 4.6.0-7 +- Don't generate requires on java-headless +- Resolves: rhbz#1272145 + +* Tue Jul 14 2015 Mikolaj Izdebski - 4.6.0-6 +- Use %%license macro + +* Fri Jul 10 2015 Mikolaj Izdebski - 4.6.0-5 +- Add requires on java-devel to javapackages-local + +* Tue Jun 30 2015 Mikolaj Izdebski - 4.6.0-4 +- Remove jpackage-utils obsoletes + +* Mon Jun 22 2015 Michal Srb - 4.6.0-3 +- Rebuild to fix provides + +* Wed Jun 17 2015 Fedora Release Engineering - 4.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 15 2015 Michal Srb - 4.6.0-1 +- Update to upstream version 4.6.0 + +* Thu Apr 23 2015 Michal Srb - 4.5.0-3 +- Fix "UnboundLocalError: local variable 'pom_requires' referenced before assignment" + +* Tue Apr 21 2015 Michael Simacek - 4.5.0-2 +- Remove fedora-review-plugin-java subpackage + +* Thu Apr 09 2015 Michal Srb - 4.5.0-1 +- Update to upstream version 4.5.0 + +* Wed Apr 1 2015 Mikolaj Izdebski - 4.4.0-4 +- Remove requires on plexus-tools-pom + +* Tue Mar 24 2015 Michael Simacek - 4.4.0-3 +- Handle non-utf-8 poms in pom_editor + +* Mon Feb 16 2015 Michael Simacek - 4.4.0-2 +- Write temporary XML file as UTF-8 in pom_editor + +* Mon Feb 16 2015 Michal Srb - 4.4.0-1 +- Update to upstream version 4.4.0 + +* Fri Feb 13 2015 Michal Srb - 4.3.2-6 +- Fix TypeError in maven_depmap (see: rhbz#1191657) + +* Thu Feb 12 2015 Michael Simacek - 4.3.2-5 +- Workaround for XMvn version bump (rhbz#1191657) + +* Fri Jan 23 2015 Mikolaj Izdebski - 4.3.2-4 +- Add gradle-local subpackage +- Allow conditional builds with tests skipped + +* Mon Jan 19 2015 Mikolaj Izdebski - 4.3.2-3 +- Port to lua 5.3.0 + +* Thu Jan 15 2015 Mikolaj Izdebski - 4.3.2-2 +- Replace all dashes with dots in versioned provides and requires + +* Mon Jan 05 2015 Michal Srb - 4.3.2-1 +- Update to upstream version 4.3.2 +- Fix TypeError in mvn_artifact + +* Tue Dec 23 2014 Mikolaj Izdebski - 4.3.1-1 +- Update to upstream version 4.3.1 + +* Sun Dec 14 2014 Mikolaj Izdebski - 4.3.0-1 +- Update to upstream version 4.3.0 + +* Fri Nov 28 2014 Mikolaj Izdebski - 4.2.0-11 +- Remove dependency on libxslt + +* Fri Nov 28 2014 Mikolaj Izdebski - 4.2.0-10 +- Scan lib64/ in OSGi dep generators +- Related: rhbz#1166156 + +* Wed Nov 26 2014 Mikolaj Izdebski - 4.2.0-9 +- Revert adding namespace support in %%mvn_artifact + +* Mon Nov 24 2014 Michal Srb - 4.2.0-8 +- Add namespace support in %%mvn_artifact + +* Fri Nov 21 2014 Mikolaj Izdebski - 4.2.0-7 +- Fix OSGi provides/requires generation in Java libdir +- Resolves: rhbz#1166156 + +* Wed Nov 12 2014 Michal Srb - 4.2.0-6 +- Fix cache problem (Resolves: rhbz#1155185) + +* Thu Oct 30 2014 Mikolaj Izdebski - 4.2.0-5 +- Use wrapper script to inject ABRT agent JVM argument +- Fix path to ABRT agent DSO +- Resolves: rhbz#1153652 + +* Tue Oct 21 2014 Michael Simacek - 4.2.0-4 +- Fix pom_editor missing space between xmlns declarations + +* Wed Sep 24 2014 Michal Srb - 4.2.0-3 +- Do not generate OSGi R on eclipse-platform + +* Thu Sep 18 2014 Michal Srb - 4.2.0-2 +- Fix mvn_artifact: generate R, if it's not explicitly disabled + +* Thu Jul 24 2014 Michal Srb - 4.2.0-1 +- Update to upstream version 4.2.0 + +* Thu Jul 10 2014 Michal Srb - 4.1.0-2 +- Backport upstream patch for maven.req + +* Mon Jun 23 2014 Michal Srb - 4.1.0-1 +- Update to upstream version 4.1.0 + +* Thu Jun 12 2014 Michal Srb - 4.0.0-8 +- Install man page for pom_change_dep + +* Tue Jun 10 2014 Michal Srb - 4.0.0-7 +- Backport fix for maven.prov + +* Tue Jun 10 2014 Michal Srb - 4.0.0-6 +- Update docs + +* Sat Jun 07 2014 Fedora Release Engineering - 4.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 30 2014 Michal Srb - 4.0.0-4 +- Backport patch which adds support for "disableEffectivePom" property + +* Thu May 29 2014 Michal Srb - 4.0.0-3 +- Add BR: javapackages-tools + +* Thu May 29 2014 Michal Srb - 4.0.0-2 +- Backport patches for maven.req +- Remove com.sun:tools and sun.jdk:jconsole provides + +* Thu May 29 2014 Michal Srb - 4.0.0-1 +- Update to 4.0.0 + +* Wed May 28 2014 Michal Srb - 3.5.0-9 +- Apply the patch from my previous commit + +* Wed May 28 2014 Michal Srb - 3.5.0-8 +- Generate requires on POM artifacts with "pom" extension + +* Wed Apr 30 2014 Michal Srb - 3.5.0-7 +- Improve support for SCLs + +* Wed Apr 16 2014 Mikolaj Izdebski - 3.5.0-6 +- Add explicit maven-local requires on java-1.8.0-openjdk-devel + +* Thu Mar 27 2014 Michael Simacek - 3.5.0-6 +- Install documentation + +* Mon Feb 24 2014 Stanislav Ochotnicky - 3.5.0-5 +- Backport java-headless patches + +* Mon Feb 10 2014 Michal Srb - 3.5.0-4 +- Add support for installing Maven artifacts with .hpi extension + +* Fri Jan 17 2014 Michael Simacek - 3.5.0-3 +- Use upstream method of running tests (nosetests) + +* Thu Jan 16 2014 Mikolaj Izdebski - 3.5.0-2 +- Add version requirements on xmvn and ivy + +* Thu Jan 16 2014 Mikolaj Izdebski - 3.5.0-1 +- Update to upstream version 3.5.0 +- Add ivy-local subpackage + +* Tue Jan 7 2014 Mikolaj Izdebski - 3.4.2-3 +- Update patch for ZIP files + +* Tue Jan 7 2014 Mikolaj Izdebski - 3.4.2-2 +- Allow ZIP files in %%{_javadir} + +* Thu Dec 05 2013 Michal Srb - 3.4.2-1 +- Update to upstream bugfix release 3.4.2 + +* Wed Dec 4 2013 Mikolaj Izdebski - 3.4.1-3 +- Add Requires on objectweb-pom + +* Tue Nov 19 2013 Stanislav Ochotnicky - 3.4.1-2 +- Do not create parent dirs for pom.properties +- Resolves: rhbz#1031769 + +* Tue Nov 05 2013 Stanislav Ochotnicky - 3.4.1-1 +- Update to upstream bugfix release 3.4.1 + +* Mon Oct 21 2013 Mikolaj Izdebski - 3.4.0-3 +- Fix XMvn configuration for native JNI repos +- Resolves: rhbz#1021608 + +* Mon Oct 14 2013 Mikolaj Izdebski - 3.4.0-2 +- Require exact version of python-javapackages + +* Mon Oct 14 2013 Mikolaj Izdebski - 3.4.0-1 +- Update to upstream version 3.4.0 * Wed Oct 2 2013 Mikolaj Izdebski - 3.3.1-1 - Update to upstream version 3.3.1 diff --git a/sources b/sources index c7b692f..cf59247 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA1 (javapackages-3.4.1.tar.xz) = 42db8f0afa0dda7783e23934475e7837547b46d1 +SHA512 (5.3.0.tar.gz) = 41b5398cd276cf10c1e3ce1a8283ab9ef19df8a2ad19db20553ff31e31d26af9f14bb566574a3ee534a9af2cf1f1626086bf551b4bc6ed12bc0082c46b6b7e98 diff --git a/toolchains-openjdk11.xml b/toolchains-openjdk11.xml deleted file mode 100644 index 77e2202..0000000 --- a/toolchains-openjdk11.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - jdk - - xmvn - - - /usr/lib/jvm/java-11-openjdk - - - diff --git a/toolchains-openjdk17.xml b/toolchains-openjdk17.xml deleted file mode 100644 index 1302dce..0000000 --- a/toolchains-openjdk17.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - jdk - - xmvn - - - /usr/lib/jvm/java-17-openjdk - - - diff --git a/toolchains-openjdk8.xml b/toolchains-openjdk8.xml deleted file mode 100644 index 25d130f..0000000 --- a/toolchains-openjdk8.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - jdk - - xmvn - - - /usr/lib/jvm/java-1.8.0-openjdk - - -