File xml-commons-resolver.spec of Package xml-commons-resolver-bootstrap

#
# spec file for package xml-commons-resolver (Version 1.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           xml-commons-resolver
BuildRequires:  ant
BuildRequires:  java-1_5_0-gcj-compat-devel
BuildRequires:  xml-commons-apis
# ant requires xml-commons-apis (sub-package of xml-commons) and xml-commons-resolver.
# While xml-commons-apis is actually needed for build, xml-commons-resolver is not:
#!BuildIgnore:  xml-commons-resolver
%define section free
%define resolverdir %{_sysconfdir}/java/resolver
Version:        1.1
Release:        267
Summary:        Resolver subproject of xml-commons
License:        The Apache Software License
Url:            http://xml.apache.org/commons/
#Source0:        http://archive.apache.org/dist/xml/commons/xml-commons-resolver-1.1.tar.bz2
Source0:        %{name}-%{version}.tar.bz2
Source1:        %{name}-resolver.sh
Source2:        %{name}-xread.sh
Source3:        %{name}-xparse.sh
Source4:        %{name}-resolver.1
Source5:        %{name}-xread.1
Source6:        %{name}-xparse.1
Source7:        %{name}-CatalogManager.properties
Patch0:         %{name}-crosslink.patch
Requires:       jaxp_parser_impl
Requires:       xml-commons-apis
#BuildRequires:  %{_bindir}/xsltproc
#BuildRequires:  docbook-style-xsl
Group:          Development/Libraries/Java
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
xml-commons is focussed on common code and guidelines for xml projects.
The first focus will be to organize and have common packaging for the
various externally-defined standards code relating to XML - things like
the DOM, SAX, and JAXP interfaces.

This package contains the resolver subproject of xml-commons.



%package javadoc
License:        The Apache Software License
PreReq:         coreutils
Summary:        Javadoc for xml-commons-resolver
Group:          Development/Libraries/Java

%description javadoc
xml-commons is focussed on common code and guidelines for xml projects.
The first focus will be to organize and have common packaging for the
various externally-defined standards code relating to XML - things like
the DOM, SAX, and JAXP interfaces.

This package contains the javadoc documentation for the resolver
subproject of xml-commons.



%prep
%setup -q
%patch0 -p0
# remove all binary libs and prebuilt javadocs
find . -name "*.jar" -exec rm -f {} \;
rm -rf docs

%build
perl -p -i -e 's|call Resolver|call resolver|g' resolver.xml
perl -p -i -e 's|classname="org.apache.xml.resolver.Catalog"|fork="yes" classname="org.apache.xml.resolver.apps.resolver"|g' resolver.xml
perl -p -i -e 's|org.apache.xml.resolver.Catalog|org.apache.xml.resolver.apps.resolver|g' src/manifest.resolver
#DOCBOOK_XSL=`rpm -ql docbook-style-xsl | grep /html/docbook.xsl \
#| sed 's#html/docbook.xsl##'`
#
#if [ -z $DOCBOOK_XSL ]; then
#  echo "Unable to find docbook xsl directory"
#  exit 1
#fi
#ant -Ddocbook.dir=$DOCBOOK_XSL -f resolver.xml main
for file in `find -name *.xml` ; do
   grep -q "<javac " $file || continue
if ! grep -q "javac.*source=" $file ; then
  perl -p -i -e 's|<javac |<javac source=\"1.4\" |' $file
  perl -p -i -e 's|<javadoc |<javadoc source=\"1.4\" |' $file
fi
done
ant -Dj2se.apidoc=%{_javadocdir}/java -f resolver.xml jar javadocs

%install
# Jars
mkdir -p $RPM_BUILD_ROOT%{_javadir}
cp build/resolver.jar $RPM_BUILD_ROOT%{_javadir}/apache-%{name}-%{version}.jar
ln -s apache-%{name}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/apache-%{name}.jar
# Javadocs
mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
cp -pR build/apidocs/resolver/* \
  $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
# Scripts
mkdir -p $RPM_BUILD_ROOT%{_bindir}
perl -pe 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE1} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-resolver
perl -pe 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE2} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xread
perl -pe 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE3} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xparse
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
perl -pe 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE4} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-resolver.1
perl -pe 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE5} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xread.1
perl -pe 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE6} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xparse.1
# Central CatalogManager.properties
mkdir -p $RPM_BUILD_ROOT%{resolverdir}
cp -p %{SOURCE7} $RPM_BUILD_ROOT%{resolverdir}/CatalogManager.properties
# xml-resolver ghost symlink
ln -s %{_sysconfdir}/alternatives \
  $RPM_BUILD_ROOT%{_javadir}/%{name}.jar

%post
/usr/sbin/update-alternatives --install %{_javadir}/%{name}.jar     %{name}      %{_javadir}/apache-%{name}.jar 42
/usr/sbin/update-alternatives --auto %{name}

%preun
{
  [ $1 = 0 ] || exit 0
  /usr/sbin/update-alternatives --remove %{name} %{_javadir}/apache-%{name}.jar
} >/dev/null 2>&1 || :

%clean
rm -rf $RPM_BUILD_ROOT

%post javadoc
rm -f %{_javadocdir}/%{name}
ln -s %{name}-%{version} %{_javadocdir}/%{name}

%files
%defattr(0644,root,root,0755)
%doc KEYS LICENSE.resolver.txt
%config(noreplace) %{resolverdir}
%{_javadir}/%{name}*.jar
%{_javadir}/apache-%{name}*.jar
%attr(0755,root,root) %{_bindir}/xml-*
%{_mandir}/man1/xml-*.1*

%files javadoc
%defattr(0644,root,root,0755)
%ghost %doc %{_javadocdir}/%{name}
%doc %{_javadocdir}/%{name}-%{version}

%changelog
* Thu Sep 11 2008 mvyskocil@suse.cz
- Use a gcc-java for build
- Removed unzip
* Tue Jan 22 2008 mvyskocil@suse.cz
- fixed beta build
* Tue Jul 24 2007 jsmeix@suse.de
- added "#!BuildIgnore: xml-commons-resolver" to avoid a cyclic
  build dependency because ant requires it.
* Wed May 02 2007 dbornkessel@suse.de
- added unzip to BuildRequires
* Tue Oct 03 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Mon Oct 02 2006 dbornkessel@suse.de
- added bootstrap spec file
* Mon Sep 18 2006 ro@suse.de
- use source=1.4 for java
* Mon Jan 30 2006 dbornkessel@suse.de
- added update alternatives for xml-commons-resolver
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Fri Jul 29 2005 jsmeix@suse.de
- Adjustments in the spec file.
* Mon Jul 18 2005 jsmeix@suse.de
- Current version 1.1 from JPackage.org
* Thu Sep 16 2004 skh@suse.de
- Fix prerequires of javadoc subpackage
* Thu Sep 02 2004 skh@suse.de
- Initial package created with version 1.1 (JPackage 1.5)
openSUSE Build Service is sponsored by