From 1a590c32ef699304853129cfda16ecb711e7246c Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Wed, 20 Aug 2014 13:21:50 +0200 Subject: [PATCH 01/14] Add initial support for python3 --- javapackages-tools.spec | 97 ++++++++++++++++++++++++++++++++++------- 1 file changed, 82 insertions(+), 15 deletions(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 2e91eb9..1c0e66a 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,37 +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.0.0 -Release: 0%{?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 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 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. @@ -88,14 +112,29 @@ 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: python-lxml +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 +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 @@ -131,11 +170,23 @@ 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 -%{__python} setup.py build +%if 0%{?with_python3} + %{__python3} setup.py build +%else +%{__python2} setup.py build +%endif popd %install @@ -143,12 +194,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 @@ -159,9 +217,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/* @@ -170,6 +234,9 @@ popd %doc LICENSE %changelog +* Thu Jul 24 2014 Michal Srb - 4.2.0-1 +- Update to upstream version 4.2.0 + * Wed Apr 16 2014 Mikolaj Izdebski - 3.5.0-6 - Add explicit maven-local requires on java-1.8.0-openjdk-devel From 90ffd398642306064858f93bb65048557a2a9a12 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Wed, 20 Aug 2014 13:28:13 +0200 Subject: [PATCH 02/14] Remove R on java-1.8.0-openjdk-devel java 7 is no longer in Fedora (F21+) --- javapackages-tools.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 1c0e66a..efc5888 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -156,13 +156,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. From b108b379227d0d30750f2528adf653fc89f095e1 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 25 Aug 2014 15:49:21 +0200 Subject: [PATCH 03/14] Add R: python-six + fix python3 R on lxml --- javapackages-tools.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index efc5888..185598d 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -116,7 +116,8 @@ artifact resolution using XMvn resolver. %package -n python3-javapackages Summary: Module for handling various files for Java packaging Requires: python3-PyXB = 1.2.4 -Requires: python-lxml +Requires: python3-lxml +Requires: python3-six Obsoletes: python-javapackages < %{version}-%{release} %description -n python3-javapackages @@ -128,6 +129,7 @@ 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 From 65b18950857c6e7d233289d13599ad14c93b04b7 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 8 Sep 2014 14:02:33 +0200 Subject: [PATCH 04/14] mock config: add copr repo with latest pyxb --- fedora-rawhide-x86_64.cfg | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fedora-rawhide-x86_64.cfg b/fedora-rawhide-x86_64.cfg index 54bb30b..0ddf8dc 100644 --- a/fedora-rawhide-x86_64.cfg +++ b/fedora-rawhide-x86_64.cfg @@ -35,3 +35,11 @@ baseurl=http://people.redhat.com/~mizdebsk/jenkins-extra-repo/ gpgcheck=0 cost=500 """ + +[msrb-pyxb] +name=Copr repo for pyxb owned by msrb +baseurl=http://copr-be.cloud.fedoraproject.org/results/msrb/pyxb/fedora-rawhide-x86_64/ +skip_if_unavailable=True +gpgcheck=0 +cost=100 +enabled=1 From 39ab72ad0cb764838662d8730531f6838c2b6d1e Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 8 Sep 2014 14:10:40 +0200 Subject: [PATCH 05/14] Fix mock configuration --- fedora-rawhide-x86_64.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-rawhide-x86_64.cfg b/fedora-rawhide-x86_64.cfg index 0ddf8dc..a74932c 100644 --- a/fedora-rawhide-x86_64.cfg +++ b/fedora-rawhide-x86_64.cfg @@ -34,7 +34,6 @@ name=mock-override baseurl=http://people.redhat.com/~mizdebsk/jenkins-extra-repo/ gpgcheck=0 cost=500 -""" [msrb-pyxb] name=Copr repo for pyxb owned by msrb @@ -43,3 +42,4 @@ skip_if_unavailable=True gpgcheck=0 cost=100 enabled=1 +""" From 55a8e2231cfeb6c9ba284bb4191849f91ed9cc92 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 8 Sep 2014 14:54:19 +0200 Subject: [PATCH 06/14] remove pyxb copr mock config... :/ "Trying other mirror." --- fedora-rawhide-x86_64.cfg | 8 -------- 1 file changed, 8 deletions(-) diff --git a/fedora-rawhide-x86_64.cfg b/fedora-rawhide-x86_64.cfg index a74932c..54bb30b 100644 --- a/fedora-rawhide-x86_64.cfg +++ b/fedora-rawhide-x86_64.cfg @@ -34,12 +34,4 @@ name=mock-override baseurl=http://people.redhat.com/~mizdebsk/jenkins-extra-repo/ gpgcheck=0 cost=500 - -[msrb-pyxb] -name=Copr repo for pyxb owned by msrb -baseurl=http://copr-be.cloud.fedoraproject.org/results/msrb/pyxb/fedora-rawhide-x86_64/ -skip_if_unavailable=True -gpgcheck=0 -cost=100 -enabled=1 """ From 41e19efb3986d09dde3defb5e6ad38287ee57401 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 8 Sep 2014 15:23:50 +0200 Subject: [PATCH 07/14] Install latest pyxb manually for now --- build.bash | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build.bash b/build.bash index e895029..49e1172 100644 --- a/build.bash +++ b/build.bash @@ -24,7 +24,9 @@ rpmbuild -bs --clean --define "_topdir `pwd`" --define "_sourcedir `pwd`" javapa # build RPM with custom mock config rm -Rf ${resultdir}/* -mock -r ../..$PWD/fedora-rawhide-x86_64 SRPMS/*.src.rpm +mock -r ../..$PWD/fedora-rawhide-x86_64 init +mock -r ../..$PWD/fedora-rawhide-x86_64 install http://people.redhat.com/msrb/python3-PyXB-1.2.4-0.1.gitc494ba3.fc22.noarch.rpm +mock -r ../..$PWD/fedora-rawhide-x86_64 --rebuild --no-clean SRPMS/*.src.rpm # get nosetests results mock -r ../..$PWD/fedora-rawhide-x86_64 --copyout /builddir/build/BUILD/javapackages-${version}/test/nosetests.xml . From a0c24928545a672f9ccd7884d4a9ae5367f0a38d Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Tue, 11 Nov 2014 08:49:54 +0100 Subject: [PATCH 08/14] Use PyXB 1.2.4 from rawhide --- build.bash | 1 - 1 file changed, 1 deletion(-) diff --git a/build.bash b/build.bash index 49e1172..b4a8045 100644 --- a/build.bash +++ b/build.bash @@ -25,7 +25,6 @@ rpmbuild -bs --clean --define "_topdir `pwd`" --define "_sourcedir `pwd`" javapa # build RPM with custom mock config rm -Rf ${resultdir}/* mock -r ../..$PWD/fedora-rawhide-x86_64 init -mock -r ../..$PWD/fedora-rawhide-x86_64 install http://people.redhat.com/msrb/python3-PyXB-1.2.4-0.1.gitc494ba3.fc22.noarch.rpm mock -r ../..$PWD/fedora-rawhide-x86_64 --rebuild --no-clean SRPMS/*.src.rpm # get nosetests results From c36174757b5bd091f5ffda14503d5cd38d171c82 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 23 Dec 2014 08:43:59 +0100 Subject: [PATCH 09/14] Remove dependency on python-six --- javapackages-tools.spec | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 185598d..86376a7 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -7,7 +7,7 @@ Name: javapackages-tools Version: 4.2.0 -Release: 1%{?dist} +Release: 2%{?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 @@ -117,7 +115,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 @@ -129,7 +126,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 @@ -229,6 +225,9 @@ popd %doc LICENSE %changelog +* Tue Dec 23 2014 Mikolaj Izdebski - 4.2.0-2 +- Remove dependency on python-six + * Thu Jul 24 2014 Michal Srb - 4.2.0-1 - Update to upstream version 4.2.0 From 96e648ca357b8fe6478f8c6206f4c68fb934d9e0 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 12 Jan 2015 07:53:06 +0100 Subject: [PATCH 10/14] Re-add mock config --- fedora-rawhide-x86_64.cfg | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 fedora-rawhide-x86_64.cfg diff --git a/fedora-rawhide-x86_64.cfg b/fedora-rawhide-x86_64.cfg new file mode 100644 index 0000000..54bb30b --- /dev/null +++ b/fedora-rawhide-x86_64.cfg @@ -0,0 +1,37 @@ +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 +""" From 99625ae56384cc1f4afb5c38b055242344a2e733 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 12 Jan 2015 07:57:31 +0100 Subject: [PATCH 11/14] Mock config tweaks --- fedora-rawhide-x86_64.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fedora-rawhide-x86_64.cfg b/fedora-rawhide-x86_64.cfg index 54bb30b..075af92 100644 --- a/fedora-rawhide-x86_64.cfg +++ b/fedora-rawhide-x86_64.cfg @@ -1,7 +1,7 @@ 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['chroot_setup_cmd'] = 'install @buildsys-build python3-PyXB asciidoc dia python3-lxml python3-nose python3-setuptools python3-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' From ffc8b00d296412d260e9d014776821efc6a5906e Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Mon, 23 Mar 2015 13:36:49 +0100 Subject: [PATCH 12/14] Remove patch reference --- javapackages-tools.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index c579a04..c3eb999 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -17,8 +17,6 @@ License: BSD URL: https://git.fedorahosted.org/git/javapackages.git Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz -Patch0: 0001-pom_editor-Write-temporary-XML-file-as-UTF-8.patch - BuildArch: noarch %if 0%{?with_python3} From 8f4c2c73491c249aa1154cd23e9eeef10866efc3 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Wed, 1 Apr 2015 13:38:24 +0200 Subject: [PATCH 13/14] Remove requires on plexus-tools-pom Conflicts: javapackages-tools.spec --- javapackages-tools.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index c3eb999..46d8de9 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -80,7 +80,6 @@ Requires: mojo-parent Requires: objectweb-pom Requires: plexus-components-pom Requires: plexus-pom -Requires: plexus-tools-pom Requires: sonatype-oss-parent Requires: weld-parent # Common Maven plugins required by almost every build. It wouldn't make @@ -227,6 +226,9 @@ popd %doc LICENSE %changelog +* Wed Apr 1 2015 Mikolaj Izdebski - 4.4.0-4 +- Remove requires on plexus-tools-pom + * Mon Feb 16 2015 Michael Simacek - 4.4.0-2 - Write temporary XML file as UTF-8 in pom_editor From 9daa65e65684aab65ac756b6023718c0d7165005 Mon Sep 17 00:00:00 2001 From: Michal Srb Date: Thu, 9 Apr 2015 09:30:20 +0200 Subject: [PATCH 14/14] Remove PyXB BR/R, add python-six BR/R --- javapackages-tools.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 46d8de9..89e8c48 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -24,13 +24,13 @@ BuildRequires: python3-devel BuildRequires: python3-lxml BuildRequires: python3-setuptools BuildRequires: python3-nose -BuildRequires: python3-PyXB = 1.2.4 +BuildRequires: python3-six %else BuildRequires: python2-devel BuildRequires: python-lxml BuildRequires: python-setuptools BuildRequires: python-nose -BuildRequires: PyXB = 1.2.4 +BuildRequires: python-six %endif BuildRequires: make BuildRequires: asciidoc @@ -125,8 +125,8 @@ 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 @@ -136,8 +136,8 @@ packaging in Linux distributions %else # python2 %package -n python-javapackages 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