Update to upstream version 4.3.0

This commit is contained in:
Mikolaj Izdebski 2014-12-14 21:33:16 +01:00
parent aec2dc4957
commit 32eaff6e10
12 changed files with 7 additions and 427 deletions

1
.gitignore vendored
View File

@ -62,3 +62,4 @@
/javapackages-4.0.0.tar.xz /javapackages-4.0.0.tar.xz
/javapackages-4.1.0.tar.xz /javapackages-4.1.0.tar.xz
/javapackages-4.2.0.tar.xz /javapackages-4.2.0.tar.xz
/javapackages-4.3.0.tar.xz

View File

@ -1,42 +0,0 @@
diff --git a/python/javapackages/common/util.py b/python/javapackages/common/util.py
index 071805f..325650a 100644
--- a/python/javapackages/common/util.py
+++ b/python/javapackages/common/util.py
@@ -44,7 +44,7 @@ def kill_parent_process():
def get_cachedir(path, create_if_not_exists=True):
cachedir_path = os.path.join(path, ".javapackages_cache")
if not os.path.exists(cachedir_path) and create_if_not_exists:
- os.mkdir(cachedir_path)
+ os.makedirs(cachedir_path)
return cachedir_path
diff --git a/python/javapackages/metadata/metadata.py b/python/javapackages/metadata/metadata.py
index 5b507e3..a0485d1 100644
--- a/python/javapackages/metadata/metadata.py
+++ b/python/javapackages/metadata/metadata.py
@@ -250,7 +250,8 @@ class Metadata(object):
def _write_cache_file(self, cachefile, content):
try:
cachefile = open(cachefile, 'wb')
- pickle.dump(content, cachefile)
+ cache = (os.getppid(), content)
+ pickle.dump(cache, cachefile)
cachefile.close()
except IOError:
return None
@@ -260,8 +261,12 @@ class Metadata(object):
def _read_cache_file(cachefile):
try:
cachefile = open(cachefile, 'rb')
- content = pickle.load(cachefile)
+ cache = pickle.load(cachefile)
cachefile.close()
+ # check if the cache was most likely created during current build
+ if cache[0] != os.getppid():
+ logging.warning("Cache is outdated, skipping")
+ return None
except IOError:
return None
- return content
+ return cache[1]

View File

@ -1,35 +0,0 @@
From 4272dc4bfd1c2945e00c82c27760a3ae6eed28dc Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@redhat.com>
Date: Wed, 24 Sep 2014 16:48:57 +0200
Subject: [PATCH] [metadata] Read OSGi Requires from manifest only if osgi.id
property is missing in metadata
Missing osgi.requires key in properties doesn't mean that we should
always try to read Requires from manifest manually. XMvn skips this
property, if there are no interesting Requires.
---
python/javapackages/metadata/metadata.py | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/python/javapackages/metadata/metadata.py b/python/javapackages/metadata/metadata.py
index b7c4c9f..5b507e3 100644
--- a/python/javapackages/metadata/metadata.py
+++ b/python/javapackages/metadata/metadata.py
@@ -200,7 +200,13 @@ class Metadata(object):
reqs |= set(content.split(','))
continue
except KeyError:
- pass
+ try:
+ osgi_id = artifact.properties["osgi.id"]
+ # this file was already processed by XMvn and
+ # there are no interesting OSGi requires, move on
+ continue
+ except KeyError:
+ pass
if artifact.path:
import javapackages.common.osgi as osgi
r = osgi.get_requires(artifact.get_buildroot_path())
--
1.9.3

View File

@ -1,26 +0,0 @@
From eafaa146aace0885d17ff472db0a63aef75f2ce5 Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb@redhat.com>
Date: Thu, 18 Sep 2014 10:48:07 +0200
Subject: [PATCH 1/6] [mvn_artifact] Append dependencies to metadata, if we
have them
---
java-utils/mvn_artifact.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py
index ae17f9f..78074f0 100644
--- a/java-utils/mvn_artifact.py
+++ b/java-utils/mvn_artifact.py
@@ -301,6 +301,8 @@ if __name__ == "__main__":
mvn_deps = gather_dependencies(pom_path)
for d in mvn_deps:
deps.append(MetadataDependency.from_mvn_dependency(d))
+ if deps:
+ art.dependencies = set(deps)
else:
art.properties['xmvn.resolver.disableEffectivePom'] = 'true'
--
1.9.3

