diff --git a/.gitignore b/.gitignore index b399aa3..7c3b1c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/5.3.0.tar.gz +SOURCES/javapackages-3.4.1.tar.xz 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 new file mode 100644 index 0000000..107ee22 --- /dev/null +++ b/0001-Support-absolute-symlinks-in-SCLs-in-mvn_file-rhbz-1.patch @@ -0,0 +1,154 @@ +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 new file mode 100644 index 0000000..51a185e --- /dev/null +++ b/0002-macros-Fix-add_maven_depmap-for-SCL-usage.patch @@ -0,0 +1,38 @@ +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 new file mode 100644 index 0000000..0a8cd69 --- /dev/null +++ b/0003-macros-Fix-xmvn-install-for-SCL-usage.patch @@ -0,0 +1,26 @@ +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 new file mode 100644 index 0000000..bc5c264 --- /dev/null +++ b/0004-Fix-hardlink-creation.patch @@ -0,0 +1,25 @@ +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 new file mode 100644 index 0000000..92f7e70 --- /dev/null +++ b/0005-Add-abrt-java-connector-bits.patch @@ -0,0 +1,183 @@ +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-tools.spec b/javapackages-tools.spec index 6e93025..c05ba83 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,545 +1,183 @@ -# 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: 5.3.0 -Release: 1%{?dist} +Version: 3.4.1 +Release: 11%{?dist} Summary: Macros and scripts for Java packaging support License: BSD -URL: https://github.com/fedora-java/javapackages -Source0: https://github.com/fedora-java/javapackages/archive/%{version}.tar.gz +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 BuildArch: noarch -BuildRequires: coreutils -BuildRequires: which -BuildRequires: make -%if %{with asciidoc} +BuildRequires: jpackage-utils BuildRequires: asciidoc BuildRequires: xmlto -%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 +BuildRequires: python-lxml +BuildRequires: python2-devel +BuildRequires: python-setuptools -Requires: javapackages-filesystem = %{version}-%{release} Requires: coreutils -Requires: findutils -Requires: which -# default JRE -Requires: java-1.8.0-openjdk-headless +Requires: libxslt +Requires: lua +Requires: python +Requires: python-javapackages = %{version}-%{release} Provides: 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 +Obsoletes: jpackage-utils < %{version}-%{release} %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: javapackages-local = %{version}-%{release} -Requires: xmvn-minimal -Requires: xmvn-mojo -Requires: xmvn-connector-aether +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 # Common Maven plugins required by almost every build. It wouldn't make # sense to explicitly require them in every package built with Maven. -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) +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 # Tests based on JUnit are very common and JUnit itself is small. -# Include JUnit and JUnit provider for Surefire just for convenience. -Requires: mvn(junit:junit) -Requires: mvn(org.apache.maven.surefire:surefire-junit4) +# Include JUnit provider for Surefire just for convenience. +Requires: maven-surefire-provider-junit # testng is quite common as well -Requires: mvn(org.apache.maven.surefire:surefire-testng) +Requires: maven-surefire-provider-testng %description -n maven-local This package provides macros and scripts to support packaging Maven artifacts. -%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 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 +%package -n python-javapackages Summary: Module for handling various files for Java packaging -Requires: %{python_prefix}-lxml -Requires: %{python_prefix}-six -Obsoletes: python-javapackages < %{version}-%{release} +Requires: python-lxml -%description -n %{python_prefix}-javapackages +%description -n python-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} -%if %{without asciidoc} -sed -i '/^manpage /d' build -sed -i '/${mandir}/d' install -%endif +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 %build -%configure --pyinterpreter=%{python_interpreter} \ - --default_jdk=%{default_jdk} --default_jre=%{default_jre} \ - --rpmmacrodir=%{rpmmacrodir} +%configure ./build +pushd python +%{__python} setup.py build +popd %install ./install +sed -e 's/.[17]$/&.gz/' -e 's/.py$/&*/' -i files-* -%if %{with xmvn_javadoc} -sed -i 's|mvn_build.py|& --xmvn-javadoc|' $(find %{buildroot} -name 'macros*.fjava') -%endif -sed -e 's/.[17]$/&*/' -i files-* +pushd python +%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT +popd -%if %{without gradle} -rm -rf %{buildroot}%{_bindir}/gradle-local -rm -rf %{buildroot}%{_datadir}/gradle-local -rm -rf %{buildroot}%{_mandir}/man7/gradle_build.7 -%endif +# no fedora-review in RHEL 7 +rm -rf %{buildroot}/%{_datadir}/fedora-review/ -%if %{with tests} -%if !0%{?_module_build} %check -./check -%endif -%endif +# We need formencode for tests +#pushd python +#%{__python} setup.py test +#popd +#pushd test +#%{__python} -m unittest discover -p '*_test.py' +#popd -%files -f files-tools -%files -n javapackages-filesystem -f files-filesystem -%files -n javapackages-local -f files-local +%files -f files-common +%doc LICENSE -%files -n maven-local +%files -n maven-local -f files-maven -%if %{with gradle} -%files -n gradle-local -f files-gradle -%endif +%files -n python-javapackages +%doc LICENSE +%{python_sitelib}/javapackages* -%files -n ivy-local -f files-ivy - -%files -n %{python_prefix}-javapackages -f files-python -%license LICENSE %changelog -* Mon Aug 06 2018 Michael Simacek - 5.3.0-1 -- Update to upstream version 5.3.0 +* Wed Jun 24 2015 Michal Srb - 3.4.1-11 +- Add support for abrt-java-connector +- Resolves: rhbz#1117848 -* Thu Aug 2 2018 Mikolaj Izdebski - 5.2.0-6 -- Switch auto-requires generator to javapackages-filesystem +* Tue May 12 2015 Mikolaj Izdebski - 3.4.1-10 +- Fix hardlink creation +- Resolves: rhbz#1220469 -* Fri Jul 13 2018 Fedora Release Engineering - 5.2.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild +* Fri Jul 25 2014 Michal Srb - 3.4.1-9 +- Bump release +- Resolves: rhbz#1098523 -* Mon Jul 02 2018 Miro Hrončok - 5.2.0-4 -- Rebuilt for Python 3.7 +* Fri May 16 2014 Mikolaj Izdebski - 3.4.1-6 +- Fix add_maven_depmap and xmvn-install for SCL usage +- Resolves: rhbz#1098523 -* Mon Jun 25 2018 Michael Simacek - 5.2.0-3 -- Disable bytecode compilation outside of site-packages +* Fri Dec 27 2013 Daniel Mach - 3.4.1-5 +- Mass rebuild 2013-12-27 -* Wed Jun 20 2018 Mikolaj Izdebski - 5.2.0-2 -- Fix running tests on Python 3.7 +* Mon Dec 16 2013 Stanislav Ochotnicky - 3.4.1-4 +- Support absolute symlinks in SCLs in mvn_file +- Resolves: rhbz#1038553 -* Tue Jun 19 2018 Miro Hrončok - 5.2.0-2 -- Rebuilt for Python 3.7 +* Thu Dec 12 2013 Stanislav Ochotnicky - 3.4.1-3 +- Move mvn-local out of bindir +- Resolves: rhbz#1015422 -* Tue Jun 5 2018 Mikolaj Izdebski - 5.2.0-1 -- Update to upstream version 5.2.0 +* Thu Nov 14 2013 Mikolaj Izdebski - 3.4.1-2 +- Add versioned requires on python-javapackages -* Tue May 15 2018 Mikolaj Izdebski - 5.1.0-1 -- Update to upstream version 5.1.0 -- Introduce javapackages-filesystem package +* Wed Nov 06 2013 Stanislav Ochotnicky - 3.4.1-1 +- Rebase to bugfix release 3.4.1 +- 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 +* 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 Oct 2 2013 Mikolaj Izdebski - 3.3.1-1 - Update to upstream version 3.3.1 diff --git a/sources b/sources index cf59247..c7b692f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (5.3.0.tar.gz) = 41b5398cd276cf10c1e3ce1a8283ab9ef19df8a2ad19db20553ff31e31d26af9f14bb566574a3ee534a9af2cf1f1626086bf551b4bc6ed12bc0082c46b6b7e98 +SHA1 (javapackages-3.4.1.tar.xz) = 42db8f0afa0dda7783e23934475e7837547b46d1