import sources

This commit is contained in:
Adam Samalik 2023-05-16 09:46:52 +02:00
parent 98d6a0d2b0
commit 85fa6f4e35
12 changed files with 479 additions and 594 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
SOURCES/javapackages-3.4.1.tar.xz
/5.3.0.tar.gz

View File

@ -1,154 +0,0 @@
From 6405dfa42ff8d12fb6f810041aa89243f6ae7433 Mon Sep 17 00:00:00 2001
From: Stanislav Ochotnicky <sochotnicky@redhat.com>
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 @@
<groupId>a</groupId>
</artifactGlob>
<files>
- <file>sym</file>
+ <file>file</file>
+ <file>/usr/share/java/sym</file>
</files>
</rule>
</artifactManagement>
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

View File

@ -1,38 +0,0 @@
From cf8978c21d0a6f0bf9a00983f123597c8bb331b6 Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@redhat.com>
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

View File

@ -1,26 +0,0 @@
From 8c19c2aeaf637d39ade97c6b644ca174b3a8a8d0 Mon Sep 17 00:00:00 2001
From: Stanislav Ochotnicky <sochotnicky@redhat.com>
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

View File

@ -1,25 +0,0 @@
From 381e82dc6f28448642299a073b60946fe2f114b3 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
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

View File

@ -1,183 +0,0 @@
From be3d32fe7a2b59f682e27022931a27fa552d052d Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
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 <jfilak@redhat.com>
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

View File

@ -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"
]
}
}

View File