View File

@ -1,27 +0,0 @@
From d35af95c5cba1b898a9b183076d1a88c534415b9 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Tue, 21 Oct 2014 10:23:08 +0200
Subject: [PATCH] [pom_editor] Fix missing space between xmlns declarations
---
java-utils/pom_editor.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/java-utils/pom_editor.py b/java-utils/pom_editor.py
index ca8fe45..ce487e0 100644
--- a/java-utils/pom_editor.py
+++ b/java-utils/pom_editor.py
@@ -350,8 +350,8 @@ class Pom(XmlFile):
NSMAP = {'pom': 'http://maven.apache.org/POM/4.0.0',
'xsi': 'http://www.w3.org/2001/XMLSchema-instance'}
NS = '{' + NSMAP['pom'] + '}'
- XMLNS = ('xmlns="http://maven.apache.org/POM/4.0.0"'
- 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'
+ XMLNS = ('xmlns="http://maven.apache.org/POM/4.0.0" '
+ 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
'xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 '
'http://maven.apache.org/xsd/maven-4.0.0.xsd"')
DEPENDENCY_NODE = 'pom:dependency'
--
1.9.3

View File

@ -1,73 +0,0 @@
From dee96bf521cdbae4c80ee328968e1ff5200f2aab Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Thu, 30 Oct 2014 15:20:20 +0100
Subject: [PATCH 2/6] Use wrapper script to inject extra JVM arguments
---
install | 1 +
java-utils/java-functions | 14 ++++++++++++--
java-utils/java-wrapper | 8 ++++++++
3 files changed, 21 insertions(+), 2 deletions(-)
create mode 100644 java-utils/java-wrapper
diff --git a/install b/install
index a672a0c..97019ca 100755
--- a/install
+++ b/install
@@ -122,6 +122,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.py "${javadir}-utils"
diff --git a/java-utils/java-functions b/java-utils/java-functions
index fcadb1c..c57640f 100644
--- a/java-utils/java-functions
+++ b/java-utils/java-functions
@@ -228,7 +228,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
@@ -236,7 +241,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} "${@}"
--
1.9.3

View File

@ -1,69 +0,0 @@
From 97ee162d443fd954208c277c43f7195339b01e8d Mon Sep 17 00:00:00 2001
From: Jakub Filak <jfilak@redhat.com>
Date: Thu, 30 Oct 2014 08:36:56 +0100
Subject: [PATCH 3/6] 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>
---
build | 1 +
configure | 2 ++
java-utils/java-functions | 4 ++--
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/build b/build
index 3f5631a..336ac2a 100755
--- a/build
+++ b/build
@@ -65,6 +65,7 @@ expand()
-e "s|%{rundir}|${rundir}|" \
-e "s|%{sysconfdir}|${sysconfdir}|" \
-e "s|%{pyinterpreter}|${pyinterpreter}|" \
+ -e "s|%{abrtlibdir}|${abrtlibdir}|" \
"${1}" >"${target}"
}
diff --git a/configure b/configure
index cc8b0a1..ab9388d 100755
--- a/configure
+++ b/configure
@@ -69,6 +69,7 @@ jvmprivdir
jvmsysconfdir
mavenpomdir
pyinterpreter
+abrtlibdir
"
vars="$vars mavendepmapdir mavendepmapfragdir" # @Deprecated
@@ -90,6 +91,7 @@ test -z "${rpmconfigdir}" && rpmconfigdir="${prefix}/lib/rpm"
test -z "${m2home}" && m2home="${datadir}/xmvn"
test -z "${pyinterpreter}" && set_pyinterpreter
+test -z "${abrtlibdir}" && abrtlibdir="${prefix}/lib/abrt-java-connector"
eval $(sed -n 's/^%_\('"$vars_re"'\)\ *\(.*\)$/\1="\2"/;T;s/%{_\(.*}\)/${\1/;p' macros.d/macros.jpackage)
diff --git a/java-utils/java-functions b/java-utils/java-functions
index c57640f..8397d2c 100644
--- a/java-utils/java-functions
+++ b/java-utils/java-functions
@@ -110,8 +110,8 @@ _load_java_conf()
JAVACMD_OPTS="${java_opts_save}"
fi
- if [ "_${JAVA_ABRT}" != "_off" ] && [ -f %{libdir}/libabrt-java-connector.so ] && [ -f %{rundir}/abrt/abrtd.pid ]; then
- JAVACMD_OPTS="${JAVACMD_OPTS} -agentpath:%{libdir}/libabrt-java-connector.so=abrt=on"
+ if [ "_${JAVA_ABRT}" != "_off" ] && [ -f %{abrtlibdir}/libabrt-java-connector.so ] && [ -f %{rundir}/abrt/abrtd.pid ]; then
+ JAVACMD_OPTS="${JAVACMD_OPTS} -agentpath:%{abrtlibdir}/libabrt-java-connector.so=abrt=on"
fi
}
--
1.9.3

