From d27d04c3073d30ed7b4e7460095bb2682f4d3403 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Fri, 9 May 2014 14:05:32 +0200 Subject: [PATCH 01/29] Improve support for SCLs --- ...s-Fix-add_maven_depmap-for-SCL-usage.patch | 38 +++++++++++++++++++ ...acros-Fix-xmvn-install-for-SCL-usage.patch | 26 +++++++++++++ javapackages-tools.spec | 10 ++++- 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch create mode 100644 0004-macros-Fix-xmvn-install-for-SCL-usage.patch diff --git a/0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch b/0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch new file mode 100644 index 0000000..ccc56d1 --- /dev/null +++ b/0003-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.8.5.3 + diff --git a/0004-macros-Fix-xmvn-install-for-SCL-usage.patch b/0004-macros-Fix-xmvn-install-for-SCL-usage.patch new file mode 100644 index 0000000..26472e2 --- /dev/null +++ b/0004-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.8.5.3 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index ab82f97..b1dbe8a 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 3.5.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Macros and scripts for Java packaging support @@ -14,6 +14,9 @@ Patch0: 0001-Add-support-for-installing-hpi.patch Patch1: 0001-depgenerators-Switch-to-require-java-headless-instea.patch Patch2: 0002-test-Fix-testsuite-for-java-headless-change.patch +Patch3: 0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch +Patch4: 0004-macros-Fix-xmvn-install-for-SCL-usage.patch + BuildArch: noarch BuildRequires: jpackage-utils @@ -124,6 +127,8 @@ Requires: fedora-review %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build %configure @@ -161,6 +166,9 @@ popd %changelog +* 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 From 5449a7daaf38a3001070e5ea9808d3320bdb6e73 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Wed, 28 May 2014 08:13:24 +0200 Subject: [PATCH 02/29] Generate requires on POM artifacts with "pom" extension --- 0001-generate-correct-requires-on-poms.patch | 28 ++++++++++++++++++++ javapackages-tools.spec | 7 ++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 0001-generate-correct-requires-on-poms.patch diff --git a/0001-generate-correct-requires-on-poms.patch b/0001-generate-correct-requires-on-poms.patch new file mode 100644 index 0000000..5805d06 --- /dev/null +++ b/0001-generate-correct-requires-on-poms.patch @@ -0,0 +1,28 @@ +From fdeb8bb300c10bfda861d602e84d2befd429d1c4 Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Wed, 28 May 2014 08:08:42 +0200 +Subject: [PATCH] [maven.req] Generate correct requires on POMs + +All POM files in Rawhide should be fixed now +--- + depgenerators/maven.req | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/depgenerators/maven.req b/depgenerators/maven.req +index 5bd6c34..eeab8d6 100755 +--- a/depgenerators/maven.req ++++ b/depgenerators/maven.req +@@ -131,10 +131,6 @@ class TagBuilder: + version=m_provided.version)) + break + else: +- # TODO: remove when not needed +- # do not generate requires like "a:b:pom:" yet +- if dependency.extension == "pom": +- dependency.extension = "" + print(dependency.get_rpm_str(dependency.version)) + + if unknown_deps: +-- +1.9.3 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index b1dbe8a..8a6e246 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 3.5.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Macros and scripts for Java packaging support @@ -17,6 +17,8 @@ Patch2: 0002-test-Fix-testsuite-for-java-headless-change.patch Patch3: 0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch Patch4: 0004-macros-Fix-xmvn-install-for-SCL-usage.patch +Patch5: 0001-generate-correct-requires-on-poms.patch + BuildArch: noarch BuildRequires: jpackage-utils @@ -166,6 +168,9 @@ popd %changelog +* 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 From de1e9d78736130eed8edb4bc94be85d1a5e112c3 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Wed, 28 May 2014 08:50:00 +0200 Subject: [PATCH 03/29] Apply the patch from my previous commit --- javapackages-tools.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 8a6e246..8c3e26c 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 3.5.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Macros and scripts for Java packaging support @@ -131,6 +131,7 @@ Requires: fedora-review %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %build %configure @@ -168,6 +169,9 @@ popd %changelog +* 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 From d75a3d6933c2494f343a45757bc6053512b5b99e Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 29 May 2014 08:30:57 +0200 Subject: [PATCH 04/29] Add new sources for 4.0.0 and remove old patches --- .gitignore | 1 + 0001-Add-support-for-installing-hpi.patch | 85 ------------------- ...itch-to-require-java-headless-instea.patch | 26 ------ 0001-generate-correct-requires-on-poms.patch | 28 ------ ...x-testsuite-for-java-headless-change.patch | 34 -------- ...s-Fix-add_maven_depmap-for-SCL-usage.patch | 38 --------- ...acros-Fix-xmvn-install-for-SCL-usage.patch | 26 ------ sources | 2 +- 8 files changed, 2 insertions(+), 238 deletions(-) delete mode 100644 0001-Add-support-for-installing-hpi.patch delete mode 100644 0001-depgenerators-Switch-to-require-java-headless-instea.patch delete mode 100644 0001-generate-correct-requires-on-poms.patch delete mode 100644 0002-test-Fix-testsuite-for-java-headless-change.patch delete mode 100644 0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch delete mode 100644 0004-macros-Fix-xmvn-install-for-SCL-usage.patch diff --git a/.gitignore b/.gitignore index fa67ae2..9ca17cd 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ /javapackages-3.4.1.tar.xz /javapackages-3.4.2.tar.xz /javapackages-3.5.0.tar.xz +/javapackages-4.0.0.tar.xz diff --git a/0001-Add-support-for-installing-hpi.patch b/0001-Add-support-for-installing-hpi.patch deleted file mode 100644 index e5526a2..0000000 --- a/0001-Add-support-for-installing-hpi.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff --git a/configs/configuration-20-rpmbuild-raw.xml b/configs/configuration-20-rpmbuild-raw.xml -index eb99908..9ab7b30 100644 ---- a/configs/configuration-20-rpmbuild-raw.xml -+++ b/configs/configuration-20-rpmbuild-raw.xml -@@ -37,6 +37,18 @@ - - - -+ jenkins-plugin -+ jpp -+ -+ usr/share/jenkins/plugins -+ -+ -+ -+ hpi -+ -+ -+ -+ - base-jni - jpp - -diff --git a/configs/configuration-20-rpmbuild.xml b/configs/configuration-20-rpmbuild.xml -index 5ecb4ba..7a7b543 100644 ---- a/configs/configuration-20-rpmbuild.xml -+++ b/configs/configuration-20-rpmbuild.xml -@@ -49,6 +49,18 @@ - - - -+ jenkins-plugin -+ jpp -+ -+ usr/share/jenkins/plugins -+ -+ -+ -+ hpi -+ -+ -+ -+ - base-jni - jpp - -diff --git a/configs/configuration-20.xml b/configs/configuration-20.xml -index 1186b46..fa6798d 100644 ---- a/configs/configuration-20.xml -+++ b/configs/configuration-20.xml -@@ -86,6 +86,18 @@ - - - -+ jenkins-plugin -+ jpp -+ -+ usr/share/jenkins/plugins -+ -+ -+ -+ hpi -+ -+ -+ -+ - base-jni - jpp - -@@ -107,6 +119,7 @@ - base-raw-pom - base-jar - base-jni -+ jenkins-plugin - - - -@@ -118,6 +131,7 @@ - base-raw-pom - base-jni - base-jar -+ jenkins-plugin - - - diff --git a/0001-depgenerators-Switch-to-require-java-headless-instea.patch b/0001-depgenerators-Switch-to-require-java-headless-instea.patch deleted file mode 100644 index 172ef22..0000000 --- a/0001-depgenerators-Switch-to-require-java-headless-instea.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 102fee5e1e7661356502ca89d6a73889b826af6b Mon Sep 17 00:00:00 2001 -From: Stanislav Ochotnicky -Date: Wed, 29 Jan 2014 17:23:28 +0100 -Subject: [PATCH 01/15] [depgenerators] Switch to require java-headless instead - java - ---- - depgenerators/maven.req | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/depgenerators/maven.req b/depgenerators/maven.req -index 5bd6c34..c161e3d 100755 ---- a/depgenerators/maven.req -+++ b/depgenerators/maven.req -@@ -158,7 +158,7 @@ class TagBuilder: - "%mvn_package {art} \n".format(art=skipped) - raise Exception(skipped_msg) - -- reqs = {'java': depmap.get_java_requires(), -+ reqs = {'java-headless': depmap.get_java_requires(), - 'java-devel': depmap.get_java_devel_requires()} - for name, version in reqs.iteritems(): - self.__process_jvm_req(name, version) --- -1.8.5.3 - diff --git a/0001-generate-correct-requires-on-poms.patch b/0001-generate-correct-requires-on-poms.patch deleted file mode 100644 index 5805d06..0000000 --- a/0001-generate-correct-requires-on-poms.patch +++ /dev/null @@ -1,28 +0,0 @@ -From fdeb8bb300c10bfda861d602e84d2befd429d1c4 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 28 May 2014 08:08:42 +0200 -Subject: [PATCH] [maven.req] Generate correct requires on POMs - -All POM files in Rawhide should be fixed now ---- - depgenerators/maven.req | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/depgenerators/maven.req b/depgenerators/maven.req -index 5bd6c34..eeab8d6 100755 ---- a/depgenerators/maven.req -+++ b/depgenerators/maven.req -@@ -131,10 +131,6 @@ class TagBuilder: - version=m_provided.version)) - break - else: -- # TODO: remove when not needed -- # do not generate requires like "a:b:pom:" yet -- if dependency.extension == "pom": -- dependency.extension = "" - print(dependency.get_rpm_str(dependency.version)) - - if unknown_deps: --- -1.9.3 - diff --git a/0002-test-Fix-testsuite-for-java-headless-change.patch b/0002-test-Fix-testsuite-for-java-headless-change.patch deleted file mode 100644 index b2c3f4e..0000000 --- a/0002-test-Fix-testsuite-for-java-headless-change.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7cf7e60b9ce308cf7d0cbbe3da142781ce736696 Mon Sep 17 00:00:00 2001 -From: Stanislav Ochotnicky -Date: Wed, 29 Jan 2014 17:40:39 +0100 -Subject: [PATCH 02/15] [test] Fix testsuite for java-headless change - ---- - test/maven_req_test.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/maven_req_test.py b/test/maven_req_test.py -index 4551bb5..b99672f 100644 ---- a/test/maven_req_test.py -+++ b/test/maven_req_test.py -@@ -26,7 +26,7 @@ class TestMavenReq(unittest.TestCase): - @mavenreq(["require-java/require.xml"]) - def test_require_java(self, stdout, stderr, return_value): - self.assertEquals(return_value, 0, stderr) -- self.assertEquals(stdout, "jpackage-utils\nmvn(org.apache.maven:maven-project)\njava >= 1:1.6\n") -+ self.assertEquals(stdout, "jpackage-utils\nmvn(org.apache.maven:maven-project)\njava-headless >= 1:1.6\n") - - @mavenreq(["require-java-devel/require.xml"]) - def test_require_java_devel(self, stdout, stderr, return_value): -@@ -36,7 +36,7 @@ class TestMavenReq(unittest.TestCase): - @mavenreq(["require-java-both/require.xml"]) - def test_require_java_both(self, stdout, stderr, return_value): - self.assertEquals(return_value, 0, stderr) -- self.assertEquals(stdout, "jpackage-utils\nmvn(org.apache.maven:maven-project)\njava >= 1:1.6\njava-devel >= 1:1.6\n") -+ self.assertEquals(stdout, "jpackage-utils\nmvn(org.apache.maven:maven-project)\njava-headless >= 1:1.6\njava-devel >= 1:1.6\n") - - @mavenreq(["require_parent/require.xml"]) - def test_require_parent(self, stdout, stderr, return_value): --- -1.8.5.3 - diff --git a/0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch b/0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch deleted file mode 100644 index ccc56d1..0000000 --- a/0003-macros-Fix-add_maven_depmap-for-SCL-usage.patch +++ /dev/null @@ -1,38 +0,0 @@ -From cf8978c21d0a6f0bf9a00983f123597c8bb331b6 Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Wed, 12 Feb 2014 18:24:13 +0100 -Subject: [PATCH 2/3] [macros] Fix add_maven_depmap for SCL usage - -Use %{pkg_name} when calling without arguments -Let's make sure we install fragment file without prefix ---- - etc/macros.fjava | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/etc/macros.fjava b/etc/macros.fjava -index bdfd624..e2a41e6 100644 ---- a/etc/macros.fjava -+++ b/etc/macros.fjava -@@ -52,8 +52,8 @@ - set -e \ - # default values \ - %if %# == 0 \ -- _pompart="JPP-%{name}.pom" \ -- _jarpart="%{name}.jar" \ -+ _pompart="JPP-%{?scl:%{pkg_name}}%{!?scl:%{name}}.pom" \ -+ _jarpart="%{?scl:%{pkg_name}}%{!?scl:%{name}}.jar" \ - %else \ - _pompart="%1" \ - _jarpart="%2" \ -@@ -67,7 +67,7 @@ for _dir in %{_jnidir} %{_javajnidir} %{_javadir}; do \ - done \ - python -m %{javadir}-utils/maven_depmap %{-a} %{-v*:-r %{-v*}} \\\ - -p "%{_prefix}" -n "%{?scl}" \\\ -- %{buildroot}%{_mavendepmapfragdir}/%{name}%{-f*:-%{-f*}} \\\ -+ %{buildroot}%{_mavendepmapfragdir}/%{?scl:%{pkg_name}}%{!?scl:%{name}}%{-f*:-%{-f*}} \\\ - %{buildroot}%{_mavenpomdir}/$_pompart \\\ - %if %# == 2 \ - "${_jpath}" \\\ --- -1.8.5.3 - diff --git a/0004-macros-Fix-xmvn-install-for-SCL-usage.patch b/0004-macros-Fix-xmvn-install-for-SCL-usage.patch deleted file mode 100644 index 26472e2..0000000 --- a/0004-macros-Fix-xmvn-install-for-SCL-usage.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8c19c2aeaf637d39ade97c6b644ca174b3a8a8d0 Mon Sep 17 00:00:00 2001 -From: Stanislav Ochotnicky -Date: Tue, 11 Feb 2014 11:33:17 +0100 -Subject: [PATCH 3/3] [macros] Fix xmvn-install for SCL usage - -The passed package name was incorrect for xmvn-install ---- - etc/macros.xmvn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/etc/macros.xmvn b/etc/macros.xmvn -index 5ec8123..707dac2 100644 ---- a/etc/macros.xmvn -+++ b/etc/macros.xmvn -@@ -141,7 +141,7 @@ - # buildroot. It is intended to be placed in %install section of spec file. - # - %mvn_install(J:X) \ --xmvn-install %{?-X} -R .xmvn-reactor -n "${RPM_PACKAGE_NAME}" -d "%{buildroot}" \ -+xmvn-install %{?-X} -R .xmvn-reactor -n %{?scl:%{pkg_name}}%{!?scl:%{name}} -d "%{buildroot}" \ - jdir="%{-J*:%{-J*}}%{!-J*:target/site/apidocs}" \ - if [ -d "${jdir}" ]; then \ - install -dm755 %{buildroot}%{_javadocdir}/%{name} \ --- -1.8.5.3 - diff --git a/sources b/sources index f733f20..4a59577 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c3eccf51b90a81e05b10e110fee603ed javapackages-3.5.0.tar.xz +58eb18136de46d69e30a1787aa874c3f javapackages-4.0.0.tar.xz From e2f0c5d0ecb43090a6b6b90cead220f0791155f1 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 29 May 2014 12:45:52 +0200 Subject: [PATCH 05/29] Backport patches for maven.req - Remove com.sun:tools and sun.jdk:jconsole provides --- ...Add-ability-to-read-parent-s-version.patch | 34 +++++++++ ...if-dependency-is-not-provided-by-sub.patch | 75 +++++++++++++++++++ ...nerate-versioned-deps-on-subpackages.patch | 65 ++++++++++++++++ ...q-Fix-self-dependency-detection-code.patch | 31 ++++++++ 0008-Fix-javapackages-metadata.xml.patch | 26 +++++++ ...enerating-req-from-POM-file-do-not-b.patch | 55 ++++++++++++++ javapackages-tools.spec | 25 +++++-- 7 files changed, 306 insertions(+), 5 deletions(-) create mode 100644 0001-pom-Add-ability-to-read-parent-s-version.patch create mode 100644 0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch create mode 100644 0004-maven.req-Generate-versioned-deps-on-subpackages.patch create mode 100644 0006-maven.req-Fix-self-dependency-detection-code.patch create mode 100644 0008-Fix-javapackages-metadata.xml.patch create mode 100644 0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch diff --git a/0001-pom-Add-ability-to-read-parent-s-version.patch b/0001-pom-Add-ability-to-read-parent-s-version.patch new file mode 100644 index 0000000..437fe56 --- /dev/null +++ b/0001-pom-Add-ability-to-read-parent-s-version.patch @@ -0,0 +1,34 @@ +From 0870cac2b02aef1e75aada3b4d235f76b0d4ee1e Mon Sep 17 00:00:00 2001 +From: Michal Srb +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 + diff --git a/0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch b/0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch new file mode 100644 index 0000000..bd3e471 --- /dev/null +++ b/0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch @@ -0,0 +1,75 @@ +From 5224614066cfd01c02112a849fca3c7969202142 Mon Sep 17 00:00:00 2001 +From: Michal Srb +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 + diff --git a/0004-maven.req-Generate-versioned-deps-on-subpackages.patch b/0004-maven.req-Generate-versioned-deps-on-subpackages.patch new file mode 100644 index 0000000..af506ff --- /dev/null +++ b/0004-maven.req-Generate-versioned-deps-on-subpackages.patch @@ -0,0 +1,65 @@ +From 8cd3338ddfeef5965f05d5082695d9d72bcf4629 Mon Sep 17 00:00:00 2001 +From: Michal Srb +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 + diff --git a/0006-maven.req-Fix-self-dependency-detection-code.patch b/0006-maven.req-Fix-self-dependency-detection-code.patch new file mode 100644 index 0000000..92dc6aa --- /dev/null +++ b/0006-maven.req-Fix-self-dependency-detection-code.patch @@ -0,0 +1,31 @@ +From 424bba5b517fa1c458d7f11b10e577ba59585bd2 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +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 + diff --git a/0008-Fix-javapackages-metadata.xml.patch b/0008-Fix-javapackages-metadata.xml.patch new file mode 100644 index 0000000..7e06c9f --- /dev/null +++ b/0008-Fix-javapackages-metadata.xml.patch @@ -0,0 +1,26 @@ +From a48fe9f51512fe367d44519e41c94b24ef8af983 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +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 @@ + ${JAVA_HOME}/../lib/tools.jar + + +- com.jdk ++ sun.jdk + jconsole + SYSTEM + ${JAVA_HOME}/../lib/jconsole.jar +-- +1.9.3 + diff --git a/0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch b/0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch new file mode 100644 index 0000000..6b9a279 --- /dev/null +++ b/0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch @@ -0,0 +1,55 @@ +From 52525455278ad5801cf89a768b81499229af1f68 Mon Sep 17 00:00:00 2001 +From: Michal Srb +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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 48a6e0a..c18ca57 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -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 - 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 From adfc4ad28293fc82a88fad38f3f85876e213897b Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 29 May 2014 16:24:04 +0200 Subject: [PATCH 06/29] Add BR: javapackages-tools no prov generator = no provides --- javapackages-tools.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index c18ca57..9ccd59b 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.0.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Macros and scripts for Java packaging support @@ -28,6 +28,7 @@ BuildRequires: scl-utils-build BuildRequires: python-nose BuildRequires: dia BuildRequires: PyXB >= 1.2.3 +BuildRequires: javapackages-tools >= 4.0.0 Requires: coreutils Requires: libxslt @@ -183,6 +184,9 @@ popd %doc LICENSE %changelog +* 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 From ca531689703a8235299b6da951cf65471a70fa87 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Fri, 30 May 2014 08:34:01 +0200 Subject: [PATCH 07/29] Backport patch which adds support for "disableEffectivePom" property --- ...esolver.disableEffectivePom-property.patch | 112 ++++++++++++++++++ javapackages-tools.spec | 8 +- 2 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 add-support-for-xmvn.resolver.disableEffectivePom-property.patch diff --git a/add-support-for-xmvn.resolver.disableEffectivePom-property.patch b/add-support-for-xmvn.resolver.disableEffectivePom-property.patch new file mode 100644 index 0000000..63a6561 --- /dev/null +++ b/add-support-for-xmvn.resolver.disableEffectivePom-property.patch @@ -0,0 +1,112 @@ +diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py +index 9377725..c80ff5b 100644 +--- a/java-utils/maven_depmap.py ++++ b/java-utils/maven_depmap.py +@@ -280,6 +280,7 @@ if __name__ == "__main__": + if namespace: + artifact.namespace = namespace + ++ artifact.properties["xmvn.resolver.disableEffectivePom"] = "true" + + + buildroot = os.environ.get('RPM_BUILD_ROOT') +diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py +index e5e2731..9c0d55a 100644 +--- a/java-utils/mvn_artifact.py ++++ b/java-utils/mvn_artifact.py +@@ -45,8 +45,6 @@ from javapackages.pom import * + from lxml import etree + import pyxb + +-from xml.dom.minidom import getDOMImplementation +- + + usage="usage: %prog [options] [artifact path]" + epilog=""" +@@ -117,21 +115,17 @@ def add_artifact_elements(root, uart, ppath=None, jpath=None): + for path in [ppath, jpath]: + if path: + a = uart.to_metadata() ++ props = [] + if path is ppath: + if not is_it_ivy_file(ppath): + a.extension = "pom" + else: + a.extension = os.path.splitext(pom_path)[1][1:] +- +- # add property "type" +- domimpl = getDOMImplementation() +- doc = domimpl.createDocument(None, None, None) +- ty = doc.createElement('type') +- te = doc.createTextNode('ivy') +- ty.appendChild(te) +- a.properties = pyxb.BIND(ty) ++ props.append(Depmap.build_property('type', 'ivy')) + + a.path = os.path.abspath(path) ++ props.append(Depmap.build_property('xmvn.resolver.disableEffectivePom', 'true')) ++ a.properties = pyxb.BIND(*props) + artifacts.append(a) + + if root.artifacts is None: +diff --git a/python/javapackages/artifact.py b/python/javapackages/artifact.py +index ed8e0ba..33d1583 100644 +--- a/python/javapackages/artifact.py ++++ b/python/javapackages/artifact.py +@@ -130,7 +130,6 @@ class ProvidedArtifact(object): + return result + + def to_metadata(self): +- # TODO: add support for properties(?) + a = m.ArtifactMetadata() + a.groupId = self.groupId + a.artifactId = self.artifactId +@@ -149,6 +148,11 @@ class ProvidedArtifact(object): + als = [alias.to_metadata() for alias in self.aliases] + a.aliases = pyxb.BIND(*als) + ++ if self.properties: ++ import javapackages.depmap ++ prop = [javapackages.depmap.Depmap.build_property(k, v) for k, v in self.properties.iteritems()] ++ a.properties = pyxb.BIND(*prop) ++ + return a + + @classmethod +diff --git a/python/javapackages/depmap.py b/python/javapackages/depmap.py +index 356af95..a4b83fb 100644 +--- a/python/javapackages/depmap.py ++++ b/python/javapackages/depmap.py +@@ -41,6 +41,7 @@ from javapackages.artifact import (Artifact, Dependency, ProvidedArtifact, + import pyxb + + import javapackages.metadata as metadata ++from xml.dom.minidom import getDOMImplementation + + + class MetadataLoadingException(Exception): +@@ -170,3 +171,12 @@ class Depmap(object): + if prop.tagName == u'requiresJavaDevel': + return prop.firstChild.value + return None ++ ++ @staticmethod ++ def build_property(name, value): ++ domimpl = getDOMImplementation() ++ doc = domimpl.createDocument(None, None, None) ++ elem = doc.createElement(name) ++ tnode = doc.createTextNode(value) ++ elem.appendChild(tnode) ++ return elem +diff --git a/test/run_tests.sh b/test/run_tests.sh +index 55d47cd..8bdc221 100755 +--- a/test/run_tests.sh ++++ b/test/run_tests.sh +@@ -1,6 +1,6 @@ + #!/bin/bash + +-PYTHONPATH="../python" nosetests --with-xunit --exclude=maven_prov_test_fuzzed.py ++PYTHONPATH="../python" nosetests --with-xunit --exclude="(maven_prov)|(maven_depmap)|(mvn_artifact)_test.py" + r1=$? + r2=0 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 9ccd59b..2db0104 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.0.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Macros and scripts for Java packaging support @@ -14,7 +14,7 @@ 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 - +Patch6: add-support-for-xmvn.resolver.disableEffectivePom-property.patch BuildArch: noarch @@ -144,6 +144,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %build %configure @@ -184,6 +185,9 @@ popd %doc LICENSE %changelog +* 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 From cf612e37634298c911bb79703b273c5bc6963ae4 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 18:30:37 -0500 Subject: [PATCH 08/29] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- javapackages-tools.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 2db0104..1c8e5f3 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.0.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Macros and scripts for Java packaging support @@ -185,6 +185,9 @@ popd %doc LICENSE %changelog +* 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 From e8641a572f2a623531b5ca8c7f3daf78752a764a Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Tue, 10 Jun 2014 08:44:27 +0200 Subject: [PATCH 09/29] Update docs --- javapackages-tools.spec | 7 +- update-docs.patch | 227 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 update-docs.patch diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 1c8e5f3..0f98f32 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.0.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Macros and scripts for Java packaging support @@ -15,6 +15,7 @@ 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 Patch6: add-support-for-xmvn.resolver.disableEffectivePom-property.patch +Patch7: update-docs.patch BuildArch: noarch @@ -145,6 +146,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %build %configure @@ -185,6 +187,9 @@ popd %doc LICENSE %changelog +* 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 diff --git a/update-docs.patch b/update-docs.patch new file mode 100644 index 0000000..411e173 --- /dev/null +++ b/update-docs.patch @@ -0,0 +1,227 @@ +diff --git a/doc/ant.txt b/doc/ant.txt +index 06ba3f3..fc500c3 100644 +--- a/doc/ant.txt ++++ b/doc/ant.txt +@@ -22,7 +22,7 @@ Repository for it, ship it as another source and install it. + [source,spec] + ------------- + BuildRequires: ant +-BuildRequires: maven-local ++BuildRequires: javapackages-local + ... + %build + ant test +diff --git a/doc/core_java_packages.txt b/doc/core_java_packages.txt +index 34e0728..2baf4b2 100644 +--- a/doc/core_java_packages.txt ++++ b/doc/core_java_packages.txt +@@ -51,9 +51,39 @@ non-zero epoch in order to keep version ordering correct. + ======= + + ++==== Java Packages Tools ++ ++Java Packages Tools are packaged as severas binary RPM packages ++ ++*`maven-local`*:: ++ ++ This package provides a complete environment which is required to ++ build Java packages using Apache Maven build system. This ++ includes a default system version of Java Development Kit (JDK), ++ Maven, a number of Maven plugins commonly used to build packages, ++ various macros and utlilty tools. `maven-local` is usually ++ declared as build dependency of Maven packages. ++ ++*`ivy-local`*:: ++ ++ Analogously to `maven-local`, this package provides an environment ++ required to build Java packages using Apache Ivy as dependency ++ manager. ++ ++*`javapackages-local`*:: ++ ++ Package providing a basic environment necessary to geterate and ++ install metadata for system artifact repository. ++ ++*`javapackages-tools`*:: ++ ++ Package owning basic Java directories and providing runtime ++ support for Java packages. The great majority of Java packages ++ depend on `javapackages-tools`. ++ ++ + TODO + +-* Java Packages Tools + * Ant + ** extra tasks and /etc/ant.d + * Maven +diff --git a/doc/directory_layout.txt b/doc/directory_layout.txt +index 862ccd4..907777d 100644 +--- a/doc/directory_layout.txt ++++ b/doc/directory_layout.txt +@@ -34,13 +34,6 @@ short description. + Maven are installed. Each POM must have name that strictly + corresponds to JAR file in `%{_javadir}` or `%{_jnidir}`. + +-*`%{_mavendepmapfragdir}`* -- `/usr/share/maven-fragments`:: +- +- Directory containing package metadata in XML format. Typically +- each binary package installs there a single XML file containing +- various information (metadata) about artifacts associated with +- that package. +- + + .Other directories + [glossary] +diff --git a/doc/generic_java_build.txt b/doc/generic_java_build.txt +index 6fb09bb..5c29c95 100644 +--- a/doc/generic_java_build.txt ++++ b/doc/generic_java_build.txt +@@ -11,49 +11,18 @@ POM or JAR file, we may use the `%add_maven_depmap` macro. However, if package + is build in standard way (i.e.: `%mvn_build` and `%mvn_install`), then calling + `%add_maven_depmap` is neither needed nor recommended. This macro is usually + useful only for packages that use other build tool than Maven (e.g.: ant, +-gradle). It creates files in `%{_mavendepmapfragdir}` that map +-groupId:artifactId pairs to JAR files under `%{_javadir}`. These files are +-called depmap fragments. The macro can read the groupId and artifactId from the +-POM file or maintainer can pass this information as an argument. All fragments +-in `%{_mavendepmapfragdir}` directory are read by XMvn, allowing the +-locally installed JAR and POM files to be used as a maven repository. +- +-Note that -- unless you use the `-f` option as shown below -- all +-depmap fragments for a given package are written to the same file, +-`%{_mavendepmapfragdir}/%{name}`. You should be sure to include this +-file in the `%files` section of your RPM. ++gradle). + + For the macro to work properly, all JAR files must be copied into `%{_javadir}` +-and all POM files must be copied into `%{_mavenpomdir}` and given file names of +-the following form, where `jarname` is the name of the JAR without the .jar +-suffix: ++and all POM files must be copied into `%{_mavenpomdir}`. + +-[source,spec] +--------- +-%{_mavenpomdir}/JPP[.subdirectory]-jarname.pom +--------- +- +-Note that the subdirectory is only necessary if the JAR file is put into a +-subdirectory of `%{_javadir}`. For example: +- +-* For junit, the JAR is `%{_javadir}/junit.jar`, so the POM would be +- `%{_mavenpomdir}/JPP-junit.pom`. +-* For plexus-ant-factory, the JAR is `%{_javadir}/plexus/ant-factory.jar`, so +- the POM would named `%{_mavenpomdir}/JPP.plexus-ant-factory.pom`. +- +-If a POM is installed with no corresponding JAR file -- for example, for parent +-POM files -- the same convention should be followed: +- +-* The Apache commons parent POM is installed in +- `%{_mavenpomdir}/JPP-commons-parent.pom`. +- +-In its simplest form (a POM without a JAR file), `%add_maven_depmap` looks like ++In simplest form (a POM without a JAR file), `%add_maven_depmap` looks like + this: + + .Parent POM + [source,spec] + -------- +-%add_maven_depmap JPP-%{name}.pom ++%add_maven_depmap %{name}.pom + -------- + + This will read the POM file in question and provide a mapping between the +@@ -65,7 +34,7 @@ For a POM that maps directly to a JAR file, the following is the correct form: + .Standard invocation + [source,spec] + -------- +-%add_maven_depmap JPP-%{name}.pom %{name}.jar ++%add_maven_depmap %{name}.pom %{name}.jar + -------- + + In addition to creating the POM mapping, this will also ensure that the correct +@@ -82,7 +51,7 @@ mapping between Maven artifact and corresponding JAR file: + .Providing additional artifact mappings + [source,spec] + -------- +-%add_maven_depmap JPP-%{name}.pom %{name}.jar -a "org.apache.commons:commons-lang" ++%add_maven_depmap %{name}.pom %{name}.jar -a "org.apache.commons:commons-lang" + -------- + This form also adds additional mappings for given POM/JAR file. For example, if + the POM file indicates that it contains groupId commons-lang, artifactId +@@ -94,16 +63,16 @@ require different IDs than those reflected in the installed POM. + .Multiple subpackages + [source,spec] + -------- +-%add_maven_depmap JPP-%{name}.pom %{name}.jar -f "XXX" ++%add_maven_depmap %{name}.pom %{name}.jar -f "XXX" + -------- +-This form stores dependency mapping inside `%{_mavendepmapfragdir}/%{name}-XXX` +-instead of standard location. This is useful for packages with multiple +-subpackages where each has its own JAR files. ++This form stores metadata information in file with suffix "XXX". This ++is useful for packages with multiple subpackages where each has its own ++JAR files. + + .Multiple artifacts in a subdirectory + [source,spec] + -------- +-%add_maven_depmap JPP.%{name}-sub.pom %{name}/sub.jar ++%add_maven_depmap %{name}-sub.pom %{name}/sub.jar + -------- + + This form should be used when a package consists of multiple JAR files that are +diff --git a/doc/index.txt b/doc/index.txt +index f9af27e..22c9ab2 100644 +--- a/doc/index.txt ++++ b/doc/index.txt +@@ -63,22 +63,6 @@ References + 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. + ISBN 1-56592-580-7. + +- +-[glossary] +-Glossary +--------- +-Glossaries are optional. Glossaries entries are an example of a style +-of AsciiDoc labeled lists. +- +-[glossary] +-[[Xdepmap]]depmap:: +- Depmap is a special file telling Maven relationships between +- groupId,artifactId and JAR file on the filesystem +- +-A second glossary term:: +- The corresponding (indented) definition. +- +- + ifdef::backend-docbook[] + [index] + Example Index +diff --git a/doc/maven.txt b/doc/maven.txt +index 7539d00..63c8cc8 100644 +--- a/doc/maven.txt ++++ b/doc/maven.txt +@@ -35,7 +35,7 @@ BuildRequires: maven-local + + The macros `%mvn_build` and `%mvn_install` automatically handle building of the + JAR files and their subsequent installation to the correct directory. The +-corresponding POM and <> files are also installed. ++corresponding POM and metadata files are also installed. + + [[packaging_maven_project]] + === Packaging Maven project +diff --git a/doc/mvn_macros.txt b/doc/mvn_macros.txt +index c1b9aa2..1115cc8 100644 +--- a/doc/mvn_macros.txt ++++ b/doc/mvn_macros.txt +@@ -66,7 +66,7 @@ If the project consists of multiple artifacts, it is recommended to install each + artifact to the separate subpackage. The macro `%mvn_build -s` will generate + separate `.mfiles` file for every artifact in the project. This file contains + list of files related to specific artifact (typically JAR file, POM file and +-depmap). It can be later used in `%files` section of the spec file. ++metadata). It can be later used in `%files` section of the spec file. + + .Creating one subpackage for each generated artifact + [source,spec] From f94bdba80c2938ee66bcebea71f3e9e2e2fbdf65 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Tue, 10 Jun 2014 16:36:57 +0200 Subject: [PATCH 10/29] Backport fix for maven.prov --- ...e-provides-for-compat-artifacts-with.patch | 43 +++++++++++++++++++ javapackages-tools.spec | 7 ++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 0001-artifact-Generate-provides-for-compat-artifacts-with.patch diff --git a/0001-artifact-Generate-provides-for-compat-artifacts-with.patch b/0001-artifact-Generate-provides-for-compat-artifacts-with.patch new file mode 100644 index 0000000..122ea59 --- /dev/null +++ b/0001-artifact-Generate-provides-for-compat-artifacts-with.patch @@ -0,0 +1,43 @@ +From 642f1828322489c6b5b0e450994a3d8a5836d56f Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Tue, 10 Jun 2014 16:19:18 +0200 +Subject: [PATCH] [artifact] Generate provides for compat artifacts with + alliases + +--- + python/javapackages/artifact.py | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/python/javapackages/artifact.py b/python/javapackages/artifact.py +index c6afc34..fc3f245 100644 +--- a/python/javapackages/artifact.py ++++ b/python/javapackages/artifact.py +@@ -108,19 +108,21 @@ class ProvidedArtifact(object): + strlist = [] + if not self.compatVersions: + strlist.append(self.artifact.get_rpm_str()) ++ for alias in self.aliases: ++ full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact) ++ strlist.append(full_alias.get_rpm_str()) + else: + for ver in self.compatVersions: + rpmstr = self.artifact.get_rpm_str(ver) + strlist.append(rpmstr) ++ for alias in self.aliases: ++ full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact) ++ strlist.append(full_alias.get_rpm_str(ver)) + + if not (self.version): + raise ArtifactFormatException( + "Cannot create versioned string from artifact without version: {art}".format(art=str(self))) + +- for alias in self.aliases: +- full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact) +- strlist.append(full_alias.get_rpm_str()) +- + result = "" + for rpmstr in strlist: + if result: +-- +1.9.3 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 0f98f32..6f10847 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.0.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Macros and scripts for Java packaging support @@ -16,6 +16,7 @@ Patch4: 0008-Fix-javapackages-metadata.xml.patch Patch5: 0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch Patch6: add-support-for-xmvn.resolver.disableEffectivePom-property.patch Patch7: update-docs.patch +Patch8: 0001-artifact-Generate-provides-for-compat-artifacts-with.patch BuildArch: noarch @@ -147,6 +148,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %build %configure @@ -187,6 +189,9 @@ popd %doc LICENSE %changelog +* 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 From eaf84163c79f5b534e6534db3ca65316936d7296 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 12 Jun 2014 10:46:57 +0200 Subject: [PATCH 11/29] Install man page for pom_change_dep --- install-pom_change_dep-man-page.patch | 24 ++++++++++++++++++++++++ javapackages-tools.spec | 7 ++++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 install-pom_change_dep-man-page.patch diff --git a/install-pom_change_dep-man-page.patch b/install-pom_change_dep-man-page.patch new file mode 100644 index 0000000..bf98eb4 --- /dev/null +++ b/install-pom_change_dep-man-page.patch @@ -0,0 +1,24 @@ +diff --git a/install b/install +index 6caf88f..16216a7 100755 +--- a/install ++++ b/install +@@ -142,6 +142,7 @@ inst_data target/pom_disable_module.7 "${mandir}/man7" + inst_data target/pom_remove_dep.7 "${mandir}/man7" + inst_data target/pom_remove_parent.7 "${mandir}/man7" + inst_data target/pom_remove_plugin.7 "${mandir}/man7" ++inst_data target/pom_change_dep.7 "${mandir}/man7" + inst_data target/pom_set_parent.7 "${mandir}/man7" + inst_data target/pom_xpath_inject.7 "${mandir}/man7" + inst_data target/pom_xpath_remove.7 "${mandir}/man7" +diff --git a/man/pom_change_dep.txt b/man/pom_change_dep.txt +index 234853f..3871641 100644 +--- a/man/pom_change_dep.txt ++++ b/man/pom_change_dep.txt +@@ -1,5 +1,5 @@ +-pom_add_dep(7) +-============== ++pom_change_dep(7) ++================= + :doctype: manpage + :man source: JAVAPACKAGES + :man manual: Java Packages Tools diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 6f10847..66f0b2b 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.0.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Macros and scripts for Java packaging support @@ -17,6 +17,7 @@ Patch5: 0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch Patch6: add-support-for-xmvn.resolver.disableEffectivePom-property.patch Patch7: update-docs.patch Patch8: 0001-artifact-Generate-provides-for-compat-artifacts-with.patch +Patch9: install-pom_change_dep-man-page.patch BuildArch: noarch @@ -149,6 +150,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %build %configure @@ -189,6 +191,9 @@ popd %doc LICENSE %changelog +* 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 From 67dd7fb8b4a19a0a6ff2831cd77a915271a0af3e Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 23 Jun 2014 13:07:46 +0200 Subject: [PATCH 12/29] Bump version to 4.1.0 --- javapackages-tools.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 2e91eb9..634fc11 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,5 +1,5 @@ Name: javapackages-tools -Version: 4.0.0 +Version: 4.1.0 Release: 0%{?dist} Summary: Macros and scripts for Java packaging support From 7bb246babd9f95123a4c9152f8be57ac57657eee Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 23 Jun 2014 13:16:20 +0200 Subject: [PATCH 13/29] Update to upstream version 4.1.0 --- .gitignore | 1 + javapackages-tools.spec | 27 ++++----------------------- sources | 2 +- 3 files changed, 6 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 9ca17cd..08034b2 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ /javapackages-3.4.2.tar.xz /javapackages-3.5.0.tar.xz /javapackages-4.0.0.tar.xz +/javapackages-4.1.0.tar.xz diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 0984f3e..600457e 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.1.0 -Release: 0%{?dist} +Release: 1%{?dist} Summary: Macros and scripts for Java packaging support @@ -8,17 +8,6 @@ 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 -Patch6: add-support-for-xmvn.resolver.disableEffectivePom-property.patch -Patch7: update-docs.patch -Patch8: 0001-artifact-Generate-provides-for-compat-artifacts-with.patch -Patch9: install-pom_change_dep-man-page.patch - BuildArch: noarch BuildRequires: asciidoc @@ -142,17 +131,6 @@ 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 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 - %build %configure ./build @@ -192,6 +170,9 @@ popd %doc LICENSE %changelog +* 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 diff --git a/sources b/sources index 4a59577..555cc91 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -58eb18136de46d69e30a1787aa874c3f javapackages-4.0.0.tar.xz +90858a73cb6ba12b19c6a7d70a4c2cdf javapackages-4.1.0.tar.xz From 3fac0151974699d28f303252cdd93d69bb1dca0a Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 10 Jul 2014 15:35:00 +0200 Subject: [PATCH 14/29] Backport upstream patch for maven.req --- ...ets-resolvedVersion-to-UNKNOWN-for-u.patch | 26 +++++++++++++++++++ javapackages-tools.spec | 9 ++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch diff --git a/0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch b/0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch new file mode 100644 index 0000000..0eea72d --- /dev/null +++ b/0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch @@ -0,0 +1,26 @@ +From 9b45dfe3a03e70c1413b7a1a7ee88431a4fe7f4c Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Thu, 10 Jul 2014 15:30:17 +0200 +Subject: [PATCH] [maven.req] XMvn sets resolvedVersion to UNKNOWN for + unresolvable deps + +--- + depgenerators/maven.req | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/depgenerators/maven.req b/depgenerators/maven.req +index 2e99c1e..f7133d6 100755 +--- a/depgenerators/maven.req ++++ b/depgenerators/maven.req +@@ -310,7 +310,7 @@ class TagBuilder(object): + + unknown_deps = self.check_deps(metadata) + for dependency in metadata.get_required_artifacts(): +- if dependency.requestedVersion == "UNKNOWN": ++ if dependency.resolvedVersion == "UNKNOWN": + unknown_deps.append(dependency) + continue + for skipped in self.skipped_artifacts: +-- +1.9.3 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 600457e..5b75975 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,6 +1,6 @@ Name: javapackages-tools Version: 4.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Macros and scripts for Java packaging support @@ -8,6 +8,8 @@ License: BSD URL: https://fedorahosted.org/javapackages/ Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz +Patch0: 0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch + BuildArch: noarch BuildRequires: asciidoc @@ -131,6 +133,8 @@ This package provides non-essential macros and scripts to support Java packaging %prep %setup -q -n javapackages-%{version} +%patch0 -p1 + %build %configure ./build @@ -170,6 +174,9 @@ popd %doc LICENSE %changelog +* 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 From ee8847f60abd5535f1ce54556a5a55c1e84fd828 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Tue, 9 Sep 2014 09:23:57 +0200 Subject: [PATCH 15/29] Update to upstream version 4.2.0 --- .gitignore | 1 + ...e-provides-for-compat-artifacts-with.patch | 43 ---- ...ets-resolvedVersion-to-UNKNOWN-for-u.patch | 26 -- ...Add-ability-to-read-parent-s-version.patch | 34 --- ...if-dependency-is-not-provided-by-sub.patch | 75 ------ ...nerate-versioned-deps-on-subpackages.patch | 65 ----- ...q-Fix-self-dependency-detection-code.patch | 31 --- 0008-Fix-javapackages-metadata.xml.patch | 26 -- ...enerating-req-from-POM-file-do-not-b.patch | 55 ----- ...esolver.disableEffectivePom-property.patch | 112 --------- build.bash | 58 ----- fedora-rawhide-x86_64.cfg | 37 --- install-pom_change_dep-man-page.patch | 24 -- javapackages-tools.spec | 110 +++++++-- sources | 2 +- update-docs.patch | 227 ------------------ 16 files changed, 86 insertions(+), 840 deletions(-) delete mode 100644 0001-artifact-Generate-provides-for-compat-artifacts-with.patch delete mode 100644 0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch delete mode 100644 0001-pom-Add-ability-to-read-parent-s-version.patch delete mode 100644 0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch delete mode 100644 0004-maven.req-Generate-versioned-deps-on-subpackages.patch delete mode 100644 0006-maven.req-Fix-self-dependency-detection-code.patch delete mode 100644 0008-Fix-javapackages-metadata.xml.patch delete mode 100644 0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch delete mode 100644 add-support-for-xmvn.resolver.disableEffectivePom-property.patch delete mode 100644 build.bash delete mode 100644 fedora-rawhide-x86_64.cfg delete mode 100644 install-pom_change_dep-man-page.patch delete mode 100644 update-docs.patch diff --git a/.gitignore b/.gitignore index 08034b2..80132d2 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ /javapackages-3.5.0.tar.xz /javapackages-4.0.0.tar.xz /javapackages-4.1.0.tar.xz +/javapackages-4.2.0.tar.xz diff --git a/0001-artifact-Generate-provides-for-compat-artifacts-with.patch b/0001-artifact-Generate-provides-for-compat-artifacts-with.patch deleted file mode 100644 index 122ea59..0000000 --- a/0001-artifact-Generate-provides-for-compat-artifacts-with.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 642f1828322489c6b5b0e450994a3d8a5836d56f Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Tue, 10 Jun 2014 16:19:18 +0200 -Subject: [PATCH] [artifact] Generate provides for compat artifacts with - alliases - ---- - python/javapackages/artifact.py | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/python/javapackages/artifact.py b/python/javapackages/artifact.py -index c6afc34..fc3f245 100644 ---- a/python/javapackages/artifact.py -+++ b/python/javapackages/artifact.py -@@ -108,19 +108,21 @@ class ProvidedArtifact(object): - strlist = [] - if not self.compatVersions: - strlist.append(self.artifact.get_rpm_str()) -+ for alias in self.aliases: -+ full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact) -+ strlist.append(full_alias.get_rpm_str()) - else: - for ver in self.compatVersions: - rpmstr = self.artifact.get_rpm_str(ver) - strlist.append(rpmstr) -+ for alias in self.aliases: -+ full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact) -+ strlist.append(full_alias.get_rpm_str(ver)) - - if not (self.version): - raise ArtifactFormatException( - "Cannot create versioned string from artifact without version: {art}".format(art=str(self))) - -- for alias in self.aliases: -- full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact) -- strlist.append(full_alias.get_rpm_str()) -- - result = "" - for rpmstr in strlist: - if result: --- -1.9.3 - diff --git a/0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch b/0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch deleted file mode 100644 index 0eea72d..0000000 --- a/0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9b45dfe3a03e70c1413b7a1a7ee88431a4fe7f4c Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Thu, 10 Jul 2014 15:30:17 +0200 -Subject: [PATCH] [maven.req] XMvn sets resolvedVersion to UNKNOWN for - unresolvable deps - ---- - depgenerators/maven.req | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/depgenerators/maven.req b/depgenerators/maven.req -index 2e99c1e..f7133d6 100755 ---- a/depgenerators/maven.req -+++ b/depgenerators/maven.req -@@ -310,7 +310,7 @@ class TagBuilder(object): - - unknown_deps = self.check_deps(metadata) - for dependency in metadata.get_required_artifacts(): -- if dependency.requestedVersion == "UNKNOWN": -+ if dependency.resolvedVersion == "UNKNOWN": - unknown_deps.append(dependency) - continue - for skipped in self.skipped_artifacts: --- -1.9.3 - diff --git a/0001-pom-Add-ability-to-read-parent-s-version.patch b/0001-pom-Add-ability-to-read-parent-s-version.patch deleted file mode 100644 index 437fe56..0000000 --- a/0001-pom-Add-ability-to-read-parent-s-version.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0870cac2b02aef1e75aada3b4d235f76b0d4ee1e Mon Sep 17 00:00:00 2001 -From: Michal Srb -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 - diff --git a/0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch b/0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch deleted file mode 100644 index bd3e471..0000000 --- a/0002-maven.req-Check-if-dependency-is-not-provided-by-sub.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 5224614066cfd01c02112a849fca3c7969202142 Mon Sep 17 00:00:00 2001 -From: Michal Srb -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 - diff --git a/0004-maven.req-Generate-versioned-deps-on-subpackages.patch b/0004-maven.req-Generate-versioned-deps-on-subpackages.patch deleted file mode 100644 index af506ff..0000000 --- a/0004-maven.req-Generate-versioned-deps-on-subpackages.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 8cd3338ddfeef5965f05d5082695d9d72bcf4629 Mon Sep 17 00:00:00 2001 -From: Michal Srb -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 - diff --git a/0006-maven.req-Fix-self-dependency-detection-code.patch b/0006-maven.req-Fix-self-dependency-detection-code.patch deleted file mode 100644 index 92dc6aa..0000000 --- a/0006-maven.req-Fix-self-dependency-detection-code.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 424bba5b517fa1c458d7f11b10e577ba59585bd2 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -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 - diff --git a/0008-Fix-javapackages-metadata.xml.patch b/0008-Fix-javapackages-metadata.xml.patch deleted file mode 100644 index 7e06c9f..0000000 --- a/0008-Fix-javapackages-metadata.xml.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a48fe9f51512fe367d44519e41c94b24ef8af983 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -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 @@ - ${JAVA_HOME}/../lib/tools.jar - - -- com.jdk -+ sun.jdk - jconsole - SYSTEM - ${JAVA_HOME}/../lib/jconsole.jar --- -1.9.3 - diff --git a/0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch b/0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch deleted file mode 100644 index 6b9a279..0000000 --- a/0010-maven.req-When-generating-req-from-POM-file-do-not-b.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 52525455278ad5801cf89a768b81499229af1f68 Mon Sep 17 00:00:00 2001 -From: Michal Srb -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 - diff --git a/add-support-for-xmvn.resolver.disableEffectivePom-property.patch b/add-support-for-xmvn.resolver.disableEffectivePom-property.patch deleted file mode 100644 index 63a6561..0000000 --- a/add-support-for-xmvn.resolver.disableEffectivePom-property.patch +++ /dev/null @@ -1,112 +0,0 @@ -diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py -index 9377725..c80ff5b 100644 ---- a/java-utils/maven_depmap.py -+++ b/java-utils/maven_depmap.py -@@ -280,6 +280,7 @@ if __name__ == "__main__": - if namespace: - artifact.namespace = namespace - -+ artifact.properties["xmvn.resolver.disableEffectivePom"] = "true" - - - buildroot = os.environ.get('RPM_BUILD_ROOT') -diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py -index e5e2731..9c0d55a 100644 ---- a/java-utils/mvn_artifact.py -+++ b/java-utils/mvn_artifact.py -@@ -45,8 +45,6 @@ from javapackages.pom import * - from lxml import etree - import pyxb - --from xml.dom.minidom import getDOMImplementation -- - - usage="usage: %prog [options] [artifact path]" - epilog=""" -@@ -117,21 +115,17 @@ def add_artifact_elements(root, uart, ppath=None, jpath=None): - for path in [ppath, jpath]: - if path: - a = uart.to_metadata() -+ props = [] - if path is ppath: - if not is_it_ivy_file(ppath): - a.extension = "pom" - else: - a.extension = os.path.splitext(pom_path)[1][1:] -- -- # add property "type" -- domimpl = getDOMImplementation() -- doc = domimpl.createDocument(None, None, None) -- ty = doc.createElement('type') -- te = doc.createTextNode('ivy') -- ty.appendChild(te) -- a.properties = pyxb.BIND(ty) -+ props.append(Depmap.build_property('type', 'ivy')) - - a.path = os.path.abspath(path) -+ props.append(Depmap.build_property('xmvn.resolver.disableEffectivePom', 'true')) -+ a.properties = pyxb.BIND(*props) - artifacts.append(a) - - if root.artifacts is None: -diff --git a/python/javapackages/artifact.py b/python/javapackages/artifact.py -index ed8e0ba..33d1583 100644 ---- a/python/javapackages/artifact.py -+++ b/python/javapackages/artifact.py -@@ -130,7 +130,6 @@ class ProvidedArtifact(object): - return result - - def to_metadata(self): -- # TODO: add support for properties(?) - a = m.ArtifactMetadata() - a.groupId = self.groupId - a.artifactId = self.artifactId -@@ -149,6 +148,11 @@ class ProvidedArtifact(object): - als = [alias.to_metadata() for alias in self.aliases] - a.aliases = pyxb.BIND(*als) - -+ if self.properties: -+ import javapackages.depmap -+ prop = [javapackages.depmap.Depmap.build_property(k, v) for k, v in self.properties.iteritems()] -+ a.properties = pyxb.BIND(*prop) -+ - return a - - @classmethod -diff --git a/python/javapackages/depmap.py b/python/javapackages/depmap.py -index 356af95..a4b83fb 100644 ---- a/python/javapackages/depmap.py -+++ b/python/javapackages/depmap.py -@@ -41,6 +41,7 @@ from javapackages.artifact import (Artifact, Dependency, ProvidedArtifact, - import pyxb - - import javapackages.metadata as metadata -+from xml.dom.minidom import getDOMImplementation - - - class MetadataLoadingException(Exception): -@@ -170,3 +171,12 @@ class Depmap(object): - if prop.tagName == u'requiresJavaDevel': - return prop.firstChild.value - return None -+ -+ @staticmethod -+ def build_property(name, value): -+ domimpl = getDOMImplementation() -+ doc = domimpl.createDocument(None, None, None) -+ elem = doc.createElement(name) -+ tnode = doc.createTextNode(value) -+ elem.appendChild(tnode) -+ return elem -diff --git a/test/run_tests.sh b/test/run_tests.sh -index 55d47cd..8bdc221 100755 ---- a/test/run_tests.sh -+++ b/test/run_tests.sh -@@ -1,6 +1,6 @@ - #!/bin/bash - --PYTHONPATH="../python" nosetests --with-xunit --exclude=maven_prov_test_fuzzed.py -+PYTHONPATH="../python" nosetests --with-xunit --exclude="(maven_prov)|(maven_depmap)|(mvn_artifact)_test.py" - r1=$? - r2=0 - diff --git a/build.bash b/build.bash deleted file mode 100644 index e895029..0000000 --- a/build.bash +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -ex - -resultdir="/var/lib/mock/javapackages-rawhide/result/" - -# create directories -repo=RPM/latest/ -[[ ! -d ${repo} ]] && mkdir -p ${repo} - -# update version and release tag in spec file -version=`sed 's/-SNAPSHOT//' VERSION` -release=$(git describe --match="[^(jenkins)].*" --tags | sed 's/[^-]*-/0./;s/-/./;s/g/git/') -sed -i "s/^Version:\s\+[0-9.]*$/Version: ${version}/" javapackages-tools.spec -sed -i "s/^Release:\s\+[0-9.]*%{?dist}$/Release: ${release}/" javapackages-tools.spec - -# make tarball -git archive -v --prefix=javapackages-${version}/ HEAD | xz > javapackages-${version}.tar.xz - -# print root.log and build.log in case of failure -trap "cat ${resultdir}/root.log | tail -30; cat ${resultdir}/build.log || :" 0 - -# crate srpm -rm -f SRPMS/* -rpmbuild -bs --clean --define "_topdir `pwd`" --define "_sourcedir `pwd`" javapackages-tools.spec - -# build RPM with custom mock config -rm -Rf ${resultdir}/* -mock -r ../..$PWD/fedora-rawhide-x86_64 SRPMS/*.src.rpm - -# get nosetests results -mock -r ../..$PWD/fedora-rawhide-x86_64 --copyout /builddir/build/BUILD/javapackages-${version}/test/nosetests.xml . - -# remove unneeded stuff -rm -f javapackages-*.tar.xz - -last_bn=`grep "Build number" ${repo}/info.log | awk '{ print $3 }'` -if [ -n "${last_bn}" ]; then - mkdir -p RPM/${last_bn} - mv ${repo}/* RPM/${last_bn} - - # we only want keep RPMs from last 10 builds - blist=`find ./RPM/ -maxdepth 1 -name "[0-9]*"` - for bn in $blist; do - if [ `basename $bn` -lt `expr $last_bn - 10` ]; then - rm -Rf $bn - fi - done -fi - -# copy resulting RPMs to RPM/latest -cp ${resultdir}/* ${repo} - -tail -n 50 ${resultdir}/build.log - -createrepo ${repo} - -# store current build number into the file -echo "Build number: $BUILD_NUMBER" >> ${repo}/info.log - diff --git a/fedora-rawhide-x86_64.cfg b/fedora-rawhide-x86_64.cfg deleted file mode 100644 index 54bb30b..0000000 --- a/fedora-rawhide-x86_64.cfg +++ /dev/null @@ -1,37 +0,0 @@ -config_opts['root'] = 'javapackages-rawhide' -config_opts['target_arch'] = 'x86_64' -config_opts['legal_host_arches'] = ('x86_64',) -config_opts['chroot_setup_cmd'] = 'install @buildsys-build PyXB asciidoc dia python-formencode python-lxml python-nose python-setuptools python2-devel scl-utils-build xmlto' -config_opts['dist'] = 'rawhide' # only useful for --resultdir variable subst -config_opts['extra_chroot_dirs'] = [ '/run/lock', ] -config_opts['releasever'] = '21' - -config_opts['yum.conf'] = """ -[main] -logfile=/var/log/yum.log -retries=20 -gpgcheck=0 -assumeyes=1 -syslog_ident=mock -syslog_device= -metadata_expire=1 -mirrorlist_expire=1 -debuglevel=2 - -[mock-rawhide] -name=mock-rawhide -mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64 -failovermethod=priority -cost=1000 - -[mock-koji] -name=mock-koji -baseurl=http://kojipkgs.fedoraproject.org/repos/rawhide/latest/x86_64/ -cost=2000 - -[mock-override] -name=mock-override -baseurl=http://people.redhat.com/~mizdebsk/jenkins-extra-repo/ -gpgcheck=0 -cost=500 -""" diff --git a/install-pom_change_dep-man-page.patch b/install-pom_change_dep-man-page.patch deleted file mode 100644 index bf98eb4..0000000 --- a/install-pom_change_dep-man-page.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/install b/install -index 6caf88f..16216a7 100755 ---- a/install -+++ b/install -@@ -142,6 +142,7 @@ inst_data target/pom_disable_module.7 "${mandir}/man7" - inst_data target/pom_remove_dep.7 "${mandir}/man7" - inst_data target/pom_remove_parent.7 "${mandir}/man7" - inst_data target/pom_remove_plugin.7 "${mandir}/man7" -+inst_data target/pom_change_dep.7 "${mandir}/man7" - inst_data target/pom_set_parent.7 "${mandir}/man7" - inst_data target/pom_xpath_inject.7 "${mandir}/man7" - inst_data target/pom_xpath_remove.7 "${mandir}/man7" -diff --git a/man/pom_change_dep.txt b/man/pom_change_dep.txt -index 234853f..3871641 100644 ---- a/man/pom_change_dep.txt -+++ b/man/pom_change_dep.txt -@@ -1,5 +1,5 @@ --pom_add_dep(7) --============== -+pom_change_dep(7) -+================= - :doctype: manpage - :man source: JAVAPACKAGES - :man manual: Java Packages Tools diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 5b75975..b861ead 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,39 +1,61 @@ +%if 0%{?fedora} > 12 +%global with_python3 1 +%else +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} +%endif + Name: javapackages-tools -Version: 4.1.0 -Release: 2%{?dist} +Version: 4.2.0 +Release: 1%{?dist} Summary: Macros and scripts for Java packaging support License: BSD -URL: https://fedorahosted.org/javapackages/ +URL: https://git.fedorahosted.org/git/javapackages.git Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz -Patch0: 0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch - BuildArch: noarch +%if 0%{?with_python3} +BuildRequires: python3-devel +BuildRequires: python3-lxml +BuildRequires: python3-setuptools +BuildRequires: python3-nose +BuildRequires: python3-six +BuildRequires: python3-PyXB = 1.2.4 +%else +BuildRequires: python2-devel +BuildRequires: python-lxml +BuildRequires: python-setuptools +BuildRequires: python-nose +BuildRequires: python-six +BuildRequires: PyXB = 1.2.4 +%endif BuildRequires: asciidoc BuildRequires: xmlto -BuildRequires: python-lxml -BuildRequires: python2-devel -BuildRequires: python-setuptools -BuildRequires: python-formencode BuildRequires: scl-utils-build -BuildRequires: python-nose BuildRequires: dia -BuildRequires: PyXB >= 1.2.3 BuildRequires: javapackages-tools >= 4.0.0 -BuildRequires: xmvn-resolve >= 2.0.0 +BuildRequires: xmvn-resolve >= 2 Requires: coreutils Requires: libxslt Requires: lua -Requires: python +%if 0%{?with_python3} +Requires: python3-javapackages = %{version}-%{release} +Requires: python3 +%else Requires: python-javapackages = %{version}-%{release} +Requires: python +%endif Provides: jpackage-utils = %{version}-%{release} Obsoletes: jpackage-utils < %{version}-%{release} +Provides: mvn(com.sun:tools) +Provides: mvn(sun.jdk:jconsole) + %description This package provides macros and scripts to support Java packaging. @@ -90,14 +112,31 @@ Requires: xmvn-connector-ivy >= 2 This package implements local mode fow Apache Ivy, which allows artifact resolution using XMvn resolver. +%if 0%{?with_python3} +%package -n python3-javapackages +Summary: Module for handling various files for Java packaging +Requires: python3-PyXB = 1.2.4 +Requires: python3-lxml +Requires: python3-six +Obsoletes: python-javapackages < %{version}-%{release} + +%description -n python3-javapackages +Module for handling, querying and manipulating of various files for Java +packaging in Linux distributions + +%else # python2 %package -n python-javapackages Summary: Module for handling various files for Java packaging -Requires: PyXB >= 1.2.3 +Requires: PyXB = 1.2.4 Requires: python-lxml +Requires: python-six +Obsoletes: python3-javapackages < %{version}-%{release} %description -n python-javapackages Module for handling, querying and manipulating of various files for Java packaging in Linux distributions +%endif + %package -n fedora-review-plugin-java Summary: fedora-review plugin for checking Java packaging guidelines @@ -119,13 +158,6 @@ Requires: %{name} = %{version}-%{release} Requires: xmvn-install >= 2 Requires: xmvn-subst >= 2 Requires: xmvn-resolve >= 2 -# We want to use OpenJDK 8 for building packages as it is default -# implementation used in Fedora. Due to YUM bugs and limitations, -# sometimes Java 7 may be installed alone. To workaround this -# maven-local explicitly requires version 8 of OpenJDK. (If needed -# Maven can still work with Java 7, but this needs to be enabled -# explicitly in the spec file.) -Requires: java-1.8.0-openjdk-devel >= 1:1.8 %description -n javapackages-local This package provides non-essential macros and scripts to support Java packaging. @@ -133,13 +165,23 @@ This package provides non-essential macros and scripts to support Java packaging %prep %setup -q -n javapackages-%{version} -%patch0 -p1 +%if 0%{?with_python3} +find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' +find ./depgenerators -name '*.req' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' +find ./depgenerators -name '*.prov' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' +%endif # with_python3 + %build %configure ./build + pushd python -%{__python} setup.py build +%if 0%{?with_python3} + %{__python3} setup.py build +%else +%{__python2} setup.py build +%endif popd %install @@ -147,12 +189,19 @@ popd sed -e 's/.[17]$/&.gz/' -e 's/.py$/&*/' -i files-* pushd python -%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT +%if 0%{?with_python3} + %{__python3} setup.py install -O1 --skip-build --root %{buildroot} +%else +%{__python} setup.py install -O1 --skip-build --root %{buildroot} +%endif popd %check -./check - +%if 0%{?with_python3} +./check 3 +%else +./check 2 +%endif %files -f files-common %doc LICENSE @@ -163,9 +212,15 @@ popd %files -n ivy-local -f files-ivy +%if 0%{?with_python3} +%files -n python3-javapackages +%doc LICENSE +%{python3_sitelib}/javapackages* +%else # python2 %files -n python-javapackages %doc LICENSE %{python_sitelib}/javapackages* +%endif %files -n fedora-review-plugin-java %{_datadir}/fedora-review/plugins/* @@ -174,6 +229,9 @@ popd %doc LICENSE %changelog +* 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 diff --git a/sources b/sources index 555cc91..174927a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -90858a73cb6ba12b19c6a7d70a4c2cdf javapackages-4.1.0.tar.xz +69b79deca82c70af3f7aa5356abc5866 javapackages-4.2.0.tar.xz diff --git a/update-docs.patch b/update-docs.patch deleted file mode 100644 index 411e173..0000000 --- a/update-docs.patch +++ /dev/null @@ -1,227 +0,0 @@ -diff --git a/doc/ant.txt b/doc/ant.txt -index 06ba3f3..fc500c3 100644 ---- a/doc/ant.txt -+++ b/doc/ant.txt -@@ -22,7 +22,7 @@ Repository for it, ship it as another source and install it. - [source,spec] - ------------- - BuildRequires: ant --BuildRequires: maven-local -+BuildRequires: javapackages-local - ... - %build - ant test -diff --git a/doc/core_java_packages.txt b/doc/core_java_packages.txt -index 34e0728..2baf4b2 100644 ---- a/doc/core_java_packages.txt -+++ b/doc/core_java_packages.txt -@@ -51,9 +51,39 @@ non-zero epoch in order to keep version ordering correct. - ======= - - -+==== Java Packages Tools -+ -+Java Packages Tools are packaged as severas binary RPM packages -+ -+*`maven-local`*:: -+ -+ This package provides a complete environment which is required to -+ build Java packages using Apache Maven build system. This -+ includes a default system version of Java Development Kit (JDK), -+ Maven, a number of Maven plugins commonly used to build packages, -+ various macros and utlilty tools. `maven-local` is usually -+ declared as build dependency of Maven packages. -+ -+*`ivy-local`*:: -+ -+ Analogously to `maven-local`, this package provides an environment -+ required to build Java packages using Apache Ivy as dependency -+ manager. -+ -+*`javapackages-local`*:: -+ -+ Package providing a basic environment necessary to geterate and -+ install metadata for system artifact repository. -+ -+*`javapackages-tools`*:: -+ -+ Package owning basic Java directories and providing runtime -+ support for Java packages. The great majority of Java packages -+ depend on `javapackages-tools`. -+ -+ - TODO - --* Java Packages Tools - * Ant - ** extra tasks and /etc/ant.d - * Maven -diff --git a/doc/directory_layout.txt b/doc/directory_layout.txt -index 862ccd4..907777d 100644 ---- a/doc/directory_layout.txt -+++ b/doc/directory_layout.txt -@@ -34,13 +34,6 @@ short description. - Maven are installed. Each POM must have name that strictly - corresponds to JAR file in `%{_javadir}` or `%{_jnidir}`. - --*`%{_mavendepmapfragdir}`* -- `/usr/share/maven-fragments`:: -- -- Directory containing package metadata in XML format. Typically -- each binary package installs there a single XML file containing -- various information (metadata) about artifacts associated with -- that package. -- - - .Other directories - [glossary] -diff --git a/doc/generic_java_build.txt b/doc/generic_java_build.txt -index 6fb09bb..5c29c95 100644 ---- a/doc/generic_java_build.txt -+++ b/doc/generic_java_build.txt -@@ -11,49 +11,18 @@ POM or JAR file, we may use the `%add_maven_depmap` macro. However, if package - is build in standard way (i.e.: `%mvn_build` and `%mvn_install`), then calling - `%add_maven_depmap` is neither needed nor recommended. This macro is usually - useful only for packages that use other build tool than Maven (e.g.: ant, --gradle). It creates files in `%{_mavendepmapfragdir}` that map --groupId:artifactId pairs to JAR files under `%{_javadir}`. These files are --called depmap fragments. The macro can read the groupId and artifactId from the --POM file or maintainer can pass this information as an argument. All fragments --in `%{_mavendepmapfragdir}` directory are read by XMvn, allowing the --locally installed JAR and POM files to be used as a maven repository. -- --Note that -- unless you use the `-f` option as shown below -- all --depmap fragments for a given package are written to the same file, --`%{_mavendepmapfragdir}/%{name}`. You should be sure to include this --file in the `%files` section of your RPM. -+gradle). - - For the macro to work properly, all JAR files must be copied into `%{_javadir}` --and all POM files must be copied into `%{_mavenpomdir}` and given file names of --the following form, where `jarname` is the name of the JAR without the .jar --suffix: -+and all POM files must be copied into `%{_mavenpomdir}`. - --[source,spec] ---------- --%{_mavenpomdir}/JPP[.subdirectory]-jarname.pom ---------- -- --Note that the subdirectory is only necessary if the JAR file is put into a --subdirectory of `%{_javadir}`. For example: -- --* For junit, the JAR is `%{_javadir}/junit.jar`, so the POM would be -- `%{_mavenpomdir}/JPP-junit.pom`. --* For plexus-ant-factory, the JAR is `%{_javadir}/plexus/ant-factory.jar`, so -- the POM would named `%{_mavenpomdir}/JPP.plexus-ant-factory.pom`. -- --If a POM is installed with no corresponding JAR file -- for example, for parent --POM files -- the same convention should be followed: -- --* The Apache commons parent POM is installed in -- `%{_mavenpomdir}/JPP-commons-parent.pom`. -- --In its simplest form (a POM without a JAR file), `%add_maven_depmap` looks like -+In simplest form (a POM without a JAR file), `%add_maven_depmap` looks like - this: - - .Parent POM - [source,spec] - -------- --%add_maven_depmap JPP-%{name}.pom -+%add_maven_depmap %{name}.pom - -------- - - This will read the POM file in question and provide a mapping between the -@@ -65,7 +34,7 @@ For a POM that maps directly to a JAR file, the following is the correct form: - .Standard invocation - [source,spec] - -------- --%add_maven_depmap JPP-%{name}.pom %{name}.jar -+%add_maven_depmap %{name}.pom %{name}.jar - -------- - - In addition to creating the POM mapping, this will also ensure that the correct -@@ -82,7 +51,7 @@ mapping between Maven artifact and corresponding JAR file: - .Providing additional artifact mappings - [source,spec] - -------- --%add_maven_depmap JPP-%{name}.pom %{name}.jar -a "org.apache.commons:commons-lang" -+%add_maven_depmap %{name}.pom %{name}.jar -a "org.apache.commons:commons-lang" - -------- - This form also adds additional mappings for given POM/JAR file. For example, if - the POM file indicates that it contains groupId commons-lang, artifactId -@@ -94,16 +63,16 @@ require different IDs than those reflected in the installed POM. - .Multiple subpackages - [source,spec] - -------- --%add_maven_depmap JPP-%{name}.pom %{name}.jar -f "XXX" -+%add_maven_depmap %{name}.pom %{name}.jar -f "XXX" - -------- --This form stores dependency mapping inside `%{_mavendepmapfragdir}/%{name}-XXX` --instead of standard location. This is useful for packages with multiple --subpackages where each has its own JAR files. -+This form stores metadata information in file with suffix "XXX". This -+is useful for packages with multiple subpackages where each has its own -+JAR files. - - .Multiple artifacts in a subdirectory - [source,spec] - -------- --%add_maven_depmap JPP.%{name}-sub.pom %{name}/sub.jar -+%add_maven_depmap %{name}-sub.pom %{name}/sub.jar - -------- - - This form should be used when a package consists of multiple JAR files that are -diff --git a/doc/index.txt b/doc/index.txt -index f9af27e..22c9ab2 100644 ---- a/doc/index.txt -+++ b/doc/index.txt -@@ -63,22 +63,6 @@ References - 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. - ISBN 1-56592-580-7. - -- --[glossary] --Glossary ---------- --Glossaries are optional. Glossaries entries are an example of a style --of AsciiDoc labeled lists. -- --[glossary] --[[Xdepmap]]depmap:: -- Depmap is a special file telling Maven relationships between -- groupId,artifactId and JAR file on the filesystem -- --A second glossary term:: -- The corresponding (indented) definition. -- -- - ifdef::backend-docbook[] - [index] - Example Index -diff --git a/doc/maven.txt b/doc/maven.txt -index 7539d00..63c8cc8 100644 ---- a/doc/maven.txt -+++ b/doc/maven.txt -@@ -35,7 +35,7 @@ BuildRequires: maven-local - - The macros `%mvn_build` and `%mvn_install` automatically handle building of the - JAR files and their subsequent installation to the correct directory. The --corresponding POM and <> files are also installed. -+corresponding POM and metadata files are also installed. - - [[packaging_maven_project]] - === Packaging Maven project -diff --git a/doc/mvn_macros.txt b/doc/mvn_macros.txt -index c1b9aa2..1115cc8 100644 ---- a/doc/mvn_macros.txt -+++ b/doc/mvn_macros.txt -@@ -66,7 +66,7 @@ If the project consists of multiple artifacts, it is recommended to install each - artifact to the separate subpackage. The macro `%mvn_build -s` will generate - separate `.mfiles` file for every artifact in the project. This file contains - list of files related to specific artifact (typically JAR file, POM file and --depmap). It can be later used in `%files` section of the spec file. -+metadata). It can be later used in `%files` section of the spec file. - - .Creating one subpackage for each generated artifact - [source,spec] From 9860c4d5e3ae09c91c183a663aa1a2e6f192ec5b Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 18 Sep 2014 14:30:26 +0200 Subject: [PATCH 16/29] Fix mvn_artifact: generate R, if it's not explicitly disabled --- ...end-dependencies-to-metadata-if-we-h.patch | 26 +++++++++++++++++++ javapackages-tools.spec | 8 +++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch diff --git a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch new file mode 100644 index 0000000..c065e3b --- /dev/null +++ b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch @@ -0,0 +1,26 @@ +From 928ebac767c95dc39f3b31a6260983cecc3e473b Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Thu, 18 Sep 2014 10:48:07 +0200 +Subject: [PATCH] [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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index b861ead..7dd9722 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,13 +7,14 @@ Name: javapackages-tools Version: 4.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Macros and scripts for Java packaging support License: BSD URL: https://git.fedorahosted.org/git/javapackages.git Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz +Patch0: 0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch BuildArch: noarch @@ -165,6 +166,8 @@ This package provides non-essential macros and scripts to support Java packaging %prep %setup -q -n javapackages-%{version} +%patch0 -p1 + %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' find ./depgenerators -name '*.req' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -229,6 +232,9 @@ popd %doc LICENSE %changelog +* 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 From 9eca9146b9d8e8033680583e924aa9245e9b432e Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Wed, 24 Sep 2014 17:16:53 +0200 Subject: [PATCH 17/29] Do not generate OSGi R on eclipse-platform --- ...Gi-Requires-from-manifest-only-if-os.patch | 35 +++++++++++++++++++ javapackages-tools.spec | 7 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch diff --git a/0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch b/0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch new file mode 100644 index 0000000..b71d077 --- /dev/null +++ b/0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch @@ -0,0 +1,35 @@ +From 4272dc4bfd1c2945e00c82c27760a3ae6eed28dc Mon Sep 17 00:00:00 2001 +From: Michal Srb +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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 7dd9722..d95b541 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Macros and scripts for Java packaging support @@ -15,6 +15,7 @@ License: BSD URL: https://git.fedorahosted.org/git/javapackages.git 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 BuildArch: noarch @@ -167,6 +168,7 @@ This package provides non-essential macros and scripts to support Java packaging %setup -q -n javapackages-%{version} %patch0 -p1 +%patch1 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -232,6 +234,9 @@ popd %doc LICENSE %changelog +* 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 From 2ae8a120aad7b6ac81eeaab7f6507e70da2a66eb Mon Sep 17 00:00:00 2001 From: Michael Simacek Date: Tue, 21 Oct 2014 10:27:08 +0200 Subject: [PATCH 18/29] Fix pom_editor missing space between xmlns declarations --- ...issing-space-between-xmlns-declarati.patch | 27 +++++++++++++++++++ javapackages-tools.spec | 7 ++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch diff --git a/0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch b/0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch new file mode 100644 index 0000000..dd409c6 --- /dev/null +++ b/0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch @@ -0,0 +1,27 @@ +From d35af95c5cba1b898a9b183076d1a88c534415b9 Mon Sep 17 00:00:00 2001 +From: Michael Simacek +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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index d95b541..5a5e59d 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Macros and scripts for Java packaging support @@ -16,6 +16,7 @@ URL: https://git.fedorahosted.org/git/javapackages.git 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 BuildArch: noarch @@ -169,6 +170,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch0 -p1 %patch1 -p1 +%patch2 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -234,6 +236,9 @@ popd %doc LICENSE %changelog +* 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 From 827c3bd46f3b5bb20f693f1e507afa3769161b2c Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 30 Oct 2014 15:52:58 +0100 Subject: [PATCH 19/29] Use wrapper script to inject ABRT agent JVM argument - Resolves: rhbz#1153652 --- ...end-dependencies-to-metadata-if-we-h.patch | 6 +- ...script-to-inject-extra-JVM-arguments.patch | 73 +++++++++++++++++++ javapackages-tools.spec | 8 +- 3 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch diff --git a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch index c065e3b..a980643 100644 --- a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch +++ b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch @@ -1,8 +1,8 @@ -From 928ebac767c95dc39f3b31a6260983cecc3e473b Mon Sep 17 00:00:00 2001 +From eafaa146aace0885d17ff472db0a63aef75f2ce5 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 18 Sep 2014 10:48:07 +0200 -Subject: [PATCH] [mvn_artifact] Append dependencies to metadata, if we have - them +Subject: [PATCH 1/2] [mvn_artifact] Append dependencies to metadata, if we + have them --- java-utils/mvn_artifact.py | 2 ++ diff --git a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch new file mode 100644 index 0000000..aefdebc --- /dev/null +++ b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch @@ -0,0 +1,73 @@ +From dee96bf521cdbae4c80ee328968e1ff5200f2aab Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 30 Oct 2014 15:20:20 +0100 +Subject: [PATCH 2/2] 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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 5a5e59d..00c6ef0 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Macros and scripts for Java packaging support @@ -17,6 +17,7 @@ Source0: https://fedorahosted.org/released/javapackages/javapackages-%{ve 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 BuildArch: noarch @@ -171,6 +172,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -236,6 +238,10 @@ popd %doc LICENSE %changelog +* Thu Oct 30 2014 Mikolaj Izdebski - 4.2.0-5 +- Use wrapper script to inject ABRT agent JVM argument +- Resolves: rhbz#1153652 + * Tue Oct 21 2014 Michael Simacek - 4.2.0-4 - Fix pom_editor missing space between xmlns declarations From 532a3d6f1c0074273bd13d4819561d90271b3743 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 30 Oct 2014 15:57:38 +0100 Subject: [PATCH 20/29] Fix path to ABRT agent DSO --- ...end-dependencies-to-metadata-if-we-h.patch | 2 +- ...script-to-inject-extra-JVM-arguments.patch | 2 +- ...-independent-location-of-abrt-java-c.patch | 69 +++++++++++++++++++ javapackages-tools.spec | 3 + 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 0003-Use-architecture-independent-location-of-abrt-java-c.patch diff --git a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch index a980643..791ff21 100644 --- a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch +++ b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch @@ -1,7 +1,7 @@ From eafaa146aace0885d17ff472db0a63aef75f2ce5 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 18 Sep 2014 10:48:07 +0200 -Subject: [PATCH 1/2] [mvn_artifact] Append dependencies to metadata, if we +Subject: [PATCH 1/3] [mvn_artifact] Append dependencies to metadata, if we have them --- diff --git a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch index aefdebc..64669f8 100644 --- a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch +++ b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch @@ -1,7 +1,7 @@ From dee96bf521cdbae4c80ee328968e1ff5200f2aab Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 30 Oct 2014 15:20:20 +0100 -Subject: [PATCH 2/2] Use wrapper script to inject extra JVM arguments +Subject: [PATCH 2/3] Use wrapper script to inject extra JVM arguments --- install | 1 + diff --git a/0003-Use-architecture-independent-location-of-abrt-java-c.patch b/0003-Use-architecture-independent-location-of-abrt-java-c.patch new file mode 100644 index 0000000..9c57283 --- /dev/null +++ b/0003-Use-architecture-independent-location-of-abrt-java-c.patch @@ -0,0 +1,69 @@ +From 97ee162d443fd954208c277c43f7195339b01e8d Mon Sep 17 00:00:00 2001 +From: Jakub Filak +Date: Thu, 30 Oct 2014 08:36:56 +0100 +Subject: [PATCH 3/3] 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 +--- + 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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 00c6ef0..bbb6c10 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -18,6 +18,7 @@ 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 BuildArch: noarch @@ -173,6 +174,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -240,6 +242,7 @@ popd %changelog * 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 From 8b7596336b6c00bdecf54c545c347fde1cc9879b Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Wed, 12 Nov 2014 19:07:24 +0100 Subject: [PATCH 21/29] Fix cache problem (Resolves: rhbz#1155185) --- 0001-fix-rhbz#1155185.patch | 42 +++++++++++++++++++++++++++++++++++++ javapackages-tools.spec | 7 ++++++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 0001-fix-rhbz#1155185.patch diff --git a/0001-fix-rhbz#1155185.patch b/0001-fix-rhbz#1155185.patch new file mode 100644 index 0000000..2693d3a --- /dev/null +++ b/0001-fix-rhbz#1155185.patch @@ -0,0 +1,42 @@ +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] diff --git a/javapackages-tools.spec b/javapackages-tools.spec index bbb6c10..f871107 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Macros and scripts for Java packaging support @@ -19,6 +19,7 @@ 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 BuildArch: noarch @@ -175,6 +176,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -240,6 +242,9 @@ popd %doc LICENSE %changelog +* 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 From 0aabe81a8e94681f1d986190ec655366c4daa8f4 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 21 Nov 2014 06:15:35 +0100 Subject: [PATCH 22/29] Fix OSGi provides/requires generation in Java libdir - Resolves: rhbz#1166156 --- ...end-dependencies-to-metadata-if-we-h.patch | 2 +- ...script-to-inject-extra-JVM-arguments.patch | 2 +- ...-independent-location-of-abrt-java-c.patch | 2 +- 0004-Make-sure-_libdir-is-not-use.patch | 71 +++++++++++++++++++ ...patterns-for-matching-OSGi-manifests.patch | 36 ++++++++++ javapackages-tools.spec | 10 ++- 6 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 0004-Make-sure-_libdir-is-not-use.patch create mode 100644 0005-Improve-patterns-for-matching-OSGi-manifests.patch diff --git a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch index 791ff21..67f6cb4 100644 --- a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch +++ b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch @@ -1,7 +1,7 @@ From eafaa146aace0885d17ff472db0a63aef75f2ce5 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 18 Sep 2014 10:48:07 +0200 -Subject: [PATCH 1/3] [mvn_artifact] Append dependencies to metadata, if we +Subject: [PATCH 1/5] [mvn_artifact] Append dependencies to metadata, if we have them --- diff --git a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch index 64669f8..fe61427 100644 --- a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch +++ b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch @@ -1,7 +1,7 @@ From dee96bf521cdbae4c80ee328968e1ff5200f2aab Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 30 Oct 2014 15:20:20 +0100 -Subject: [PATCH 2/3] Use wrapper script to inject extra JVM arguments +Subject: [PATCH 2/5] Use wrapper script to inject extra JVM arguments --- install | 1 + diff --git a/0003-Use-architecture-independent-location-of-abrt-java-c.patch b/0003-Use-architecture-independent-location-of-abrt-java-c.patch index 9c57283..73a355e 100644 --- a/0003-Use-architecture-independent-location-of-abrt-java-c.patch +++ b/0003-Use-architecture-independent-location-of-abrt-java-c.patch @@ -1,7 +1,7 @@ From 97ee162d443fd954208c277c43f7195339b01e8d Mon Sep 17 00:00:00 2001 From: Jakub Filak Date: Thu, 30 Oct 2014 08:36:56 +0100 -Subject: [PATCH 3/3] Use architecture-independent location of +Subject: [PATCH 3/5] Use architecture-independent location of abrt-java-connector The connector's library has been moved to architecture-independent diff --git a/0004-Make-sure-_libdir-is-not-use.patch b/0004-Make-sure-_libdir-is-not-use.patch new file mode 100644 index 0000000..867d991 --- /dev/null +++ b/0004-Make-sure-_libdir-is-not-use.patch @@ -0,0 +1,71 @@ +From bd3bfd39508792f91621cba0b6279eeeef4aa866 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 30 Oct 2014 09:18:08 +0100 +Subject: [PATCH 4/5] 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 + diff --git a/0005-Improve-patterns-for-matching-OSGi-manifests.patch b/0005-Improve-patterns-for-matching-OSGi-manifests.patch new file mode 100644 index 0000000..0d0be97 --- /dev/null +++ b/0005-Improve-patterns-for-matching-OSGi-manifests.patch @@ -0,0 +1,36 @@ +From f0a2e4226028c4a68d956ef9ac1d4d43fdbe961e Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Thu, 20 Nov 2014 16:22:52 +0100 +Subject: [PATCH 5/5] 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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index f871107..806f260 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Macros and scripts for Java packaging support @@ -20,6 +20,8 @@ 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 BuildArch: noarch @@ -177,6 +179,8 @@ This package provides non-essential macros and scripts to support Java packaging %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch7 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -242,6 +246,10 @@ popd %doc LICENSE %changelog +* 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) From 8260ebcd74bc3ffb44a2c177b39c1550038d7984 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 24 Nov 2014 12:08:33 +0100 Subject: [PATCH 23/29] Add namespace support in %mvn_artifact --- 0006-mvn_artifact-Add-namespace-support.patch | 68 +++++++++++++++++++ javapackages-tools.spec | 7 +- 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 0006-mvn_artifact-Add-namespace-support.patch diff --git a/0006-mvn_artifact-Add-namespace-support.patch b/0006-mvn_artifact-Add-namespace-support.patch new file mode 100644 index 0000000..d03f899 --- /dev/null +++ b/0006-mvn_artifact-Add-namespace-support.patch @@ -0,0 +1,68 @@ +From 3f1b4b9e3427c0c633039c346475b9f47aa0f35e Mon Sep 17 00:00:00 2001 +From: Michal Srb +Date: Mon, 24 Nov 2014 10:28:42 +0100 +Subject: [PATCH] [mvn_artifact] Add namespace support + +--- + java-utils/mvn_artifact.py | 10 ++++++++-- + macros.d/macros.xmvn | 2 +- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py +index 78074f0..185eb9d 100644 +--- a/java-utils/mvn_artifact.py ++++ b/java-utils/mvn_artifact.py +@@ -118,7 +118,7 @@ def is_it_ivy_file(fpath): + return doc.tag == "ivy-module" + + +-def add_artifact_elements(root, art, ppath=None, jpath=None): ++def add_artifact_elements(root, art, namespace="", ppath=None, jpath=None): + artifacts = [] + ext_backup = art.extension + for path in [ppath, jpath]: +@@ -133,6 +133,10 @@ def add_artifact_elements(root, art, ppath=None, jpath=None): + art.extension = ext_backup + + art.path = os.path.abspath(path) ++ ++ if namespace: ++ art.namespace = namespace ++ + a = art.to_metadata() + artifacts.append(a) + +@@ -246,6 +250,8 @@ if __name__ == "__main__": + help="skip dependencies section in resulting metadata") + parser.add_option("-D", action="append", type="str", + help="add artifact property", metavar="property=value") ++ parser.add_option("-n", "--namespace", type="str", ++ help="Namespace for generated artifacts", default="") + + sys.argv = args_to_unicode(sys.argv) + +@@ -311,7 +317,7 @@ if __name__ == "__main__": + key, value = d_opt.split('=') + art.properties[key] = value + +- add_artifact_elements(metadata, art, pom_path, jar_path) ++ add_artifact_elements(metadata, art, options.namespace, pom_path, jar_path) + + with open(config, 'w') as f: + dom = metadata.toDOM(None) +diff --git a/macros.d/macros.xmvn b/macros.d/macros.xmvn +index e7a6dda..fc2e724 100644 +--- a/macros.d/macros.xmvn ++++ b/macros.d/macros.xmvn +@@ -118,7 +118,7 @@ + # + # Usage: %mvn_artifact [] + # +-%mvn_artifact %{pyinterpreter} %{javadir}-utils/mvn_artifact.py ++%mvn_artifact %{pyinterpreter} %{javadir}-utils/mvn_artifact.py -n "%{?scl}" + + + # %mvn_build - build Maven project +-- +1.9.3 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 806f260..37b677f 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Macros and scripts for Java packaging support @@ -22,6 +22,7 @@ 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-mvn_artifact-Add-namespace-support.patch BuildArch: noarch @@ -181,6 +182,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -246,6 +248,9 @@ popd %doc LICENSE %changelog +* 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 From 297b18e50c464b59790cfd35d27a9fbb7960b960 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 26 Nov 2014 13:12:14 +0100 Subject: [PATCH 24/29] Revert "Add namespace support in %mvn_artifact" This reverts commit 8260ebcd74bc3ffb44a2c177b39c1550038d7984. The commit which was used as a base for patch was reverted upstream. --- 0006-mvn_artifact-Add-namespace-support.patch | 68 ------------------- javapackages-tools.spec | 7 +- 2 files changed, 4 insertions(+), 71 deletions(-) delete mode 100644 0006-mvn_artifact-Add-namespace-support.patch diff --git a/0006-mvn_artifact-Add-namespace-support.patch b/0006-mvn_artifact-Add-namespace-support.patch deleted file mode 100644 index d03f899..0000000 --- a/0006-mvn_artifact-Add-namespace-support.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 3f1b4b9e3427c0c633039c346475b9f47aa0f35e Mon Sep 17 00:00:00 2001 -From: Michal Srb -Date: Mon, 24 Nov 2014 10:28:42 +0100 -Subject: [PATCH] [mvn_artifact] Add namespace support - ---- - java-utils/mvn_artifact.py | 10 ++++++++-- - macros.d/macros.xmvn | 2 +- - 2 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py -index 78074f0..185eb9d 100644 ---- a/java-utils/mvn_artifact.py -+++ b/java-utils/mvn_artifact.py -@@ -118,7 +118,7 @@ def is_it_ivy_file(fpath): - return doc.tag == "ivy-module" - - --def add_artifact_elements(root, art, ppath=None, jpath=None): -+def add_artifact_elements(root, art, namespace="", ppath=None, jpath=None): - artifacts = [] - ext_backup = art.extension - for path in [ppath, jpath]: -@@ -133,6 +133,10 @@ def add_artifact_elements(root, art, ppath=None, jpath=None): - art.extension = ext_backup - - art.path = os.path.abspath(path) -+ -+ if namespace: -+ art.namespace = namespace -+ - a = art.to_metadata() - artifacts.append(a) - -@@ -246,6 +250,8 @@ if __name__ == "__main__": - help="skip dependencies section in resulting metadata") - parser.add_option("-D", action="append", type="str", - help="add artifact property", metavar="property=value") -+ parser.add_option("-n", "--namespace", type="str", -+ help="Namespace for generated artifacts", default="") - - sys.argv = args_to_unicode(sys.argv) - -@@ -311,7 +317,7 @@ if __name__ == "__main__": - key, value = d_opt.split('=') - art.properties[key] = value - -- add_artifact_elements(metadata, art, pom_path, jar_path) -+ add_artifact_elements(metadata, art, options.namespace, pom_path, jar_path) - - with open(config, 'w') as f: - dom = metadata.toDOM(None) -diff --git a/macros.d/macros.xmvn b/macros.d/macros.xmvn -index e7a6dda..fc2e724 100644 ---- a/macros.d/macros.xmvn -+++ b/macros.d/macros.xmvn -@@ -118,7 +118,7 @@ - # - # Usage: %mvn_artifact [] - # --%mvn_artifact %{pyinterpreter} %{javadir}-utils/mvn_artifact.py -+%mvn_artifact %{pyinterpreter} %{javadir}-utils/mvn_artifact.py -n "%{?scl}" - - - # %mvn_build - build Maven project --- -1.9.3 - diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 37b677f..9be4b34 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Macros and scripts for Java packaging support @@ -22,7 +22,6 @@ 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-mvn_artifact-Add-namespace-support.patch BuildArch: noarch @@ -182,7 +181,6 @@ This package provides non-essential macros and scripts to support Java packaging %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -248,6 +246,9 @@ popd %doc LICENSE %changelog +* 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 From 22c439ba3605bdef6f757cff1673b8c8a33f469a Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 28 Nov 2014 12:27:47 +0100 Subject: [PATCH 25/29] Scan lib64/ in OSGi dep generators - Related: rhbz#1166156 --- ...end-dependencies-to-metadata-if-we-h.patch | 2 +- ...script-to-inject-extra-JVM-arguments.patch | 2 +- ...-independent-location-of-abrt-java-c.patch | 2 +- 0004-Make-sure-_libdir-is-not-use.patch | 2 +- ...patterns-for-matching-OSGi-manifests.patch | 2 +- 0006-Scan-lib64-in-OSGi-dep-generators.patch | 26 +++++++++++++++++++ javapackages-tools.spec | 8 +++++- 7 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 0006-Scan-lib64-in-OSGi-dep-generators.patch diff --git a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch index 67f6cb4..984803d 100644 --- a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch +++ b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch @@ -1,7 +1,7 @@ From eafaa146aace0885d17ff472db0a63aef75f2ce5 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 18 Sep 2014 10:48:07 +0200 -Subject: [PATCH 1/5] [mvn_artifact] Append dependencies to metadata, if we +Subject: [PATCH 1/6] [mvn_artifact] Append dependencies to metadata, if we have them --- diff --git a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch index fe61427..ff354db 100644 --- a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch +++ b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch @@ -1,7 +1,7 @@ From dee96bf521cdbae4c80ee328968e1ff5200f2aab Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 30 Oct 2014 15:20:20 +0100 -Subject: [PATCH 2/5] Use wrapper script to inject extra JVM arguments +Subject: [PATCH 2/6] Use wrapper script to inject extra JVM arguments --- install | 1 + diff --git a/0003-Use-architecture-independent-location-of-abrt-java-c.patch b/0003-Use-architecture-independent-location-of-abrt-java-c.patch index 73a355e..ea40fd5 100644 --- a/0003-Use-architecture-independent-location-of-abrt-java-c.patch +++ b/0003-Use-architecture-independent-location-of-abrt-java-c.patch @@ -1,7 +1,7 @@ From 97ee162d443fd954208c277c43f7195339b01e8d Mon Sep 17 00:00:00 2001 From: Jakub Filak Date: Thu, 30 Oct 2014 08:36:56 +0100 -Subject: [PATCH 3/5] Use architecture-independent location of +Subject: [PATCH 3/6] Use architecture-independent location of abrt-java-connector The connector's library has been moved to architecture-independent diff --git a/0004-Make-sure-_libdir-is-not-use.patch b/0004-Make-sure-_libdir-is-not-use.patch index 867d991..27944f7 100644 --- a/0004-Make-sure-_libdir-is-not-use.patch +++ b/0004-Make-sure-_libdir-is-not-use.patch @@ -1,7 +1,7 @@ From bd3bfd39508792f91621cba0b6279eeeef4aa866 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 30 Oct 2014 09:18:08 +0100 -Subject: [PATCH 4/5] Make sure %{_libdir} is not use +Subject: [PATCH 4/6] Make sure %{_libdir} is not use Javapackages as noarch package cannot safely reference libdir. --- diff --git a/0005-Improve-patterns-for-matching-OSGi-manifests.patch b/0005-Improve-patterns-for-matching-OSGi-manifests.patch index 0d0be97..0a8f8c2 100644 --- a/0005-Improve-patterns-for-matching-OSGi-manifests.patch +++ b/0005-Improve-patterns-for-matching-OSGi-manifests.patch @@ -1,7 +1,7 @@ From f0a2e4226028c4a68d956ef9ac1d4d43fdbe961e Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Thu, 20 Nov 2014 16:22:52 +0100 -Subject: [PATCH 5/5] Improve patterns for matching OSGi manifests +Subject: [PATCH 5/6] Improve patterns for matching OSGi manifests --- depgenerators/fileattrs/osgi.attr | 2 +- diff --git a/0006-Scan-lib64-in-OSGi-dep-generators.patch b/0006-Scan-lib64-in-OSGi-dep-generators.patch new file mode 100644 index 0000000..66e844d --- /dev/null +++ b/0006-Scan-lib64-in-OSGi-dep-generators.patch @@ -0,0 +1,26 @@ +From 135a8ac0b704a39c4b5fb74025bf6440a16531af Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +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 + diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 9be4b34..c0adcca 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Macros and scripts for Java packaging support @@ -22,6 +22,7 @@ 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 @@ -181,6 +182,7 @@ This package provides non-essential macros and scripts to support Java packaging %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -246,6 +248,10 @@ popd %doc LICENSE %changelog +* 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 From aec2dc49573b0cfaedfe18ab265e7410f402cecf Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Fri, 28 Nov 2014 12:52:00 +0100 Subject: [PATCH 26/29] Remove dependency on libxslt --- javapackages-tools.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index c0adcca..76e30e5 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Macros and scripts for Java packaging support @@ -49,7 +49,6 @@ BuildRequires: javapackages-tools >= 4.0.0 BuildRequires: xmvn-resolve >= 2 Requires: coreutils -Requires: libxslt Requires: lua %if 0%{?with_python3} Requires: python3-javapackages = %{version}-%{release} @@ -248,6 +247,9 @@ popd %doc LICENSE %changelog +* 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 From 32eaff6e10613b564c39e700cee56bdb3993fa19 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Sun, 14 Dec 2014 21:33:16 +0100 Subject: [PATCH 27/29] Update to upstream version 4.3.0 --- .gitignore | 1 + 0001-fix-rhbz#1155185.patch | 42 ----------- ...Gi-Requires-from-manifest-only-if-os.patch | 35 --------- ...end-dependencies-to-metadata-if-we-h.patch | 26 ------- ...issing-space-between-xmlns-declarati.patch | 27 ------- ...script-to-inject-extra-JVM-arguments.patch | 73 ------------------- ...-independent-location-of-abrt-java-c.patch | 69 ------------------ 0004-Make-sure-_libdir-is-not-use.patch | 71 ------------------ ...patterns-for-matching-OSGi-manifests.patch | 36 --------- 0006-Scan-lib64-in-OSGi-dep-generators.patch | 26 ------- javapackages-tools.spec | 26 ++----- sources | 2 +- 12 files changed, 7 insertions(+), 427 deletions(-) delete mode 100644 0001-fix-rhbz#1155185.patch delete mode 100644 0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch delete mode 100644 0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch delete mode 100644 0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch delete mode 100644 0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch delete mode 100644 0003-Use-architecture-independent-location-of-abrt-java-c.patch delete mode 100644 0004-Make-sure-_libdir-is-not-use.patch delete mode 100644 0005-Improve-patterns-for-matching-OSGi-manifests.patch delete mode 100644 0006-Scan-lib64-in-OSGi-dep-generators.patch diff --git a/.gitignore b/.gitignore index 80132d2..19ebafa 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ /javapackages-4.0.0.tar.xz /javapackages-4.1.0.tar.xz /javapackages-4.2.0.tar.xz +/javapackages-4.3.0.tar.xz diff --git a/0001-fix-rhbz#1155185.patch b/0001-fix-rhbz#1155185.patch deleted file mode 100644 index 2693d3a..0000000 --- a/0001-fix-rhbz#1155185.patch +++ /dev/null @@ -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] diff --git a/0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch b/0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch deleted file mode 100644 index b71d077..0000000 --- a/0001-metadata-Read-OSGi-Requires-from-manifest-only-if-os.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4272dc4bfd1c2945e00c82c27760a3ae6eed28dc Mon Sep 17 00:00:00 2001 -From: Michal Srb -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 - diff --git a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch b/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch deleted file mode 100644 index 984803d..0000000 --- a/0001-mvn_artifact-Append-dependencies-to-metadata-if-we-h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From eafaa146aace0885d17ff472db0a63aef75f2ce5 Mon Sep 17 00:00:00 2001 -From: Michal Srb -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 - diff --git a/0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch b/0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch deleted file mode 100644 index dd409c6..0000000 --- a/0001-pom_editor-Fix-missing-space-between-xmlns-declarati.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d35af95c5cba1b898a9b183076d1a88c534415b9 Mon Sep 17 00:00:00 2001 -From: Michael Simacek -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 - diff --git a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch b/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch deleted file mode 100644 index ff354db..0000000 --- a/0002-Use-wrapper-script-to-inject-extra-JVM-arguments.patch +++ /dev/null @@ -1,73 +0,0 @@ -From dee96bf521cdbae4c80ee328968e1ff5200f2aab Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -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 - diff --git a/0003-Use-architecture-independent-location-of-abrt-java-c.patch b/0003-Use-architecture-independent-location-of-abrt-java-c.patch deleted file mode 100644 index ea40fd5..0000000 --- a/0003-Use-architecture-independent-location-of-abrt-java-c.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 97ee162d443fd954208c277c43f7195339b01e8d Mon Sep 17 00:00:00 2001 -From: Jakub Filak -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 ---- - 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 - diff --git a/0004-Make-sure-_libdir-is-not-use.patch b/0004-Make-sure-_libdir-is-not-use.patch deleted file mode 100644 index 27944f7..0000000 --- a/0004-Make-sure-_libdir-is-not-use.patch +++ /dev/null @@ -1,71 +0,0 @@ -From bd3bfd39508792f91621cba0b6279eeeef4aa866 Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -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 - diff --git a/0005-Improve-patterns-for-matching-OSGi-manifests.patch b/0005-Improve-patterns-for-matching-OSGi-manifests.patch deleted file mode 100644 index 0a8f8c2..0000000 --- a/0005-Improve-patterns-for-matching-OSGi-manifests.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f0a2e4226028c4a68d956ef9ac1d4d43fdbe961e Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -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 - diff --git a/0006-Scan-lib64-in-OSGi-dep-generators.patch b/0006-Scan-lib64-in-OSGi-dep-generators.patch deleted file mode 100644 index 66e844d..0000000 --- a/0006-Scan-lib64-in-OSGi-dep-generators.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 135a8ac0b704a39c4b5fb74025bf6440a16531af Mon Sep 17 00:00:00 2001 -From: Mikolaj Izdebski -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 - diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 76e30e5..4cd53ee 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -6,23 +6,14 @@ %endif Name: javapackages-tools -Version: 4.2.0 -Release: 11%{?dist} +Version: 4.3.0 +Release: 1%{?dist} Summary: Macros and scripts for Java packaging support License: BSD URL: https://git.fedorahosted.org/git/javapackages.git 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 @@ -173,16 +164,6 @@ 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 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 - %if 0%{?with_python3} find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' find ./depgenerators -name '*.req' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' @@ -247,6 +228,9 @@ popd %doc LICENSE %changelog +* 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 diff --git a/sources b/sources index 174927a..0ceed9c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -69b79deca82c70af3f7aa5356abc5866 javapackages-4.2.0.tar.xz +e928cf74c80905529cb0ecfcb0ceef0a javapackages-4.3.0.tar.xz From 4104d7f80a3b229f56a8eebdd1b8a65aa2cb5654 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 23 Dec 2014 18:16:26 +0100 Subject: [PATCH 28/29] Update to upstream version 4.3.1 --- .gitignore | 1 + javapackages-tools.spec | 34 +++++++++------------------------- sources | 2 +- 3 files changed, 11 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index 19ebafa..6fc18a6 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ /javapackages-4.1.0.tar.xz /javapackages-4.2.0.tar.xz /javapackages-4.3.0.tar.xz +/javapackages-4.3.1.tar.xz diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 4cd53ee..90f8951 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,4 +1,4 @@ -%if 0%{?fedora} > 12 +%if 0%{?fedora} > 21 %global with_python3 1 %else %{!?__python2: %global __python2 /usr/bin/python2} @@ -6,7 +6,7 @@ %endif Name: javapackages-tools -Version: 4.3.0 +Version: 4.3.1 Release: 1%{?dist} Summary: Macros and scripts for Java packaging support @@ -22,14 +22,12 @@ BuildRequires: python3-devel BuildRequires: python3-lxml BuildRequires: python3-setuptools BuildRequires: python3-nose -BuildRequires: python3-six BuildRequires: python3-PyXB = 1.2.4 %else BuildRequires: python2-devel BuildRequires: python-lxml BuildRequires: python-setuptools BuildRequires: python-nose -BuildRequires: python-six BuildRequires: PyXB = 1.2.4 %endif BuildRequires: asciidoc @@ -116,7 +114,6 @@ artifact resolution using XMvn resolver. Summary: Module for handling various files for Java packaging Requires: python3-PyXB = 1.2.4 Requires: python3-lxml -Requires: python3-six Obsoletes: python-javapackages < %{version}-%{release} %description -n python3-javapackages @@ -128,7 +125,6 @@ packaging in Linux distributions Summary: Module for handling various files for Java packaging Requires: PyXB = 1.2.4 Requires: python-lxml -Requires: python-six Obsoletes: python3-javapackages < %{version}-%{release} %description -n python-javapackages @@ -164,24 +160,13 @@ This package provides non-essential macros and scripts to support Java packaging %prep %setup -q -n javapackages-%{version} -%if 0%{?with_python3} -find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' -find ./depgenerators -name '*.req' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' -find ./depgenerators -name '*.prov' | xargs sed -i '1s|^#!.*python|#!%{__python3}|' -%endif # with_python3 - - %build -%configure -./build - -pushd python %if 0%{?with_python3} - %{__python3} setup.py build +%configure --pyinterpreter=%{__python3} %else -%{__python2} setup.py build +%configure --pyinterpreter=%{__python2} %endif -popd +./build %install ./install @@ -196,11 +181,7 @@ pushd python popd %check -%if 0%{?with_python3} -./check 3 -%else -./check 2 -%endif +./check %files -f files-common %doc LICENSE @@ -228,6 +209,9 @@ popd %doc LICENSE %changelog +* 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 diff --git a/sources b/sources index 0ceed9c..f75dbf6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e928cf74c80905529cb0ecfcb0ceef0a javapackages-4.3.0.tar.xz +76aa1bc751e4667f3de6067d1df9c3e3 javapackages-4.3.1.tar.xz From d2960d49fa0da72d71531cfd16ee0a89d88778d5 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 5 Jan 2015 17:58:01 +0100 Subject: [PATCH 29/29] Update to upstream version 4.3.2 --- .gitignore | 1 + javapackages-tools.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6fc18a6..16cb761 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ /javapackages-4.2.0.tar.xz /javapackages-4.3.0.tar.xz /javapackages-4.3.1.tar.xz +/javapackages-4.3.2.tar.xz diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 90f8951..52ec970 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -6,7 +6,7 @@ %endif Name: javapackages-tools -Version: 4.3.1 +Version: 4.3.2 Release: 1%{?dist} Summary: Macros and scripts for Java packaging support @@ -209,6 +209,9 @@ popd %doc LICENSE %changelog +* Mon Jan 05 2015 Michal Srb - 4.3.2-1 +- Update to upstream version 4.3.2 + * Tue Dec 23 2014 Mikolaj Izdebski - 4.3.1-1 - Update to upstream version 4.3.1 diff --git a/sources b/sources index f75dbf6..e22be2c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -76aa1bc751e4667f3de6067d1df9c3e3 javapackages-4.3.1.tar.xz +7d1ef162f04e546a0c58d745f2896d3c javapackages-4.3.2.tar.xz