xerces-j2/xerces-j2.spec
2005-06-10 10:37:21 +00:00

468 lines
15 KiB
RPMSpec

%define name xerces-j2
%define version 2.6.2
%define cvs_version 2_6_2
%define release 4jpp_8fc
%define section free
Name: %{name}
Version: %{version}
Release: %{release}
Epoch: 0
Summary: Java XML parser
License: Apache Software License
URL: http://xml.apache.org/xerces2-j/
Group: Text Processing/Markup/XML
Source0: http://www.apache.org/dist/xml/xerces-j/Xerces-J-src.%{version}.tar.gz
Source1: %{name}-version.sh
Source2: %{name}-constants.sh
Source3: XJavac.java
Source4: xml-commons-external-1.2.01-src.zip
Patch0: %{name}-build.patch
Patch1: %{name}-bz152255.patch
Provides: jaxp_parser_impl
Requires: xml-commons-apis
Requires: xml-commons-resolver
Requires: /usr/sbin/update-alternatives
BuildRequires: java-devel
BuildRequires: ant >= 0:1.5
BuildRequires: jpackage-utils >= 0:1.5
BuildRequires: jaxp_parser_impl
BuildRequires: xml-commons-resolver
BuildRequires: xml-commons-apis
BuildRequires: coreutils
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
# RHEL3 and FC2
Obsoletes: xerces-j <= 0:2.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
ExclusiveArch: %{ix86} x86_64 ppc alpha
%description
Welcome to the future! Xerces2 is the next generation of high
performance, fully compliant XML parsers in the Apache Xerces family.
This new version of Xerces introduces the Xerces Native Interface (XNI),
a complete framework for building parser components and configurations
that is extremely modular and easy to program.
The Apache Xerces2 parser is the reference implementation of XNI but
other parser components, configurations, and parsers can be written
using the Xerces Native Interface. For complete design and
implementation documents, refer to the XNI Manual.
Xerces 2 is a fully conforming XML Schema processor. For more
information, refer to the XML Schema page.
Xerces 2 also provides a partial implementation of Document Object Model
Level 3 Core, Load and Save and Abstract Schemas [deprecated] Working
Drafts. For more information, refer to the DOM Level 3 Implementation
page.
%package javadoc-impl
Summary: Javadoc for %{name} implementation
Group: Development/Documentation
%description javadoc-impl
Javadoc for %{name} implementation.
%package javadoc-apis
Summary: Javadoc for %{name} apis
Group: Development/Documentation
%description javadoc-apis
Javadoc for %{name} apis.
%package javadoc-dom3
Summary: Javadoc for %{name} DOM3
Group: Development/Documentation
%description javadoc-dom3
Javadoc for %{name} DOM3.
%package javadoc-xni
Summary: Javadoc for %{name} xni
Group: Development/Documentation
%description javadoc-xni
Javadoc for %{name} xni.
%package javadoc-other
Summary: Javadoc for other %{name} components
Group: Development/Documentation
%description javadoc-other
Javadoc for other %{name} components.
%package demo
Summary: Demo for %{name}
Group: Development/Testing
Requires: %{name} = %{epoch}:%{version}-%{release}
%description demo
Demonstrations and samples for %{name}.
%package scripts
Summary: Additional utility scripts for %{name}
Group: Text Processing/Markup/XML
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: jpackage-utils >= 0:1.5
%description scripts
Additional utility scripts for %{name}.
%prep
%setup -q -n xerces-%{cvs_version}
%patch0 -p1 -b .build
mkdir -p tools/org/apache/xerces/util
cp -a %{SOURCE3} tools/org/apache/xerces/util
%patch1 -p0 -b .bz152255
cp -a %{SOURCE4} tools
%build
pushd tools
find -name '*.java' | xargs javac -cp $(build-classpath ant)
find -name '*.class' | xargs jar cf xjavac.jar
popd
unset CLASSPATH
ant \
-Dbuild.compiler=modern \
-Dtools.dir=%{_javadir} \
-Djar.apis=xml-commons-apis.jar \
-Djar.resolver=xml-commons-resolver.jar \
clean jars javadocs
gcj-dbtool -n build/%{name}-%{version}.db 2048
aot-compile \
build/xercesImpl.jar \
build/lib%{name}-%{version}.jar.so \
"$RPM_OPT_FLAGS -fPIC"
gcj-dbtool -f \
build/%{name}-%{version}.db \
build/xercesImpl.jar \
%{_libdir}/lib%{name}-%{version}.jar.so
%install
rm -rf $RPM_BUILD_ROOT
# jars
mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp -p build/xercesImpl.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
(cd $RPM_BUILD_ROOT%{_javadir} && 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%{name}-%{version}.jar.so $RPM_BUILD_ROOT%{_libdir}
# gcjdb
gcjdbdir=`gcj-dbtool -p %{_libdir}`.d
mkdir -p $RPM_BUILD_ROOT$gcjdbdir
cp -p build/%{name}-%{version}.db $RPM_BUILD_ROOT$gcjdbdir
# javadoc
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-impl-%{version}
cp -pr build/docs/javadocs/xerces2/* \
$RPM_BUILD_ROOT%{_javadocdir}/%{name}-impl-%{version}
ln -s %{name}-impl-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-impl
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-apis-%{version}
cp -pr build/docs/javadocs/api/* \
$RPM_BUILD_ROOT%{_javadocdir}/%{name}-apis-%{version}
ln -s %{name}-apis-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-apis
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-xni-%{version}
cp -pr build/docs/javadocs/xni/* \
$RPM_BUILD_ROOT%{_javadocdir}/%{name}-xni-%{version}
ln -s %{name}-xni-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-xni
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-dom3-%{version}
cp -pr build/docs/javadocs/dom3-api/* \
$RPM_BUILD_ROOT%{_javadocdir}/%{name}-dom3-%{version}
ln -s %{name}-dom3-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-dom3
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-other-%{version}
cp -pr build/docs/javadocs/other/* \
$RPM_BUILD_ROOT%{_javadocdir}/%{name}-other-%{version}
ln -s %{name}-other-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}-other
rm -rf build/docs/javadocs
# scripts
mkdir -p $RPM_BUILD_ROOT%{_bindir}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name}-version
cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}-constants
# demo
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
cp -p build/xercesSamples.jar \
$RPM_BUILD_ROOT%{_datadir}/%{name}/%{name}-samples.jar
cp -pr data $RPM_BUILD_ROOT%{_datadir}/%{name}
# jaxp_parser_impl ghost symlink
ln -s %{_sysconfdir}/alternatives \
$RPM_BUILD_ROOT%{_javadir}/jaxp_parser_impl.jar
%clean
rm -rf $RPM_BUILD_ROOT
%pre
rm -f %{_javadir}/xerces.jar
%post javadoc-apis
rm -f %{_javadocdir}/%{name}-apis
ln -s %{name}-apis-%{version} %{_javadocdir}/%{name}-apis
%post javadoc-dom3
rm -f %{_javadocdir}/%{name}-dom3
ln -s %{name}-dom3-%{version} %{_javadocdir}/%{name}-dom3
%post javadoc-impl
rm -f %{_javadocdir}/%{name}-impl
ln -s %{name}-impl-%{version} %{_javadocdir}/%{name}-impl
%post javadoc-other
rm -f %{_javadocdir}/%{name}-other
ln -s %{name}-other-%{version} %{_javadocdir}/%{name}-other
%post javadoc-xni
rm -f %{_javadocdir}/%{name}-xni
ln -s %{name}-xni-%{version} %{_javadocdir}/%{name}-xni
%post
update-alternatives --install %{_javadir}/jaxp_parser_impl.jar \
jaxp_parser_impl %{_javadir}/%{name}.jar 40
/usr/bin/rebuild-gcj-db %{_libdir}
%preun
{
[ $1 = 0 ] || exit 0
update-alternatives --remove jaxp_parser_impl %{_javadir}/%{name}.jar
} >/dev/null 2>&1 || :
%postun
/usr/bin/rebuild-gcj-db %{_libdir}
%files
%defattr(0644,root,root,0755)
%doc LICENSE README ISSUES STATUS TODO
%{_javadir}/%{name}*.jar
%ghost %{_javadir}/jaxp_parser_impl.jar
%attr(0755,root,root) %{_libdir}/lib*.jar.so
%{_libdir}/*/*/%{name}-%{version}.db
%files javadoc-impl
%defattr(0644,root,root,0755)
%doc %{_javadocdir}/%{name}-impl-%{version}
%ghost %doc %{_javadocdir}/%{name}-impl
%files javadoc-apis
%defattr(0644,root,root,0755)
%doc %{_javadocdir}/%{name}-apis-%{version}
%ghost %doc %{_javadocdir}/%{name}-apis
%files javadoc-dom3
%defattr(0644,root,root,0755)
%doc %{_javadocdir}/%{name}-dom3-%{version}
%ghost %doc %{_javadocdir}/%{name}-dom3
%files javadoc-other
%defattr(0644,root,root,0755)
%doc %{_javadocdir}/%{name}-other-%{version}
%ghost %doc %{_javadocdir}/%{name}-other
%files javadoc-xni
%defattr(0644,root,root,0755)
%doc %{_javadocdir}/%{name}-xni-%{version}
%ghost %doc %{_javadocdir}/%{name}-xni
%files demo
%defattr(0644,root,root,0755)
%{_datadir}/%{name}
%files scripts
%defattr(0755,root,root,0755)
%{_bindir}/*
%changelog
* Fri Jun 10 2005 Gary Benson <gbenson@redhat.com> 0:2.6.2-4jpp_8fc
- Remove the tools tarball, and build xjavac from source.
- Replace classpath workaround to xjavac task and use
xml-commons classes again (#152255).
* Thu May 26 2005 Gary Benson <gbenson@redhat.com> 0:2.6.2-4jpp_7fc
- Rearrange how BC-compiled stuff is built and installed.
* Mon May 23 2005 Gary Benson <gbenson@redhat.com> 0:2.6.2-4jpp_6fc
- Add alpha to the list of build architectures (#157522).
- Use absolute paths for rebuild-gcj-db.
* Thu May 5 2005 Gary Benson <gbenson@redhat.com> 0:2.6.2-4jpp_5fc
- Add dependencies for %post and %postun scriptlets (#156901).
* Fri Apr 29 2005 Gary Benson <gbenson at redhat.com> 0:2.6.2-4jpp_4fc
- BC-compile.
* Thu Apr 28 2005 Gary Benson <gbenson at redhat.com> 0:2.6.2-4jpp_3fc
- Revert xjavac classpath workaround, and patch to use libgcj's
classes instead of those in xml-commons (#152255).
* Thu Apr 21 2005 Gary Benson <gbenson at redhat.com> 0:2.6.2-4jpp_2fc
- Add classpath workaround to xjavac task (#152255).
* Wed Jan 12 2005 Gary Benson <gbenson@redhat.com> 0:2.6.2-4jpp_1fc
- Reenable building of classes that require javax.swing (#130006).
- Sync with RHAPS.
* Mon Nov 15 2004 Fernando Nasser <fnasser@redhat.com> 0:2.6.2-4jpp_1rh
- Merge with upstream for 2.6.2 upgrade
* Thu Nov 4 2004 Gary Benson <gbenson@redhat.com> 0:2.6.2-2jpp_5fc
- Build into Fedora.
* Thu Oct 28 2004 Gary Benson <gbenson@redhat.com> 0:2.6.2-2jpp_4fc
- Bootstrap into Fedora.
* Fri Oct 1 2004 Andrew Overholt <overholt@redhat.com> 0:2.6.2-2jpp_4rh
- add coreutils BuildRequires
* Thu Sep 30 2004 Andrew Overholt <overholt@redhat.com> 0:2.6.2-2jpp_3rh
- Remove xml-commons-resolver as a Requires
* Thu Aug 26 2004 Ralph Apel <r.apel at r-apel.de> 0:2.6.2-4jpp
- Build with ant-1.6.2
- Dropped jikes requirement, built for 1.4.2
* Wed Jun 23 2004 Kaj J. Niemi <kajtzu@fi.basen.net> 0:2.6.2-3jpp
- Updated Patch #0 to fix breakage using BEA 1.4.2 SDK, new patch
from <mwringe@redhat.com> and <vivekl@redhat.com>.
* Mon Jun 21 2004 Vivek Lakshmanan <vivekl@redhat.com> 0:2.6.2-2jpp_2rh
- Added new Source1 URL and added new %setup to expand it under the
expanded result of Source0.
- Updated Patch0 to fix version discrepancies.
- Added build requirement for xml-commons-apis
* Mon Jun 14 2004 Matt Wringe <mwringe@redhat.com> 0:2.6.2-2jpp_1rh
- Update to 2.6.2
- made patch names comformant
* Mon Mar 29 2004 Kaj J. Niemi <kajtzu@fi.basen.net> 0:2.6.2-2jpp
- Rebuilt with jikes 1.18 for java 1.3.1_11
* Fri Mar 26 2004 Frank Ch. Eigler <fche@redhat.com> 0:2.6.1-1jpp_2rh
- add RHUG upgrade cleanup
* Tue Mar 23 2004 Kaj J. Niemi <kajtzu@fi.basen.net> 0:2.6.2-1jpp
- 2.6.2
* Thu Mar 11 2004 Frank Ch. Eigler <fche@redhat.com> 0:2.6.1-1jpp_1rh
- RH vacuuming
- remove jikes dependency
- add nonjikes-cast.patch
* Sun Feb 08 2004 David Walluck <david@anti-microsoft.org> 0:2.6.1-1jpp
- 2.6.1
- update Source0 URL
- now requires xml-commons-resolver
* Fri Jan 9 2004 Kaj J. Niemi <kajtzu@fi.basen.net> - 0:2.6.0-1jpp
- Update to 2.6.0
- Patch #1 (xerces-j2-manifest.patch) is unnecessary (upstream)
* Tue Oct 21 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.5.0-1jpp
- Update to 2.5.0.
- Clean up versionless javadoc dir symlinking, own (ghost) the symlinks.
- Mark javadocs as %%doc.
* Wed Jun 4 2003 Ville Skyttä <ville.skytta at iki.fi> - 0:2.4.0-3jpp
- Own (ghost) %%{_javadir}/jaxp_parser_impl.jar.
- Remove alternatives in preun instead of postun.
* Mon May 12 2003 David Walluck <david@anti-microsoft.org> 0:2.4.0-2jpp
- bug #17325 fixed upstream
* Mon May 12 2003 David Walluck <david@anti-microsoft.org> 0:2.4.0-1jpp
- 2.4.0
- BuildRequires: jikes
- update for JPackage 1.5
- re-diff'ed build patch for 2.4.0
- bug #17325 handled by perl now
- scripts: s|find-jar|build-classpath| and don't test for java-functions
* Wed Mar 26 2003 Nicolas Mailhot <Nicolas.Mailhot (at) JPackage.org> - 2.3.0-2jpp
- For jpackage-utils 1.5
- zapped manual, since it doesn't want to build
- as a consequence, removed uneeded dependencies
* Mon Feb 24 2003 Ville Skyttä <ville.skytta at iki.fi> - 2.3.0-1jpp
- Update to 2.3.0.
- Add a crude patch to work around invalid XML in doc sources, see
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17325>.
- Built with IBM's 1.3.1 SR3.
* Sat Dec 28 2002 Ville Skyttä <ville.skytta at iki.fi> - 2.2.1-2jpp
- Add upstream patch which fixes problems with Tomcat's webapps.
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=13282>
<http://marc.theaimsgroup.com/?l=xerces-cvs&m=103791990130308>
- Separate scripts subpackage.
* Fri Nov 15 2002 Ville Skyttä <ville.skytta at iki.fi> - 2.2.1-1jpp
- Update to 2.2.1.
- Change alternative to point to non-versioned jar.
- Don't remove alternative on upgrade.
- Fix Group tag for demo, javadoc and manual subpackages.
- Add version and constants scripts.
- Some spec file cleanup.
* Sun Oct 6 2002 Ville Skyttä <ville.skytta at iki.fi> 2.2.0-2jpp
- Fix bad permissions for main jar.
* Sun Sep 29 2002 Ville Skyttä <ville.skytta at iki.fi> 2.1.0-1jpp
- Update to 2.2.0.
* Tue Sep 10 2002 Ville Skyttä <ville.skytta at iki.fi> 2.1.0-2jpp
- Rebuild with -Dcompiler=modern, not a Jikes bug this time, but sloppy code
that is tolerated by javac. See <http://www-124.ibm.com/developerworks/bugs/?func=detailbug&bug_id=3218&group_id=10> for details.
* Tue Sep 10 2002 Ville Skyttä <ville.skytta at iki.fi> 2.1.0-1jpp
- 2.1.0.
- Updated description.
- Changed javadoc and manual group to Documentation.
- Spec file cleanups.
* Fri Jul 12 2002 Henri Gomez <hgomez@users.sourceforge.net> 2.0.2-4jpp
- add BuildRequires xerces-j1 and xalan-j2
- removed BuildRequires xml-commons-api since ant require jaxp_parser_impl
which in turn require xml-commons-api ;)
* Mon Jul 01 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 2.0.2-3jpp
- vendor, distribution, group tags
- provides jaxp_parser_impl
- dropped api jar
- renamed lone jar to %{name}.jar
- priority bumped to 40
- fixed stylebook build (add xerces-j1 in classpath)
* Wed Jun 26 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 2.0.2-2jpp
- rebuild for missing symlinks
- use sed instead of bash 2.x extension in link area to make spec compatible with distro using bash 1.1x
* Mon Jun 24 2002 Henri Gomez <hgomez@users.sourceforge.net> 2.0.2-1jpp
- 2.0.2
* Sun Mar 10 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 2.0.1-1jpp
- 2.0.1
- provides jaxp_parser2 virtual resource
- drop wrapper
* Sun Feb 03 2002 Guillaume Rousse <guillomovitch@users.sourceforge.net> 2.0.0-1jpp
- first JPackage release