View File

@ -1,71 +0,0 @@
From bd3bfd39508792f91621cba0b6279eeeef4aa866 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Thu, 30 Oct 2014 09:18:08 +0100
Subject: [PATCH 4/6] Make sure %{_libdir} is not use
Javapackages as noarch package cannot safely reference libdir.
---
build | 1 -
configure | 2 --
depgenerators/fileattrs/osgi.attr | 2 +-
python/javapackages/common/osgi.py | 2 +-
4 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/build b/build
index 336ac2a..67da1b3 100755
--- a/build
+++ b/build
@@ -54,7 +54,6 @@ expand()
sed \
-e "s|%{bindir}|${bindir}|" \
- -e "s|%{libdir}|${libdir}|" \
-e "s|%{datadir}|${datadir}|" \
-e "s|%{javaconfdir}|${javaconfdir}|" \
-e "s|%{javadir}|${javadir}|" \
diff --git a/configure b/configure
index ab9388d..da9c9a1 100755
--- a/configure
+++ b/configure
@@ -44,7 +44,6 @@ function set_pyinterpreter() {
vars="
bindir
datadir
-libdir
localstatedir
mandir
prefix
@@ -82,7 +81,6 @@ 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 "${libdir}" && libdir="${prefix}/lib"
test -z "${localstatedir}" && localstatedir="${prefix}/var"
test -z "${mandir}" && mandir="${datadir}/man"
test -z "${rundir}" && rundir="${localstatedir}/run"
diff --git a/depgenerators/fileattrs/osgi.attr b/depgenerators/fileattrs/osgi.attr
index 58bba2d..f65cb0a 100644
--- a/depgenerators/fileattrs/osgi.attr
+++ b/depgenerators/fileattrs/osgi.attr
@@ -2,4 +2,4 @@
%__osgi_provides_opts %{_builddir}/%{?buildsubdir}
%__osgi_requires %{_rpmconfigdir}/osgi.req
%__osgi_requires_opts %{_builddir}/%{?buildsubdir}
-%__osgi_path ^(.*\\.jar$|((%{_libdir}|%{_datadir}).*/MANIFEST.MF))
+%__osgi_path ^(.*\\.jar$|((%{_prefix}/lib|%{_datadir})/.*/MANIFEST.MF))
diff --git a/python/javapackages/common/osgi.py b/python/javapackages/common/osgi.py
index fdfdc3b..a1d72fc 100644
--- a/python/javapackages/common/osgi.py
+++ b/python/javapackages/common/osgi.py
@@ -177,7 +177,7 @@ def _check_path(path):
# who knows where the manifest can be in buildroot
# TODO: improve this check somehow(?)
# this is an attempt to identify only MANIFEST.MF files
- # which are in %{_datadir} or %{_libdir}
+ # which are in %{_datadir} or %{_prefix}/lib
if "/usr/share/" in path or "/usr/lib" in path:
return True
return False
--
1.9.3

View File

@ -1,36 +0,0 @@
From f0a2e4226028c4a68d956ef9ac1d4d43fdbe961e Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Thu, 20 Nov 2014 16:22:52 +0100
Subject: [PATCH 5/6] Improve patterns for matching OSGi manifests
---
depgenerators/fileattrs/osgi.attr | 2 +-
python/javapackages/common/osgi.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/depgenerators/fileattrs/osgi.attr b/depgenerators/fileattrs/osgi.attr
index f65cb0a..edacd4d 100644
--- a/depgenerators/fileattrs/osgi.attr
+++ b/depgenerators/fileattrs/osgi.attr
@@ -2,4 +2,4 @@
%__osgi_provides_opts %{_builddir}/%{?buildsubdir}
%__osgi_requires %{_rpmconfigdir}/osgi.req
%__osgi_requires_opts %{_builddir}/%{?buildsubdir}
-%__osgi_path ^(.*\\.jar$|((%{_prefix}/lib|%{_datadir})/.*/MANIFEST.MF))
+%__osgi_path ^(.*\\.jar|((%{_prefix}/lib|%{_datadir})/.*/META-INF/MANIFEST.MF))$
diff --git a/python/javapackages/common/osgi.py b/python/javapackages/common/osgi.py
index a1d72fc..66610c2 100644
--- a/python/javapackages/common/osgi.py
+++ b/python/javapackages/common/osgi.py
@@ -93,7 +93,7 @@ def split_bundle_name(bundles):
def open_manifest(path):
mf = None
- if path.endswith("META-INF/MANIFEST.MF"):
+ if path.endswith("/META-INF/MANIFEST.MF"):
mf = open(path, "rb")
if zipfile.is_zipfile(path):
# looks like "zipfile.is_zipfile()" is not reliable
--
1.9.3

View File

@ -1,26 +0,0 @@
From 135a8ac0b704a39c4b5fb74025bf6440a16531af Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Fri, 28 Nov 2014 08:37:09 +0100
Subject: [PATCH 6/6] Scan lib64/ in OSGi dep generators
Java is exempt from multilib and that's why most of Java packages
install their arch-dependant stuff in /usr/lib/, not %{_libdir}.
Eclipse is an exception here - on some architectures it installs its
bundles in /usr/lib64/.
---
depgenerators/fileattrs/osgi.attr | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/depgenerators/fileattrs/osgi.attr b/depgenerators/fileattrs/osgi.attr
index edacd4d..6d8860a 100644
--- a/depgenerators/fileattrs/osgi.attr
+++ b/depgenerators/fileattrs/osgi.attr
@@ -2,4 +2,4 @@
%__osgi_provides_opts %{_builddir}/%{?buildsubdir}
%__osgi_requires %{_rpmconfigdir}/osgi.req
%__osgi_requires_opts %{_builddir}/%{?buildsubdir}
-%__osgi_path ^(.*\\.jar|((%{_prefix}/lib|%{_datadir})/.*/META-INF/MANIFEST.MF))$
+%__osgi_path ^(.*\\.jar|((%{_prefix}/lib(64)?|%{_datadir})/.*/META-INF/MANIFEST.MF))$
--
1.9.3

View File

@ -6,23 +6,14 @@
%endif %endif
Name: javapackages-tools Name: javapackages-tools
Version: 4.2.0 Version: 4.3.0
Release: 11%{?dist} Release: 1%{?dist}
Summary: Macros and scripts for Java packaging support Summary: Macros and scripts for Java packaging support
License: BSD License: BSD
URL: https://git.fedorahosted.org/git/javapackages.git URL: https://git.fedorahosted.org/git/javapackages.git
Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz
Patch0: 0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch
Patch1: 0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch
Patch2: 0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch
Patch3: 0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch
Patch4: 0003-Use-architecture-independent-location-of-abrt-java-c.patch
Patch5: 0001-fix-rhbz#1155185.patch
Patch6: 0004-Make-sure-_libdir-is-not-use.patch
Patch7: 0005-Improve-patterns-for-matching-OSGi-manifests.patch
Patch8: 0006-Scan-lib64-in-OSGi-dep-generators.patch
BuildArch: noarch BuildArch: noarch
@ -173,16 +164,6 @@ This package provides non-essential macros and scripts to support Java packaging
%prep %prep
%setup -q -n javapackages-%{version} %setup -q -n javapackages-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%if 0%{?with_python3} %if 0%{?with_python3}
find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|'
find ./depgenerators -name '*.req' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' find ./depgenerators -name '*.req' | xargs sed -i '1s|^#!.*python|#!%{__python3}|'
@ -247,6 +228,9 @@ popd
%doc LICENSE %doc LICENSE
%changelog %changelog
* 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 * Fri Nov 28 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 4.2.0-11
- Remove dependency on libxslt - Remove dependency on libxslt

View File

@ -1 +1 @@
69b79deca82c70af3f7aa5356abc5866 javapackages-4.2.0.tar.xz e928cf74c80905529cb0ecfcb0ceef0a javapackages-4.3.0.tar.xz