Build on ia64, ppc64, s390 and s390x

This commit is contained in:
gbenson 2005-07-18 13:14:49 +00:00
parent 9a0ca7ca49
commit 8c7bb9de91
2 changed files with 176 additions and 51 deletions

206
ant.spec
View File

@ -3,7 +3,7 @@
Name: ant
Version: 1.6.2
Release: 3jpp_11fc
Release: 3jpp_12fc
Epoch: 0
Summary: Ant build tool for java
Summary(it): Tool per la compilazione di programmi java
@ -17,6 +17,7 @@ Source2: apache-ant-%{version}.ant.conf
Patch0: apache-ant-%{version}.patch
Patch1: apache-ant-%{version}-rpm.patch
Patch3: apache-ant-bz157750.patch
Patch4: apache-ant-jars.patch
Requires: jaxp_parser_impl
Requires: jpackage-utils >= 0:1.5
Requires: java-devel
@ -29,9 +30,9 @@ Obsoletes: ant-optional ant-optional-full
# RHEL3 and FC2
Obsoletes: %{name}-libs <= 0:1.5.2, %{name}-core <= 0:1.5.2
# libgcj aot-compiled native libraries
BuildRequires: gcc-java >= 4.0.0-0.43
BuildRequires: java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_16rh
Requires(post,postun): java-1.4.2-gcj-compat >= 1.4.2.0-40jpp_16rh
BuildRequires: java-gcj-compat-devel >= 1.0.31
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description
Ant is a platform-independent build tool for java. It's used by apache
@ -55,6 +56,8 @@ Requires: antlr
BuildRequires: antlr
Provides: ant-antlr = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description antlr
Optional antlr tasks for %{name}.
@ -70,6 +73,8 @@ Requires: bsf
BuildRequires: bsf
Provides: ant-apache-bsf = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description apache-bsf
Optional apache bsf tasks for %{name}.
@ -85,6 +90,8 @@ Requires: xml-commons-resolver
BuildRequires: xml-commons-resolver
Provides: ant-apache-resolver = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description apache-resolver
Optional apache resolver tasks for %{name}.
@ -100,6 +107,8 @@ Requires: jakarta-commons-logging
BuildRequires: jakarta-commons-logging
Provides: ant-commons-logging = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description commons-logging
Optional commons logging tasks for %{name}.
@ -117,6 +126,8 @@ Provides: ant-apache-bcel = %{epoch}:%{version}-%{release}
Provides: ant-jakarta-bcel = %{epoch}:%{version}-%{release}
Obsoletes: ant-jakarta-bcel
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description apache-bcel
Optional apache bcel tasks for %{name}.
@ -134,6 +145,8 @@ Provides: ant-apache-log4j = %{epoch}:%{version}-%{release}
Provides: ant-jakarta-log4j = %{epoch}:%{version}-%{release}
Obsoletes: ant-jakarta-log4j
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description apache-log4j
Optional apache log4j tasks for %{name}.
@ -151,6 +164,8 @@ Provides: ant-apache-oro = %{epoch}:%{version}-%{release}
Provides: ant-jakarta-oro = %{epoch}:%{version}-%{release}
Obsoletes: ant-jakarta-oro
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description apache-oro
Optional apache oro tasks for %{name}.
@ -168,6 +183,8 @@ Provides: ant-apache-regexp = %{epoch}:%{version}-%{release}
Provides: ant-jakarta-regexp = %{epoch}:%{version}-%{release}
Obsoletes: ant-jakarta-regexp
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description apache-regexp
Optional apache regexp tasks for %{name}.
@ -185,6 +202,8 @@ BuildRequires: javamail >= 0:1.2-5jpp
BuildRequires: jaf >= 0:1.0.1-5jpp
Provides: ant-javamail = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description javamail
Optional javamail tasks for %{name}.
@ -200,6 +219,8 @@ Requires: jdepend
BuildRequires: jdepend
Provides: ant-jdepend = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description jdepend
Optional jdepend tasks for %{name}.
@ -207,19 +228,6 @@ Optional jdepend tasks for %{name}.
%description jdepend -l fr
Taches jdepend optionelles pour %{name}.
%package jmf
Summary: Optional jmf tasks for %{name}
Group: Development/Build Tools
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: ant-jmf = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
%description jmf
Optional jmf tasks for %{name}.
%description jmf -l fr
Taches jmf optionelles pour %{name}.
%package jsch
Summary: Optional jsch tasks for %{name}
Group: Development/Build Tools
@ -228,6 +236,8 @@ Requires: jsch
BuildRequires: jsch
Provides: ant-jsch = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description jsch
Optional jsch tasks for %{name}.
@ -243,6 +253,8 @@ Requires: junit
BuildRequires: junit
Provides: ant-junit = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description junit
Optional junit tasks for %{name}.
@ -256,6 +268,8 @@ Group: Development/Build Tools
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: ant-nodeps = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description nodeps
Optional tasks for %{name}.
@ -269,6 +283,8 @@ Group: Development/Build Tools
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: ant-swing = %{epoch}:%{version}-%{release}
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description swing
Optional swing tasks for %{name}.
@ -285,6 +301,8 @@ Provides: ant-trax = %{epoch}:%{version}-%{release}
# The ant-xalan jar has been merged into the ant-trax one
Obsoletes: ant-xalan2
Conflicts: ant-optional-clean, ant-optional-full
Requires(post): java-gcj-compat >= 1.0.31
Requires(postun): java-gcj-compat >= 1.0.31
%description trax
Optional trax tasks for %{name}.
@ -343,6 +361,9 @@ Javadoc pour %{name}.
# build the javah task (#157750) and make it work with java-gcj-compat
%patch3 -p1 -b .orig
# fix some places where copies of classes are included in the wrong jarfiles
%patch4 -p1 -b .orig
# clean jar files
find . -name "*.jar" -exec rm -f {} \;
@ -360,19 +381,6 @@ export CLASSPATH=$(%{_bindir}/build-classpath jaxp_parser_impl xml-commons-apis
export JAVA_HOME
sh build.sh --noconfig jars javadocs
# BC-compile the two core jars
gcj-dbtool -n build/lib/%{name}-%{version}.db 1024
for jar in %{name} %{name}-launcher; do
aot-compile \
build/lib/$jar.jar \
build/lib/lib$jar-%{version}.jar.so \
"$RPM_OPT_FLAGS -fPIC"
gcj-dbtool -f \
build/lib/%{name}-%{version}.db \
build/lib/$jar.jar \
%{_libdir}/lib$jar-%{version}.jar.so
done
# -----------------------------------------------------------------------------
%install
@ -402,7 +410,6 @@ ln -sf %{name}-apache-oro.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jakarta
ln -sf %{name}-apache-regexp.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jakarta-regexp.jar
cp -p build/lib/%{name}-javamail.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-javamail-%{version}.jar
cp -p build/lib/%{name}-jdepend.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jdepend-%{version}.jar
cp -p build/lib/%{name}-jmf.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jmf-%{version}.jar
cp -p build/lib/%{name}-jsch.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-jsch-%{version}.jar
cp -p build/lib/%{name}-junit.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-junit-%{version}.jar
cp -p build/lib/%{name}-nodeps.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-nodeps-%{version}.jar
@ -413,15 +420,6 @@ cp -p build/lib/%{name}-trax.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/%{name}-trax
(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
(cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# solibs
mkdir -p $RPM_BUILD_ROOT%{_libdir}
cp -p build/lib/lib*.jar.so $RPM_BUILD_ROOT%{_libdir}
# gcjdb
gcjdbdir=`gcj-dbtool -p %{_libdir}`.d
mkdir -p $RPM_BUILD_ROOT$gcjdbdir
cp -a build/lib/%{name}-%{version}.db $RPM_BUILD_ROOT$gcjdbdir
# scripts: remove dos and os/2 scripts
rm -f src/script/*.bat
rm -f src/script/*.cmd
@ -449,7 +447,6 @@ echo "oro ant/ant-apache-oro" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-o
echo "regexp ant/ant-apache-regexp" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/apache-regexp
echo "javamail jaf ant/ant-javamail" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/javamail
echo "jdepend ant/ant-jdepend" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/jdepend
echo "ant/ant-jmf" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/jmf
echo "jsch ant/ant-jsch" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/jsch
echo "junit ant/ant-junit" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/junit
echo "ant/ant-nodeps" > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.d/nodeps
@ -463,6 +460,8 @@ cp -pr build/javadocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
# fix link between manual and javadoc
(cd docs/manual; ln -sf %{_javadocdir}/%{name}-%{version} api)
aot-compile-rpm
# -----------------------------------------------------------------------------
%clean
@ -477,10 +476,100 @@ rm -f %{_javadir}/ant-optional.jar
# -----------------------------------------------------------------------------
%post
/usr/bin/rebuild-gcj-db %{_libdir}
%{_bindir}/rebuild-gcj-db
%postun
/usr/bin/rebuild-gcj-db %{_libdir}
%{_bindir}/rebuild-gcj-db
%post antlr
%{_bindir}/rebuild-gcj-db
%postun antlr
%{_bindir}/rebuild-gcj-db
%post apache-bsf
%{_bindir}/rebuild-gcj-db
%postun apache-bsf
%{_bindir}/rebuild-gcj-db
%post apache-resolver
%{_bindir}/rebuild-gcj-db
%postun apache-resolver
%{_bindir}/rebuild-gcj-db
%post commons-logging
%{_bindir}/rebuild-gcj-db
%postun commons-logging
%{_bindir}/rebuild-gcj-db
%post apache-bcel
%{_bindir}/rebuild-gcj-db
%postun apache-bcel
%{_bindir}/rebuild-gcj-db
%post apache-log4j
%{_bindir}/rebuild-gcj-db
%postun apache-log4j
%{_bindir}/rebuild-gcj-db
%post apache-oro
%{_bindir}/rebuild-gcj-db
%postun apache-oro
%{_bindir}/rebuild-gcj-db
%post apache-regexp
%{_bindir}/rebuild-gcj-db
%postun apache-regexp
%{_bindir}/rebuild-gcj-db
%post javamail
%{_bindir}/rebuild-gcj-db
%postun javamail
%{_bindir}/rebuild-gcj-db
%post jdepend
%{_bindir}/rebuild-gcj-db
%postun jdepend
%{_bindir}/rebuild-gcj-db
%post jsch
%{_bindir}/rebuild-gcj-db
%postun jsch
%{_bindir}/rebuild-gcj-db
%post junit
%{_bindir}/rebuild-gcj-db
%postun junit
%{_bindir}/rebuild-gcj-db
%post nodeps
%{_bindir}/rebuild-gcj-db
%postun nodeps
%{_bindir}/rebuild-gcj-db
%post swing
%{_bindir}/rebuild-gcj-db
%postun swing
%{_bindir}/rebuild-gcj-db
%post trax
%{_bindir}/rebuild-gcj-db
%postun trax
%{_bindir}/rebuild-gcj-db
%post javadoc
rm -f %{_javadocdir}/%{name}
@ -513,32 +602,37 @@ fi
%{ant_home}/etc/junit-frames-xalan1.xsl
%dir %{ant_home}/lib
%dir %{_sysconfdir}/%{name}.d
%attr(0755,root,root) %{_libdir}/*.so
%{_libdir}/*/*/*.db
%dir %{_libdir}/gcj/%{name}
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-%{version}.jar.*
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-launcher-%{version}.jar.*
%files antlr
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-antlr.jar
%{_javadir}/%{name}/%{name}-antlr-%{version}.jar
%{_sysconfdir}/%{name}.d/antlr
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-antlr-%{version}.jar.*
%files apache-bsf
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-apache-bsf.jar
%{_javadir}/%{name}/%{name}-apache-bsf-%{version}.jar
%{_sysconfdir}/%{name}.d/apache-bsf
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-apache-bsf-%{version}.jar.*
%files apache-resolver
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-apache-resolver.jar
%{_javadir}/%{name}/%{name}-apache-resolver-%{version}.jar
%{_sysconfdir}/%{name}.d/apache-resolver
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-*-resolver-%{version}.jar.*
%files commons-logging
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-commons-logging.jar
%{_javadir}/%{name}/%{name}-commons-logging-%{version}.jar
%{_sysconfdir}/%{name}.d/commons-logging
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-*-logging-%{version}.jar.*
%files apache-bcel
%defattr(0644,root,root,0755)
@ -546,6 +640,7 @@ fi
%{_javadir}/%{name}/%{name}-apache-bcel-%{version}.jar
%{_javadir}/%{name}/%{name}-jakarta-bcel.jar
%{_sysconfdir}/%{name}.d/apache-bcel
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-apache-bcel-%{version}.jar.*
%files apache-log4j
%defattr(0644,root,root,0755)
@ -553,6 +648,7 @@ fi
%{_javadir}/%{name}/%{name}-apache-log4j-%{version}.jar
%{_javadir}/%{name}/%{name}-jakarta-log4j.jar
%{_sysconfdir}/%{name}.d/apache-log4j
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-apache-log4j-%{version}.jar.*
%files apache-oro
%defattr(0644,root,root,0755)
@ -561,6 +657,7 @@ fi
%{_javadir}/%{name}/%{name}-jakarta-oro.jar
%{_sysconfdir}/%{name}.d/apache-oro
%{ant_home}/etc/maudit-frames.xsl
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-apache-oro-%{version}.jar.*
%files apache-regexp
%defattr(0644,root,root,0755)
@ -568,12 +665,14 @@ fi
%{_javadir}/%{name}/%{name}-apache-regexp-%{version}.jar
%{_javadir}/%{name}/%{name}-jakarta-regexp.jar
%{_sysconfdir}/%{name}.d/apache-regexp
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-*-regexp-%{version}.jar.*
%files javamail
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-javamail.jar
%{_javadir}/%{name}/%{name}-javamail-%{version}.jar
%{_sysconfdir}/%{name}.d/javamail
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-javamail-%{version}.jar.*
%files jdepend
%defattr(0644,root,root,0755)
@ -582,18 +681,14 @@ fi
%{_sysconfdir}/%{name}.d/jdepend
%{ant_home}/etc/jdepend.xsl
%{ant_home}/etc/jdepend-frames.xsl
%files jmf
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-jmf.jar
%{_javadir}/%{name}/%{name}-jmf-%{version}.jar
%{_sysconfdir}/%{name}.d/jmf
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jdepend-%{version}.jar.*
%files jsch
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-jsch.jar
%{_javadir}/%{name}/%{name}-jsch-%{version}.jar
%{_sysconfdir}/%{name}.d/jsch
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-jsch-%{version}.jar.*
%files junit
%defattr(0644,root,root,0755)
@ -602,18 +697,21 @@ fi
%{_sysconfdir}/%{name}.d/junit
%{ant_home}/etc/junit-frames.xsl
%{ant_home}/etc/junit-noframes.xsl
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-junit-%{version}.jar.*
%files nodeps
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-nodeps.jar
%{_javadir}/%{name}/%{name}-nodeps-%{version}.jar
%{_sysconfdir}/%{name}.d/nodeps
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-nodeps-%{version}.jar.*
%files swing
%defattr(0644,root,root,0755)
%{_javadir}/%{name}/%{name}-swing.jar
%{_javadir}/%{name}/%{name}-swing-%{version}.jar
%{_sysconfdir}/%{name}.d/swing
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-swing-%{version}.jar.*
%files trax
%defattr(0644,root,root,0755)
@ -622,6 +720,7 @@ fi
%{_sysconfdir}/%{name}.d/trax
%{ant_home}/etc/mmetrics-frames.xsl
%{ant_home}/etc/coverage-frames.xsl
%attr(-,root,root) %{_libdir}/gcj/%{name}/%{name}-trax-%{version}.jar.*
%files scripts
%defattr(0755,root,root,0755)
@ -639,6 +738,11 @@ fi
# -----------------------------------------------------------------------------
%changelog
* Mon Jul 18 2005 Gary Benson <gbenson at redhat.com> 0:1.6.2-3jpp_12fc
- Built on ia64, ppc64, s390 and s390x.
- Switch to aot-compile-rpm (also BC-compiles subpackages).
- Remove the jmf subpackage since it wasn't being built anyway.
* Fri Jul 15 2005 Gary Benson <gbenson at redhat.com> 0:1.6.2-3jpp_11fc
- Bootstrap onto ia64, ppc64, s390 and s390x.

21
apache-ant-jars.patch Normal file
View File

@ -0,0 +1,21 @@
Some classes are included in more than one jar by accident. Left
unfixed, aot-compile-rpm will subset them.
--- apache-ant-1.6.2/build.xml~ 2005-07-18 10:22:08.000000000 +0100
+++ apache-ant-1.6.2/build.xml 2005-07-18 10:33:51.000000000 +0100
@@ -760,6 +760,7 @@
<selector refid="needs.jdk1.4+"/>
<selector refid="needs.javamail"/>
<selector refid="ant.launcher"/>
+ <selector refid="needs.apache-resolver"/>
</or>
</selector>
</not>
@@ -841,6 +842,7 @@
<selector refid="needs.jdepend"/>
<selector refid="needs.swing"/>
<selector refid="needs.jsch"/>
+ <selector refid="ant.launcher"/>
</or>
</not>
</and>