@ -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 <msrb@redhat.com> - 3.4.1-11
- Add support for abrt-java-connector
- Resolves: rhbz#1117848
* Mon Aug 06 2018 Michael Simacek <msimacek@redhat.com> - 5.3.0-1
- Update to upstream version 5.3.0
* Tue May 12 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.1-10
- Fix hardlink creation
- Resolves: rhbz#1220469
* Thu Aug 2 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.2.0-6
- Switch auto-requires generator to javapackages-filesystem
* Fri Jul 25 2014 Michal Srb <msrb@redhat.com> - 3.4.1-9
- Bump release
- Resolves: rhbz#1098523
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri May 16 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.1-6
- Fix add_maven_depmap and xmvn-install for SCL usage
- Resolves: rhbz#1098523
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 5.2.0-4
- Rebuilt for Python 3.7
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 3.4.1-5
- Mass rebuild 2013-12-27
* Mon Jun 25 2018 Michael Simacek <msimacek@redhat.com> - 5.2.0-3
- Disable bytecode compilation outside of site-packages
* Mon Dec 16 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.4.1-4
- Support absolute symlinks in SCLs in mvn_file
- Resolves: rhbz#1038553
* Wed Jun 20 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.2.0-2
- Fix running tests on Python 3.7
* Thu Dec 12 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.4.1-3
- Move mvn-local out of bindir
- Resolves: rhbz#1015422
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 5.2.0-2
- Rebuilt for Python 3.7
* Thu Nov 14 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.1-2
- Add versioned requires on python-javapackages
* Tue Jun 5 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.2.0-1
- Update to upstream version 5.2.0
* Wed Nov 06 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.4.1-1
- Rebase to bugfix release 3.4.1
- Related: rhbz#1015158
* Tue May 15 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.1.0-1
- Update to upstream version 5.1.0
- Introduce javapackages-filesystem package
* Tue Oct 08 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 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 <msimacek@redhat.com> - 5.0.0-13
- Backport abrt-java-connector changes
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.0.0-12
- Escape macros in %%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Jan 09 2018 Merlin Mathesius <mmathesi@redhat.com> - 5.0.0-10
- Cleanup spec file conditionals
* Sat Sep 23 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0.0-9
- Conditionally allow building without asciidoc
* Thu Sep 7 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0.0-8
- Allow manpages to be either compressed or not
* Thu Aug 17 2017 Michael Simacek <msimacek@redhat.com> - 5.0.0-7
- Fix traceback on corrupt zipfile
- Resolves: rhbz#1481005
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jul 10 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0.0-5
- Conditionalize use of XMvn Javadoc MOJO
* Mon Jul 03 2017 Michael Simacek <msimacek@redhat.com> - 5.0.0-4
- Fix default JRE path
* Mon Jul 03 2017 Michael Simacek <msimacek@redhat.com> - 5.0.0-3
- Don't use xmvn javadoc for now
* Wed Jun 21 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.0.0-2
- Re-add dist-tag
* Wed Jun 21 2017 Michael Simacek <msimacek@redhat.com> - 5.0.0-2
- Remove xmvn version requirement
* Wed Jun 21 2017 Michael Simacek <msimacek@redhat.com> - 5.0.0-1
- Update to upstream version 5.0.0
* Tue Mar 14 2017 Michael Simacek <msimacek@redhat.com> - 4.7.0-16
- Force locale in test to fix failures
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 1 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-14
- Fix build without gradle
* Tue Jan 31 2017 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-13
- Allow to conditionally build without gradle
* Tue Dec 20 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-12
- Non-bootstrap build
* Tue Dec 20 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-11
- Port to Python 3.6
* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 4.7.0-10
- Rebuild for Python 3.6
* Fri Nov 18 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-9
- Add Requires on which
- Resolves: rhbz#1396395
* Mon Oct 3 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-8
- Fix generation of versioned OSGi requires
* Tue Sep 06 2016 Michael Simacek <msimacek@redhat.com> - 4.7.0-7
- Remove docs, which were split into java-packaging-howto
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.7.0-6
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Wed Jun 29 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-5
- Remove requires on maven-enforcer-plugin
* Tue Jun 28 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-4
- Require xmvn-minimal instead of full xmvn
* Wed Jun 15 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.7.0-3
- Drop requires on most of parent POMs
* Thu Mar 31 2016 Michal Srb <msrb@redhat.com> - 4.7.0-2
- Add R: findutils (Resolves: rhbz#1321401, thanks Tatsuyuki Ishi)
* Fri Mar 04 2016 Michal Srb <msrb@redhat.com> - 4.7.0-1
- Update to 4.7.0
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 4.6.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Mon Jan 4 2016 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.6.0-12
- Move mvn_build and builddep to javapackages-local
- Resolves: rhbz#1290399
* Wed Nov 11 2015 Kalev Lember <klember@redhat.com> - 4.6.0-11
- Disable bootstrap
* Wed Nov 11 2015 Kalev Lember <klember@redhat.com> - 4.6.0-10
- Add bootstrap macro (#1280209)
- Enable bootstrap for Python 3.5 rebuilds
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.6.0-9
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
* Wed Oct 28 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.6.0-8
- Backport %%gradle_build macro from 4.7.0-SNAPSHOT
* Mon Oct 19 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.6.0-7
- Don't generate requires on java-headless
- Resolves: rhbz#1272145
* Tue Jul 14 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.6.0-6
- Use %%license macro
* Fri Jul 10 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.6.0-5
- Add requires on java-devel to javapackages-local
* Tue Jun 30 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.6.0-4
- Remove jpackage-utils obsoletes
* Mon Jun 22 2015 Michal Srb <msrb@redhat.com> - 4.6.0-3
- Rebuild to fix provides
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jun 15 2015 Michal Srb <msrb@redhat.com> - 4.6.0-1
- Update to upstream version 4.6.0
* Thu Apr 23 2015 Michal Srb <msrb@redhat.com> - 4.5.0-3
- Fix "UnboundLocalError: local variable 'pom_requires' referenced before assignment"
* Tue Apr 21 2015 Michael Simacek <msimacek@redhat.com> - 4.5.0-2
- Remove fedora-review-plugin-java subpackage
* Thu Apr 09 2015 Michal Srb <msrb@redhat.com> - 4.5.0-1
- Update to upstream version 4.5.0
* Wed Apr 1 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.4.0-4
- Remove requires on plexus-tools-pom
* Tue Mar 24 2015 Michael Simacek <msimacek@redhat.com> - 4.4.0-3
- Handle non-utf-8 poms in pom_editor
* Mon Feb 16 2015 Michael Simacek <msimacek@redhat.com> - 4.4.0-2
- Write temporary XML file as UTF-8 in pom_editor
* Mon Feb 16 2015 Michal Srb <msrb@redhat.com> - 4.4.0-1
- Update to upstream version 4.4.0
* Fri Feb 13 2015 Michal Srb <msrb@redhat.com> - 4.3.2-6
- Fix TypeError in maven_depmap (see: rhbz#1191657)
* Thu Feb 12 2015 Michael Simacek <msimacek@redhat.com> - 4.3.2-5
- Workaround for XMvn version bump (rhbz#1191657)
* Fri Jan 23 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3.2-4
- Add gradle-local subpackage
- Allow conditional builds with tests skipped
* Mon Jan 19 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3.2-3
- Port to lua 5.3.0
* Thu Jan 15 2015 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3.2-2
- Replace all dashes with dots in versioned provides and requires
* Mon Jan 05 2015 Michal Srb <msrb@redhat.com> - 4.3.2-1
- Update to upstream version 4.3.2
- Fix TypeError in mvn_artifact
* Tue Dec 23 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3.1-1
- Update to upstream version 4.3.1
* Sun Dec 14 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.3.0-1
- Update to upstream version 4.3.0
* Fri Nov 28 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.0-11
- Remove dependency on libxslt
* Fri Nov 28 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.0-10
- Scan lib64/ in OSGi dep generators
- Related: rhbz#1166156
* Wed Nov 26 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.0-9
- Revert adding namespace support in %%mvn_artifact
* Mon Nov 24 2014 Michal Srb <msrb@redhat.com> - 4.2.0-8
- Add namespace support in %%mvn_artifact
* Fri Nov 21 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.0-7
- Fix OSGi provides/requires generation in Java libdir
- Resolves: rhbz#1166156
* Wed Nov 12 2014 Michal Srb <msrb@redhat.com> - 4.2.0-6
- Fix cache problem (Resolves: rhbz#1155185)
* Thu Oct 30 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 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 <msimacek@redhat.com> - 4.2.0-4
- Fix pom_editor missing space between xmlns declarations
* Wed Sep 24 2014 Michal Srb <msrb@redhat.com> - 4.2.0-3
- Do not generate OSGi R on eclipse-platform
* Thu Sep 18 2014 Michal Srb <msrb@redhat.com> - 4.2.0-2
- Fix mvn_artifact: generate R, if it's not explicitly disabled
* Thu Jul 24 2014 Michal Srb <msrb@redhat.com> - 4.2.0-1
- Update to upstream version 4.2.0
* Thu Jul 10 2014 Michal Srb <msrb@redhat.com> - 4.1.0-2
- Backport upstream patch for maven.req
* Mon Jun 23 2014 Michal Srb <msrb@redhat.com> - 4.1.0-1
- Update to upstream version 4.1.0
* Thu Jun 12 2014 Michal Srb <msrb@redhat.com> - 4.0.0-8
- Install man page for pom_change_dep
* Tue Jun 10 2014 Michal Srb <msrb@redhat.com> - 4.0.0-7
- Backport fix for maven.prov
* Tue Jun 10 2014 Michal Srb <msrb@redhat.com> - 4.0.0-6
- Update docs
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri May 30 2014 Michal Srb <msrb@redhat.com> - 4.0.0-4
- Backport patch which adds support for "disableEffectivePom" property
* Thu May 29 2014 Michal Srb <msrb@redhat.com> - 4.0.0-3
- Add BR: javapackages-tools
* Thu May 29 2014 Michal Srb <msrb@redhat.com> - 4.0.0-2
- Backport patches for maven.req
- Remove com.sun:tools and sun.jdk:jconsole provides
* Thu May 29 2014 Michal Srb <msrb@redhat.com> - 4.0.0-1
- Update to 4.0.0
* Wed May 28 2014 Michal Srb <msrb@redhat.com> - 3.5.0-9
- Apply the patch from my previous commit
* Wed May 28 2014 Michal Srb <msrb@redhat.com> - 3.5.0-8
- Generate requires on POM artifacts with "pom" extension
* Wed Apr 30 2014 Michal Srb <msrb@redhat.com> - 3.5.0-7
- Improve support for SCLs
* Wed Apr 16 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.5.0-6
- Add explicit maven-local requires on java-1.8.0-openjdk-devel
* Thu Mar 27 2014 Michael Simacek <msimacek@redhat.com> - 3.5.0-6
- Install documentation
* Mon Feb 24 2014 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.5.0-5
- Backport java-headless patches
* Mon Feb 10 2014 Michal Srb <msrb@redhat.com> - 3.5.0-4
- Add support for installing Maven artifacts with .hpi extension
* Fri Jan 17 2014 Michael Simacek <msimacek@redhat.com> - 3.5.0-3
- Use upstream method of running tests (nosetests)
* Thu Jan 16 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.5.0-2
- Add version requirements on xmvn and ivy
* Thu Jan 16 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.5.0-1
- Update to upstream version 3.5.0
- Add ivy-local subpackage
* Tue Jan 7 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.2-3
- Update patch for ZIP files
* Tue Jan 7 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.2-2
- Allow ZIP files in %%{_javadir}
* Thu Dec 05 2013 Michal Srb <msrb@redhat.com> - 3.4.2-1
- Update to upstream bugfix release 3.4.2
* Wed Dec 4 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.1-3
- Add Requires on objectweb-pom
* Tue Nov 19 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.4.1-2
- Do not create parent dirs for pom.properties
- Resolves: rhbz#1031769
* Tue Nov 05 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.4.1-1
- Update to upstream bugfix release 3.4.1
* Mon Oct 21 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.0-3
- Fix XMvn configuration for native JNI repos
- Resolves: rhbz#1021608
* Mon Oct 14 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.0-2
- Require exact version of python-javapackages
* Mon Oct 14 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.4.0-1
- Update to upstream version 3.4.0
* Wed Oct 2 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 3.3.1-1
- Update to upstream version 3.3.1

View File

@ -1 +1 @@
SHA1 (javapackages-3.4.1.tar.xz) = 42db8f0afa0dda7783e23934475e7837547b46d1
SHA512 (5.3.0.tar.gz) = 41b5398cd276cf10c1e3ce1a8283ab9ef19df8a2ad19db20553ff31e31d26af9f14bb566574a3ee534a9af2cf1f1626086bf551b4bc6ed12bc0082c46b6b7e98

View File

@ -1,11 +0,0 @@
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<xmvn>xmvn</xmvn>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-11-openjdk</jdkHome>
</configuration>
</toolchain>
</toolchains>

View File

@ -1,11 +0,0 @@
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<xmvn>xmvn</xmvn>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-17-openjdk</jdkHome>
</configuration>
</toolchain>
</toolchains>

View File

@ -1,11 +0,0 @@
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<xmvn>xmvn</xmvn>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0-openjdk</jdkHome>
</configuration>
</toolchain>
</toolchains>