diff --git a/ant.spec b/ant.spec new file mode 100644 index 0000000..84f21ee --- /dev/null +++ b/ant.spec @@ -0,0 +1,205 @@ +%bcond_with tests + +Name: ant +Summary: A Java-based build tool +Version: 1.10.5 +Release: 6 +Epoch: 0 +License: ASL 2.0 +URL: https://ant.apache.org/ +Source0: https://archive.apache.org/dist/ant/source/apache-ant-1.10.5-src.tar.bz2 +Source2: apache-ant-1.8.ant.conf + +BuildRequires: xmlto mvn(org.hamcrest:hamcrest-library) ant >= 1.10.2 junit5 +BuildRequires: mvn(commons-net:commons-net) mvn(bcel:bcel) mvn(bsf:bsf) javapackages-local +BuildRequires: mvn(commons-logging:commons-logging-api) mvn(antlr:antlr) mvn(com.jcraft:jsch) +BuildRequires: mvn(javax.mail:mail) mvn(jdepend:jdepend) mvn(junit:junit) java-devel >= 1:1.8.0 +BuildRequires: mvn(org.tukaani:xz) mvn(log4j:log4j:1.2.13) mvn(xalan:xalan) mvn(regexp:regexp) +BuildRequires: mvn(xml-resolver:xml-resolver) mvn(org.hamcrest:hamcrest-core) mvn(oro:oro) + +Requires: javapackages-tools java-devel >= 1:1.8.0 + +BuildArch: noarch + +Obsoletes: %{name}-lib < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-swing < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-antlr < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-apache-bsf < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-apache-resolver < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-commons-logging < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-commons-net < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-apache-bcel < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-apache-log4j < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-apache-oro < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-apache-regexp < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-apache-xalan2 < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-javamail < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-jdepend < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-jsch < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-junit < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-testutil < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-xz < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-jmf < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-junit5 < %{epoch}:%{version}-%{release} + +Provides: %{name}-lib = %{epoch}:%{version}-%{release} +Provides: %{name}-swing = %{epoch}:%{version}-%{release} +Provides: %{name}-antlr = %{epoch}:%{version}-%{release} +Provides: %{name}-apache-bsf = %{epoch}:%{version}-%{release} +Provides: %{name}-apache-resolver = %{epoch}:%{version}-%{release} +Provides: %{name}-commons-logging = %{epoch}:%{version}-%{release} +Provides: %{name}-commons-net = %{epoch}:%{version}-%{release} +Provides: %{name}-apache-bcel = %{epoch}:%{version}-%{release} +Provides: %{name}-apache-log4j = %{epoch}:%{version}-%{release} +Provides: %{name}-apache-oro = %{epoch}:%{version}-%{release} +Provides: %{name}-apache-regexp = %{epoch}:%{version}-%{release} +Provides: %{name}-apache-xalan2 = %{epoch}:%{version}-%{release} +Provides: %{name}-javamail = %{epoch}:%{version}-%{release} +Provides: %{name}-jdepend = %{epoch}:%{version}-%{release} +Provides: %{name}-jsch = %{epoch}:%{version}-%{release} +Provides: %{name}-junit = %{epoch}:%{version}-%{release} +Provides: %{name}-testutil = %{epoch}:%{version}-%{release} +Provides: %{name}-xz = %{epoch}:%{version}-%{release} +Provides: %{name}-jmf = %{epoch}:%{version}-%{release} +Provides: %{name}-junit5 = %{epoch}:%{version}-%{release} + +%description +Ant is a Java based build tool. In theory it is kind of like "make" +without makes wrinkles and with the full portability of pure java code. + +%package help +Summary: Documents for %{name} +Buildarch: noarch +Requires: info +Obsoletes: %{name}-manual < %{epoch}:%{version}-%{release} +Obsoletes: %{name}-javadoc < %{epoch}:%{version}-%{release} +Provides: %{name}-manual = %{epoch}:%{version}-%{release} +Provides: %{name}-javadoc = %{epoch}:%{version}-%{release} + +%description help +Man pages and other related documents for %{name}. + +%prep +%autosetup -p1 -n apache-%{name}-%{version} + +%pom_xpath_remove 'attribute[@name="Class-Path"]' build.xml +find . -name "*.jar" | xargs -t rm +pushd src/tests/junit/org/apache/tools/%{name} +rm types/selectors/SignedSelectorTest.java +rm taskdefs/condition/IsFileSelectedTest.java +rm taskdefs/condition/IsSignedTest.java +rm taskdefs/JarTest.java +popd +pushd src/tests/junit/org/apache/tools/mail +rm MailMessageTest.java +popd +build-jar-repository -s -p lib/optional antlr bcel javamail/mailapi jdepend junit log4j-1 oro regexp bsf commons-logging commons-net jsch xalan-j2 xml-commons-resolver xalan-j2-serializer hamcrest/core hamcrest/library xz-java +build-jar-repository -s -p lib/optional junit5 opentest4j +cp -p %{SOURCE2} %{name}.conf +sed -e 's:/etc/%{name}.conf:%{_sysconfdir}/%{name}.conf:g' \ + -e 's:/etc/%{name}.d:%{_sysconfdir}/%{name}.d:g' \ + -e 's:/usr/share/%{name}:%{_datadir}/%{name}:g' \ + -e 's:/usr/bin/build-classpath:%{_bindir}/build-classpath:g' \ + -e 's:/usr/share/java-utils/java-functions:%{_javadir}-utils/java-functions:g' \ + -i src/script/%{name} %{name}.conf +sed -i 's/jaxp_parser_impl//;s/xml-commons-apis//' src/script/%{name} +iconv KEYS -f iso-8859-1 -t utf-8 -o KEYS.utf8 +mv KEYS.utf8 KEYS +iconv LICENSE -f iso-8859-1 -t utf-8 -o LICENSE.utf8 +ln -sf LICENSE.utf8 LICENSE +%pom_xpath_remove pom:optional src/etc/poms/%{name}-antlr/pom.xml +%pom_xpath_inject 'target[@name="javadocs"]/javadoc/packageset' '' build.xml + +%build +%{ant} jars test-jar +%{ant} javadocs +rm -fr build/lib/%{name}-jai.jar build/lib/%{name}-netrexx.jar + +%install +install -d %{buildroot}%{_datadir}/%{name}/{lib,etc,bin} +%mvn_alias :%{name} org.apache.%{name}:%{name}-nodeps apache:%{name} %{name}:%{name} +%mvn_alias :%{name}-launcher %{name}:%{name}-launcher +%mvn_file ':{%{name},%{name}-bootstrap,%{name}-launcher}' %{name}/@1 @1 +for jar in build/lib/*.jar +do + jar tf ${jar} | egrep -q *.class + jarname=$(basename $jar .jar) + ln -sf ../../java/%{name}/${jarname}.jar %{buildroot}%{_datadir}/%{name}/lib/${jarname}.jar + pom=src/etc/poms/${jarname}/pom.xml + [ $jarname == %{name}-bootstrap ] && pom='org.apache.%{name}:%{name}-bootstrap:%{version}' + %mvn_artifact ${pom} ${jar} +done +%mvn_artifact src/etc/poms/pom.xml +%mvn_package :%{name} lib +%mvn_package :%{name}-launcher lib +%mvn_package :%{name}-bootstrap lib +%mvn_package :%{name}-parent lib +%mvn_package :%{name}-junit4 junit +%mvn_package ':%{name}-{*}' @1 +%mvn_install +rm -f src/script/*.bat +rm -f src/script/*.cmd +cp -p src/etc/*.xsl %{buildroot}%{_datadir}/%{name}/etc +install -d %{buildroot}%{_bindir} +cp -p src/script/%{name} %{buildroot}%{_bindir}/ +cp -a %{_bindir}/%{name} %{buildroot}%{_datadir}/%{name}/bin/ +cp -p src/script/%{name}Run %{buildroot}%{_datadir}/%{name}/bin/ +install -d %{buildroot}%{_sysconfdir} +cp -p %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf +install -d %{buildroot}%{_sysconfdir}/%{name}.d +echo "%{name}/%{name}-jmf" > %{buildroot}%{_sysconfdir}/%{name}.d/jmf +echo "%{name}/%{name}-swing" > %{buildroot}%{_sysconfdir}/%{name}.d/swing +echo "antlr %{name}/%{name}-antlr" > %{buildroot}%{_sysconfdir}/%{name}.d/antlr +echo "rhino bsf %{name}/%{name}-apache-bsf" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-bsf +echo "xml-commons-resolver %{name}/%{name}-apache-resolver" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-resolver +echo "apache-commons-logging %{name}/%{name}-commons-logging" > %{buildroot}%{_sysconfdir}/%{name}.d/commons-logging +echo "apache-commons-net %{name}/%{name}-commons-net" > %{buildroot}%{_sysconfdir}/%{name}.d/commons-net +echo "bcel %{name}/%{name}-apache-bcel" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-bcel +echo "log4j12 %{name}/%{name}-apache-log4j" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-log4j +echo "oro %{name}/%{name}-apache-oro" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-oro +echo "regexp %{name}/%{name}-apache-regexp" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-regexp +echo "xalan-j2 xalan-j2-serializer %{name}/%{name}-apache-xalan2" > %{buildroot}%{_sysconfdir}/%{name}.d/apache-xalan2 +echo "javamail jaf %{name}/%{name}-javamail" > %{buildroot}%{_sysconfdir}/%{name}.d/javamail +echo "jdepend %{name}/%{name}-jdepend" > %{buildroot}%{_sysconfdir}/%{name}.d/jdepend +echo "jsch %{name}/%{name}-jsch" > %{buildroot}%{_sysconfdir}/%{name}.d/jsch +echo "junit hamcrest/core %{name}/%{name}-junit" > %{buildroot}%{_sysconfdir}/%{name}.d/junit +echo "junit hamcrest/core %{name}/%{name}-junit4" > %{buildroot}%{_sysconfdir}/%{name}.d/junit4 +echo "testutil %{name}/%{name}-testutil" > %{buildroot}%{_sysconfdir}/%{name}.d/testutil +echo "xz-java %{name}/%{name}-xz" > %{buildroot}%{_sysconfdir}/%{name}.d/xz +echo "junit5 hamcrest/core junit opentest4j %{name}/%{name}-junitlauncher" > %{buildroot}%{_sysconfdir}/%{name}.d/junitlauncher +install -d %{buildroot}%{_javadocdir}/%{name} +cp -pr build/javadocs/* %{buildroot}%{_javadocdir}/%{name} +(cd manual; ln -sf %{_javadocdir}/%{name} api) + +%if %with tests +%check +LC_ALL=en_US.utf8 %{ant} test +%endif + +%files +%license LICENSE NOTICE +%config(noreplace) %{_sysconfdir}/%{name}.conf +%config(noreplace) %{_sysconfdir}/%{name}.d/* +%attr(0755,root,root) %{_bindir}/%{name} +%attr(0755,root,root) %{_datadir}/%{name}/bin/antRun +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/* +%dir %{_sysconfdir}/%{name}.d +%{_datadir}/%{name}/bin/%{name} +%{_datadir}/%{name}/lib/%{name}* +%{_datadir}/%{name}/etc/* +%{_datadir}/java/%{name}*jar +%{_datadir}/java/%{name}/%{name}* +%{_datadir}/maven-metadata/%{name}-* +%{_datadir}/maven-poms/%{name}*pom +%{_datadir}/maven-poms/%{name}/%{name}* + +%files help +%license LICENSE NOTICE +%doc KEYS README WHATSNEW +%doc manual/* +%{_javadocdir}/%{name} + +%changelog +* Fri Feb 14 2020 gulining - 0:1.10.5-6 +- Package init diff --git a/apache-ant-1.10.5-src.tar.bz2 b/apache-ant-1.10.5-src.tar.bz2 new file mode 100644 index 0000000..54fcac8 Binary files /dev/null and b/apache-ant-1.10.5-src.tar.bz2 differ diff --git a/apache-ant-1.8.ant.conf b/apache-ant-1.8.ant.conf new file mode 100644 index 0000000..82059ee --- /dev/null +++ b/apache-ant-1.8.ant.conf @@ -0,0 +1,9 @@ +if [ -z "$no_config" ] ; then + no_config=true +fi +if $no_config ; then + rpm_mode=false +else + rpm_mode=true + ANT_HOME=/usr/share/ant +fi