Backport patches for maven.req
- Remove com.sun:tools and sun.jdk:jconsole provides
This commit is contained in:
parent
d75a3d6933
commit
e2f0c5d0ec
34
0001-pom-Add-ability-to-read-parent-s-version.patch
Normal file
34
0001-pom-Add-ability-to-read-parent-s-version.patch
Normal file
@ -0,0 +1,34 @@
|
||||
From 0870cac2b02aef1e75aada3b4d235f76b0d4ee1e Mon Sep 17 00:00:00 2001
|
||||
From: Michal Srb <msrb@redhat.com>
|
||||
Date: Thu, 29 May 2014 10:23:07 +0200
|
||||
Subject: [PATCH 01/10] [pom] Add ability to read parent's version
|
||||
|
||||
---
|
||||
python/javapackages/pom.py | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/python/javapackages/pom.py b/python/javapackages/pom.py
|
||||
index 604728f..6c15813 100644
|
||||
--- a/python/javapackages/pom.py
|
||||
+++ b/python/javapackages/pom.py
|
||||
@@ -95,6 +95,17 @@ class POM(object):
|
||||
return gId.text.strip()
|
||||
|
||||
@property
|
||||
+ def parentVersion(self):
|
||||
+ """
|
||||
+ version of the parent artifact of None
|
||||
+ """
|
||||
+ ver = self.__find('./pom:parent/pom:version')
|
||||
+ if ver is None:
|
||||
+ return None
|
||||
+ else:
|
||||
+ return ver.text.strip()
|
||||
+
|
||||
+ @property
|
||||
def groupId(self):
|
||||
"""
|
||||
Effective groupId of the pom Artifact taking into account parent groupId
|
||||
--
|
||||
1.9.3
|
||||
|
@ -0,0 +1,75 @@
|
||||
From 5224614066cfd01c02112a849fca3c7969202142 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Srb <msrb@redhat.com>
|
||||
Date: Thu, 29 May 2014 10:24:39 +0200
|
||||
Subject: [PATCH 02/10] [maven.req] Check if dependency is not provided by
|
||||
subpackage
|
||||
|
||||
---
|
||||
depgenerators/maven.req | 24 +++++++++++++++++-------
|
||||
1 file changed, 17 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
||||
index c81437b..eecb055 100755
|
||||
--- a/depgenerators/maven.req
|
||||
+++ b/depgenerators/maven.req
|
||||
@@ -144,6 +144,15 @@ class TagBuilder(object):
|
||||
continue
|
||||
self.print_mvn_requires(path)
|
||||
|
||||
+ def __is_provided_by_subpackage(self, dependency):
|
||||
+ for provided in self.provided_artifacts:
|
||||
+ if (provided.groupId == dependency.groupId and
|
||||
+ provided.artifactId == dependency.artifactId and
|
||||
+ provided.classifier == dependency.classifier and
|
||||
+ provided.extension == dependency.extension):
|
||||
+ return True
|
||||
+ return False
|
||||
+
|
||||
|
||||
def __generate_requires_from_pom(self, pomfile):
|
||||
pom = POM(pomfile)
|
||||
@@ -151,6 +160,7 @@ class TagBuilder(object):
|
||||
extensions = pom.get_extensions()
|
||||
pgid = pom.parentGroupId
|
||||
paid = pom.parentArtifactId
|
||||
+ pver = pom.parentVersion
|
||||
|
||||
unresolvable = []
|
||||
|
||||
@@ -158,7 +168,7 @@ class TagBuilder(object):
|
||||
for p in plugins:
|
||||
# TODO: namespaces
|
||||
plug = Dependency(p.groupId, p.artifactId, requestedVersion=p.version)
|
||||
- if resolve_artifact(plug.get_mvn_str()):
|
||||
+ if resolve_artifact(plug.get_mvn_str()) or self.__is_provided_by_subpackage(plug):
|
||||
print(plug.get_rpm_str())
|
||||
else:
|
||||
unresolvable.append(plug.get_mvn_str())
|
||||
@@ -173,18 +183,18 @@ class TagBuilder(object):
|
||||
for e in extensions:
|
||||
# TODO: namespaces
|
||||
ext = Dependency(e.groupId, e.artifactId, requestedVersion=e.version)
|
||||
- if resolve_artifact(ext.get_mvn_str()):
|
||||
+ if resolve_artifact(ext.get_mvn_str()) or self.__is_provided_by_subpackage(ext):
|
||||
print(ext.get_rpm_str())
|
||||
else:
|
||||
unresolvable.append(plug.get_mvn_str())
|
||||
|
||||
- if paid:
|
||||
- parent_mvn_str = "{}:{}:pom:".format(pgid, paid)
|
||||
- if resolve_artifact(parent_mvn_str):
|
||||
+ if paid and pver:
|
||||
+ parent_dep = Dependency(pgid, paid, requestedVersion=pver, extension="pom")
|
||||
+ if resolve_artifact(parent_dep.get_mvn_str()) or self.__is_provided_by_subpackage(parent_dep):
|
||||
# TODO: namespaces
|
||||
- print("mvn({})".format(parent_mvn_str))
|
||||
+ print(parent_dep.get_rpm_str())
|
||||
else:
|
||||
- unresolvable.append(parent_mvn_str)
|
||||
+ unresolvable.append(parent_dep.get_mvn_str())
|
||||
|
||||
if unresolvable:
|
||||
raise Exception("Unable to generate requires on unresolvable artifact{}: {}"
|
||||
--
|
||||
1.9.3
|
||||
|
65
0004-maven.req-Generate-versioned-deps-on-subpackages.patch
Normal file
65
0004-maven.req-Generate-versioned-deps-on-subpackages.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From 8cd3338ddfeef5965f05d5082695d9d72bcf4629 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Srb <msrb@redhat.com>
|
||||
Date: Thu, 29 May 2014 11:28:57 +0200
|
||||
Subject: [PATCH 04/10] [maven.req] Generate versioned deps on subpackages
|
||||
|
||||
---
|
||||
depgenerators/maven.req | 19 ++++++++++++++-----
|
||||
1 file changed, 14 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
||||
index eecb055..56fd27f 100755
|
||||
--- a/depgenerators/maven.req
|
||||
+++ b/depgenerators/maven.req
|
||||
@@ -150,8 +150,8 @@ class TagBuilder(object):
|
||||
provided.artifactId == dependency.artifactId and
|
||||
provided.classifier == dependency.classifier and
|
||||
provided.extension == dependency.extension):
|
||||
- return True
|
||||
- return False
|
||||
+ return provided.version
|
||||
+ return None
|
||||
|
||||
|
||||
def __generate_requires_from_pom(self, pomfile):
|
||||
@@ -168,8 +168,11 @@ class TagBuilder(object):
|
||||
for p in plugins:
|
||||
# TODO: namespaces
|
||||
plug = Dependency(p.groupId, p.artifactId, requestedVersion=p.version)
|
||||
- if resolve_artifact(plug.get_mvn_str()) or self.__is_provided_by_subpackage(plug):
|
||||
+ aver = self.__is_provided_by_subpackage(plug)
|
||||
+ if resolve_artifact(plug.get_mvn_str()):
|
||||
print(plug.get_rpm_str())
|
||||
+ elif aver is not None:
|
||||
+ print("{rpmstr} = {version}".format(rpmstr=plug.get_rpm_str(), version=aver))
|
||||
else:
|
||||
unresolvable.append(plug.get_mvn_str())
|
||||
for pd in p.dependencies:
|
||||
@@ -183,16 +186,22 @@ class TagBuilder(object):
|
||||
for e in extensions:
|
||||
# TODO: namespaces
|
||||
ext = Dependency(e.groupId, e.artifactId, requestedVersion=e.version)
|
||||
- if resolve_artifact(ext.get_mvn_str()) or self.__is_provided_by_subpackage(ext):
|
||||
+ aver = self.__is_provided_by_subpackage(ext)
|
||||
+ if resolve_artifact(ext.get_mvn_str()):
|
||||
print(ext.get_rpm_str())
|
||||
+ elif aver is not None:
|
||||
+ print("{rpmstr} = {version}".format(rpmstr=ext.get_rpm_str(), version=aver))
|
||||
else:
|
||||
unresolvable.append(plug.get_mvn_str())
|
||||
|
||||
if paid and pver:
|
||||
parent_dep = Dependency(pgid, paid, requestedVersion=pver, extension="pom")
|
||||
- if resolve_artifact(parent_dep.get_mvn_str()) or self.__is_provided_by_subpackage(parent_dep):
|
||||
+ aver = self.__is_provided_by_subpackage(parent_dep)
|
||||
+ if resolve_artifact(parent_dep.get_mvn_str()):
|
||||
# TODO: namespaces
|
||||
print(parent_dep.get_rpm_str())
|
||||
+ elif aver is not None:
|
||||
+ print("{rpmstr} = {version}".format(rpmstr=parent_dep.get_rpm_str(), version=aver))
|
||||
else:
|
||||
unresolvable.append(parent_dep.get_mvn_str())
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
31
0006-maven.req-Fix-self-dependency-detection-code.patch
Normal file
31
0006-maven.req-Fix-self-dependency-detection-code.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From 424bba5b517fa1c458d7f11b10e577ba59585bd2 Mon Sep 17 00:00:00 2001
|
||||
From: Mikolaj Izdebski <mizdebsk@redhat.com>
|
||||
Date: Thu, 29 May 2014 13:08:11 +0200
|
||||
Subject: [PATCH 06/10] [maven.req] Fix self-dependency detection code
|
||||
|
||||
---
|
||||
depgenerators/maven.req | 5 +----
|
||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||
|
||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
||||
index 56fd27f..a42162e 100755
|
||||
--- a/depgenerators/maven.req
|
||||
+++ b/depgenerators/maven.req
|
||||
@@ -242,13 +242,10 @@ class TagBuilder(object):
|
||||
for compatVer in provided.compatVersions:
|
||||
if dependency.resolvedVersion == compatVer:
|
||||
return True
|
||||
- else:
|
||||
- return False
|
||||
elif (not dependency.resolvedVersion and
|
||||
not provided.is_compat()):
|
||||
return True
|
||||
- else:
|
||||
- return False
|
||||
+ return False
|
||||
|
||||
|
||||
def filter_requires(self, requires):
|
||||
--
|
||||
1.9.3
|
||||
|
26
0008-Fix-javapackages-metadata.xml.patch
Normal file
26
0008-Fix-javapackages-metadata.xml.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From a48fe9f51512fe367d44519e41c94b24ef8af983 Mon Sep 17 00:00:00 2001
|
||||
From: Mikolaj Izdebski <mizdebsk@redhat.com>
|
||||
Date: Thu, 29 May 2014 13:38:56 +0200
|
||||
Subject: [PATCH 08/10] Fix javapackages-metadata.xml
|
||||
|
||||
s/com.jdk:jconsole/sun.jdk:jconsole/
|
||||
---
|
||||
etc/javapackages-metadata.xml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/etc/javapackages-metadata.xml b/etc/javapackages-metadata.xml
|
||||
index 6f6c98e..1126a69 100644
|
||||
--- a/etc/javapackages-metadata.xml
|
||||
+++ b/etc/javapackages-metadata.xml
|
||||
@@ -9,7 +9,7 @@
|
||||
<path>${JAVA_HOME}/../lib/tools.jar</path>
|
||||
</artifact>
|
||||
<artifact>
|
||||
- <groupId>com.jdk</groupId>
|
||||
+ <groupId>sun.jdk</groupId>
|
||||
<artifactId>jconsole</artifactId>
|
||||
<version>SYSTEM</version>
|
||||
<path>${JAVA_HOME}/../lib/jconsole.jar</path>
|
||||
--
|
||||
1.9.3
|
||||
|
@ -0,0 +1,55 @@
|
||||
From 52525455278ad5801cf89a768b81499229af1f68 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Srb <msrb@redhat.com>
|
||||
Date: Thu, 29 May 2014 13:45:52 +0200
|
||||
Subject: [PATCH 10/10] [maven.req] When generating req from POM file, do not
|
||||
blindly take first POM file, but iterate over all of them and pick the right
|
||||
one
|
||||
|
||||
---
|
||||
depgenerators/maven.req | 23 ++++++++++++++++++++---
|
||||
1 file changed, 20 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
||||
index aea1dd4..dea89d7 100755
|
||||
--- a/depgenerators/maven.req
|
||||
+++ b/depgenerators/maven.req
|
||||
@@ -137,7 +137,9 @@ class TagBuilder(object):
|
||||
|
||||
if os.path.exists(XMVN_RESOLVE_PATH):
|
||||
if is_it_pom_only_pkg(paths[0]):
|
||||
- self.__generate_requires_from_pom(ppaths[0])
|
||||
+ poms = self.__find_poms_for_metadata(ppaths, paths[0])
|
||||
+ for p in poms:
|
||||
+ self.__generate_requires_from_pom(p)
|
||||
|
||||
for path in paths:
|
||||
if path.endswith(".pom"):
|
||||
@@ -154,8 +156,23 @@ class TagBuilder(object):
|
||||
return None
|
||||
|
||||
|
||||
- def __generate_requires_from_pom(self, pomfile):
|
||||
- pom = POM(pomfile)
|
||||
+ # TODO: move functions like this to some POMUtils, or similar module
|
||||
+ def __find_poms_for_metadata(self, pom_paths, metadata_path):
|
||||
+ poms = []
|
||||
+ depmap = Depmap([metadata_path])
|
||||
+ provided = depmap.get_provided_artifacts()
|
||||
+ for prov in provided:
|
||||
+ for p in pom_paths:
|
||||
+ pom = POM(p)
|
||||
+ if (pom.groupId == prov.groupId and
|
||||
+ pom.artifactId == prov.artifactId and
|
||||
+ pom.version == prov.version):
|
||||
+
|
||||
+ poms.append(pom)
|
||||
+ break
|
||||
+ return poms
|
||||
+
|
||||
+ def __generate_requires_from_pom(self, pom):
|
||||
plugins = pom.get_plugins()
|
||||
extensions = pom.get_extensions()
|
||||
pgid = pom.parentGroupId
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: javapackages-tools
|
||||
Version: 4.0.0
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
|
||||
Summary: Macros and scripts for Java packaging support
|
||||
|
||||
@ -8,6 +8,14 @@ License: BSD
|
||||
URL: https://fedorahosted.org/javapackages/
|
||||
Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz
|
||||
|
||||
Patch0: 0001-pom-Add-ability-to-read-parent-s-version.patch
|
||||
Patch1: 0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch
|
||||
Patch2: 0004-maven.req-Generate-versioned-deps-on-subpackages.patch
|
||||
Patch3: 0006-maven.req-Fix-self-dependency-detection-code.patch
|
||||
Patch4: 0008-Fix-javapackages-metadata.xml.patch
|
||||
Patch5: 0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch
|
||||
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: asciidoc
|
||||
@ -30,10 +38,6 @@ Requires: python-javapackages = %{version}-%{release}
|
||||
Provides: jpackage-utils = %{version}-%{release}
|
||||
Obsoletes: jpackage-utils < %{version}-%{release}
|
||||
|
||||
# Workaround for rhbz#1091385
|
||||
Provides: mvn(com.sun:tools)
|
||||
Provides: mvn(sun.jdk:jconsole)
|
||||
|
||||
%description
|
||||
This package provides macros and scripts to support Java packaging.
|
||||
|
||||
@ -133,6 +137,13 @@ This package provides non-essential macros and scripts to support Java packaging
|
||||
%prep
|
||||
%setup -q -n javapackages-%{version}
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
./build
|
||||
@ -172,6 +183,10 @@ popd
|
||||
%doc LICENSE
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user