diff --git a/.gitignore b/.gitignore index 7e24d7b..b0b1a70 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ /apache-ant-1.10.12-src.tar.bz2 /apache-ant-1.10.13-src.tar.bz2 /apache-ant-1.10.14-src.tar.bz2 +/apache-ant-1.10.15-src.tar.bz2 diff --git a/ant-build.xml.patch b/ant-build.xml.patch index e51a6f5..46706ee 100644 --- a/ant-build.xml.patch +++ b/ant-build.xml.patch @@ -1,5 +1,5 @@ ---- build.xml~ 2021-05-17 12:32:48.406394876 +0200 -+++ build.xml 2021-05-17 12:32:39.990389601 +0200 +--- ant/build.xml~ 2021-05-17 12:32:48.406394876 +0200 ++++ ant/build.xml 2021-05-17 12:32:39.990389601 +0200 @@ -819,7 +817,6 @@ diff --git a/ant.spec b/ant.spec index 3c15033..66c15bd 100644 --- a/ant.spec +++ b/ant.spec @@ -28,7 +28,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -%bcond_with bootstrap +%bcond_without bootstrap %if %{without bootstrap} %bcond_with ant_minimal @@ -39,8 +39,8 @@ %global ant_home %{_datadir}/ant Name: ant -Version: 1.10.14 -Release: 11%{?dist} +Version: 1.10.15 +Release: 1%{?dist} Summary: Java build tool Summary(it): Tool per la compilazione di programmi java Summary(fr): Outil de compilation pour java @@ -54,16 +54,15 @@ Source2: apache-ant-1.8.ant.conf # manpage Source3: ant.asciidoc -Patch0: %{name}-build.xml.patch +Patch: %{name}-build.xml.patch -BuildRequires: asciidoc -BuildRequires: xmlto +BuildRequires: rubygem-asciidoctor %if %{with bootstrap} BuildRequires: javapackages-bootstrap %else -BuildRequires: javapackages-local -BuildRequires: ant >= 1.10.2 +BuildRequires: javapackages-local >= 6.4.0 +BuildRequires: ant BuildRequires: ant-junit %endif @@ -89,14 +88,9 @@ BuildRequires: mvn(org.hamcrest:hamcrest-library) BuildRequires: junit5 %endif -# Theoretically Ant might be usable with just JRE, but typical Ant -# workflow requires full JDK, so we recommend it here. -Recommends: java-devel >= 1:1.8.0 - Requires: %{name}-lib = %{version}-%{release} -# Require full javapackages-tools since the ant script uses -# /usr/share/java-utils/java-functions -Requires: javapackages-tools +Requires: %{name}-jdk-binding +Suggests: %{name}-openjdk21 = %{version}-%{release} %description Apache Ant is a Java library and command-line tool whose mission is to @@ -257,7 +251,7 @@ Optional imageio tasks for %{name}. %package jakartamail Summary: Optional jakartamail tasks for %{name} Requires: %{name} = %{version}-%{release} -# TODO Remove after Fedora 41 +# TODO Remove in Fedora 42 Obsoletes: ant-javamail < 1.13.1 %description jakartamail @@ -312,6 +306,10 @@ Optional xz tasks for %{name}. %package manual Summary: Manual for %{name} +# ant-manual contains file tutorial-tasks-filesets-properties.zip +# which in turn contains src/Find.java and src/FindTest.java both +# licensed under ASL 1.1. See rhbz#1055629 +License: Apache-2.0 AND Apache-1.1 %description manual Documentation for %{name}. @@ -336,8 +334,7 @@ Javadoc pour %{name}. # ----------------------------------------------------------------------------- %prep -%setup -q -n apache-ant-%{version} -%patch 0 -p0 +%autosetup -p1 -n apache-ant-%{version} # clean jar files find . -name "*.jar" | xargs -t rm @@ -383,9 +380,9 @@ sed -e 's:/etc/ant.conf:%{_sysconfdir}/ant.conf:g' \ sed -i 's/jaxp_parser_impl//;s/xml-commons-apis//' src/script/ant # Fix file-not-utf8 rpmlint warning -iconv KEYS -f iso-8859-1 -t utf-8 -o KEYS.utf8 +iconv KEYS -f iso-8859-1 -t utf-8 >KEYS.utf8 mv KEYS.utf8 KEYS -iconv LICENSE -f iso-8859-1 -t utf-8 -o LICENSE.utf8 +iconv LICENSE -f iso-8859-1 -t utf-8 >LICENSE.utf8 mv LICENSE.utf8 LICENSE # We want a hard dep on antlr @@ -404,9 +401,7 @@ mv LICENSE.utf8 LICENSE %endif # typeset the manpage -mkdir man -asciidoc -b docbook -d manpage -o man/%{name}.xml %{SOURCE3} -xmlto man man/%{name}.xml -o man +asciidoctor -b manpage -D man %{SOURCE3} # remove empty jai and netrexx jars. Due to missing dependencies they contain only manifests. rm build/lib/ant-jai.jar build/lib/ant-netrexx.jar @@ -417,7 +412,7 @@ rm build/lib/ant-javamail.jar %install # ANT_HOME and subdirs -mkdir -p $RPM_BUILD_ROOT%{ant_home}/{lib,etc,bin} +mkdir -p %{buildroot}%{ant_home}/{lib,etc,bin} %mvn_alias :ant org.apache.ant:ant-nodeps apache:ant ant:ant %mvn_alias :ant-launcher ant:ant-launcher @@ -441,7 +436,7 @@ for jar in build/lib/*.jar; do jarname=$(basename $jar .jar) # jar aliases - ln -sf ../../java/%{name}/${jarname}.jar $RPM_BUILD_ROOT%{ant_home}/lib/${jarname}.jar + ln -sf ../../java/%{name}/${jarname}.jar %{buildroot}%{ant_home}/lib/${jarname}.jar pom=src/etc/poms/${jarname}/pom.xml @@ -474,47 +469,55 @@ rm src/etc/jdepend-frames.xsl rm src/etc/jdepend.xsl rm src/etc/maudit-frames.xsl %endif -cp -p src/etc/*.xsl $RPM_BUILD_ROOT%{ant_home}/etc +cp -p src/etc/*.xsl %{buildroot}%{ant_home}/etc # install everything else -mkdir -p $RPM_BUILD_ROOT%{_bindir} -cp -p src/script/ant $RPM_BUILD_ROOT%{_bindir}/ -ln -sf %{_bindir}/ant $RPM_BUILD_ROOT%{ant_home}/bin/ -cp -p src/script/antRun $RPM_BUILD_ROOT%{ant_home}/bin/ +mkdir -p %{buildroot}%{_bindir} +cp -p src/script/ant %{buildroot}%{_bindir}/ +ln -sf %{_bindir}/ant %{buildroot}%{ant_home}/bin/ +cp -p src/script/antRun %{buildroot}%{ant_home}/bin/ # default ant.conf -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} -cp -p %{name}.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf +mkdir -p %{buildroot}%{_sysconfdir} +cp -p %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf # OPT_JAR_LIST fragments -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d -echo "junit hamcrest/core ant/ant-junit" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/junit -echo "junit hamcrest/core ant/ant-junit4" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/junit4 +mkdir -p %{buildroot}%{_sysconfdir}/%{name}.d +echo "junit hamcrest/core ant/ant-junit" > %{buildroot}%{_sysconfdir}/%{name}.d/junit +echo "junit hamcrest/core ant/ant-junit4" > %{buildroot}%{_sysconfdir}/%{name}.d/junit4 + +# JDK bindings +install -d -m 755 %{buildroot}%{_javaconfdir}/ +ln -sf %{_jpbindingdir}/ant.conf %{buildroot}%{_javaconfdir}/ant.conf +echo 'JAVA_HOME=%{_jvmdir}/jre-21-openjdk' > %{buildroot}%{_javaconfdir}/ant-openjdk21.conf +%jp_binding --verbose --variant openjdk21 --ghost ant.conf --target %{_javaconfdir}/ant-openjdk21.conf --provides %{name}-jdk-binding --requires java-21-openjdk-headless --recommends java-21-openjdk-devel +touch %{buildroot}%{_javaconfdir}/ant-unbound.conf +%jp_binding --verbose --variant unbound --ghost ant.conf --target %{_javaconfdir}/ant-unbound.conf --provides %{name}-jdk-binding %if %{without ant_minimal} -echo "ant/ant-jmf" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/jmf -echo "ant/ant-swing" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/swing -echo "antlr ant/ant-antlr" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/antlr -echo "bsf commons-logging ant/ant-apache-bsf" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-bsf -echo "xml-commons-resolver ant/ant-apache-resolver" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-resolver -echo "apache-commons-logging ant/ant-commons-logging" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/commons-logging -echo "apache-commons-net ant/ant-commons-net" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/commons-net -echo "bcel commons-lang3 ant/ant-apache-bcel" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-bcel -echo "oro ant/ant-apache-oro" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-oro -echo "regexp ant/ant-apache-regexp" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-regexp -echo "xalan-j2 xalan-j2-serializer ant/ant-apache-xalan2" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-xalan2 -echo "ant/ant-imageio" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/imageio -echo "jakartamail jaf ant/ant-jakartamail" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/jakartamail -echo "jdepend ant/ant-jdepend" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/jdepend -echo "jsch ant/ant-jsch" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/jsch -echo "junit5 hamcrest/core junit opentest4j ant/ant-junitlauncher" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/junitlauncher -echo "testutil ant/ant-testutil" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/testutil -echo "xz-java ant/ant-xz" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/xz +echo "ant/ant-jmf" > %{buildroot}%{_sysconfdir}/%{name}.d/jmf +echo "ant/ant-swing" > %{buildroot}%{_sysconfdir}/%{name}.d/swing +echo "antlr ant/ant-antlr" > %{buildroot}%{_sysconfdir}/%{name}.d/antlr +echo "bsf commons-logging ant/ant-apache-bsf" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-bsf +echo "xml-commons-resolver ant/ant-apache-resolver" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-resolver +echo "apache-commons-logging ant/ant-commons-logging" > %{buildroot}%{_sysconfdir}/%{name}.d/commons-logging +echo "apache-commons-net ant/ant-commons-net" > %{buildroot}%{_sysconfdir}/%{name}.d/commons-net +echo "bcel commons-lang3 ant/ant-apache-bcel" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-bcel +echo "oro ant/ant-apache-oro" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-oro +echo "regexp ant/ant-apache-regexp" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-regexp +echo "xalan-j2 xalan-j2-serializer ant/ant-apache-xalan2" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-xalan2 +echo "ant/ant-imageio" > %{buildroot}%{_sysconfdir}/%{name}.d/imageio +echo "jakartamail jaf ant/ant-jakartamail" > %{buildroot}%{_sysconfdir}/%{name}.d/jakartamail +echo "jdepend ant/ant-jdepend" > %{buildroot}%{_sysconfdir}/%{name}.d/jdepend +echo "jsch ant/ant-jsch" > %{buildroot}%{_sysconfdir}/%{name}.d/jsch +echo "junit5 hamcrest/core junit opentest4j ant/ant-junitlauncher" > %{buildroot}%{_sysconfdir}/%{name}.d/junitlauncher +echo "testutil ant/ant-testutil" > %{buildroot}%{_sysconfdir}/%{name}.d/testutil +echo "xz-java ant/ant-xz" > %{buildroot}%{_sysconfdir}/%{name}.d/xz # javadoc -mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name} -cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name} +mkdir -p %{buildroot}%{_javadocdir}/%{name} +cp -pr build/javadocs/* %{buildroot}%{_javadocdir}/%{name} # fix link between manual and javadoc (cd manual; ln -sf %{_javadocdir}/%{name} api) @@ -527,12 +530,13 @@ install -p -m 644 man/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1 %if %{without ant_minimal} %check -LC_ALL=C.UTF-8 %{ant} -Doffline=true test +%{ant} -Doffline=true test %endif %files %doc KEYS README WHATSNEW %license LICENSE NOTICE +%config %{_javaconfdir}/%{name}*.conf %config(noreplace) %{_sysconfdir}/%{name}.conf %attr(0755,root,root) %{_bindir}/ant %dir %{ant_home}/bin @@ -658,6 +662,9 @@ LC_ALL=C.UTF-8 %{ant} -Doffline=true test # ----------------------------------------------------------------------------- %changelog +* Wed Dec 18 2024 Mikolaj Izdebski - 1.10.15-1 +- Update to upstream version 1.10.15 + * Tue Oct 29 2024 Troy Dawson - 1.10.14-11 - Bump release for October 2024 mass rebuild: Resolves: RHEL-64018 @@ -1005,7 +1012,7 @@ LC_ALL=C.UTF-8 %{ant} -Doffline=true test * Wed Feb 29 2012 Alexander Kurtakov 0:1.8.3-1 - Update to upstream 1.8.3 release. -- Drop old stuff. +- Drop old stuff. * Tue Feb 07 2012 Tomas Radej - 0:1.8.2-9 - Added patch diff --git a/apache-ant-1.8.ant.conf b/apache-ant-1.8.ant.conf index e169839..1a27083 100644 --- a/apache-ant-1.8.ant.conf +++ b/apache-ant-1.8.ant.conf @@ -17,4 +17,8 @@ else # ANT_HOME for rpm layout ANT_HOME=/usr/share/ant + + if [ -z "$JAVA_HOME" ] ; then + . /etc/java/ant.conf + fi fi diff --git a/gating.yaml b/gating.yaml index 0113bba..54c4549 100644 --- a/gating.yaml +++ b/gating.yaml @@ -4,5 +4,7 @@ product_versions: decision_contexts: - osci_compose_gate rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/smoke.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/matrix/jdk21/full.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/matrix/jdk21/headless.functional} + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/matrix/unbound/jlink.functional} - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/javapackages.functional} diff --git a/plans/matrix.fmf b/plans/matrix.fmf new file mode 100644 index 0000000..950839c --- /dev/null +++ b/plans/matrix.fmf @@ -0,0 +1,55 @@ +discover: + how: fmf + url: https://src.fedoraproject.org/tests/ant + +execute: + how: tmt + +/jdk21: + environment: + OPENJDK_VERSION: 21 + prepare: + - how: install + exclude: + - ant-unbound + + /full: + summary: Ant matrix tests - OpenJDK 21 full + discover+: + filter: tag:jdk21 & tier:0,1 + + /headless: + summary: Ant matrix tests - OpenJDK 21 headless + discover+: + filter: tag:jre21 & tier:0,1 + environment+: + OPENJDK_HEADLESS: "true" + prepare+: + - how: shell + script: | + dnf -y remove java-*-openjdk + +/unbound: + prepare: + - how: install + exclude: + - ant-openjdk21 + # These subpackages pull in packaged Java through their dependencies + - ant-antlr + - ant-apache-regexp + - ant-apache-resolver + - ant-apache-xalan2 + - ant-junit5 + + /jlink: + summary: Ant matrix tests - unbound jlink-based Java + discover+: + filter: tag:unbound & tier:0,1 + prepare+: + - how: shell + script: | + test -d /opt/java && test -x /usr/local/bin/java && exit 0 + dnf -y install java-21-openjdk-jmods + jlink --add-modules java.base,java.xml --output /opt/java + ln -s /opt/java/bin/java /usr/local/bin/java + dnf -y remove java-21-openjdk-jmods diff --git a/plans/smoke.fmf b/plans/smoke.fmf deleted file mode 100644 index f28b6b9..0000000 --- a/plans/smoke.fmf +++ /dev/null @@ -1,7 +0,0 @@ -summary: Basic smoke tests -discover: - how: fmf - url: https://src.fedoraproject.org/tests/ant - filter: tier:0,1 -execute: - how: tmt diff --git a/sources b/sources index 872e731..ce47a63 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-ant-1.10.14-src.tar.bz2) = 9f07ae21054acc1baa1430501f6a90f429d90425324ad8a157545728d50c163f25787ff353f06d4d0a0615a0c8299fea4257a6de68cab713fa480e2d2acc927d +SHA512 (apache-ant-1.10.15-src.tar.bz2) = fd9477ce9ee0f4dcf000ab1583d1b6b85bc65be45a1a0d7366420029be6983e47fe44c3293263c54cde957b13a6bb2a29ea1b059a30f745ccc6219480feefac2