File xml-commons.spec of Package xml-commons

#
# spec file for package xml-commons
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2000-2008, JPackage Project
# All rights reserved.
#
# 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/
#


# FIXME: workaround for bnc#650905
%define with_repolib 0
%define without_repolib 1

%define repo    %{_javadir}/repository.jboss.com
%define repodir %{repo}/apache-xml-commons/1.3.04-brew
%define repodirlib %{repodir}/lib
%define repodirsrc %{repodir}/src
#%%define resolverrepodir    %{repo}/apache-xml-commons-resolver/1.2-brew
#%%define resolverrepodirlib %{repodir}/lib
#%%define resolverrepodirsrc %{repodir}/src

%define section free
%define resolverdir %{_sysconfdir}/java/resolver

# To get around having multiple versions of projects within the same srpm
%define apis_version_1_1 1.0.b2
%define apis_version_1_2 1.2.04

Name:           xml-commons
Version:        1.3.04
Release:        0
Summary:        Common code for XML projects
License:        Apache-2.0
Group:          Development/Libraries/Java
Url:            http://xml.apache.org/commons/
# svn export http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-1_0_b2/
Source0:        xml-commons-1.0.b2.tar.bz2
# svn export http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-external-1_2_04/
Source1:        xml-commons-external-1.2.04.tar.bz2
# svn export http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-external-1_3_04/
Source2:        xml-commons-external-1.3.04.tar.bz2
# svn export http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-resolver-1_1_b1/
Source3:        xml-commons-resolver-1.1.b1.tar.bz2
Source4:        xml-commons.which10.script
Source5:        xml-commons.which11.script
Source6:        xml-commons-resolver10-resolver.1
Source7:        xml-commons-resolver10-resolver.sh
Source8:        xml-commons-resolver10-xparse.1
Source9:        xml-commons-resolver10-xparse.sh
Source10:       xml-commons-resolver10-xread.1
Source11:       xml-commons-resolver10-xread.sh
Source12:       xml-commons-resolver11-resolver.1
Source13:       xml-commons-resolver11-resolver.sh
Source14:       xml-commons-resolver11-xparse.1
Source15:       xml-commons-resolver11-xparse.sh
Source16:       xml-commons-resolver11-xread.1
Source17:       xml-commons-resolver11-xread.sh
Source18:       xml-commons-resolver12-resolver.1
Source19:       xml-commons-resolver12-resolver.sh
Source20:       xml-commons-resolver12-xparse.1
Source21:       xml-commons-resolver12-xparse.sh
Source22:       xml-commons-resolver12-xread.1
Source23:       xml-commons-resolver12-xread.sh
Source24:       %{name}-resolver-CatalogManager.properties
Source100:      xml-commons-component-info.xml
Source200:      http://mirrors.ibiblio.org/pub/mirrors/maven2/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom
Source201:      http://mirrors.ibiblio.org/pub/mirrors/maven2/xml-apis/xml-apis-ext/1.3.04/xml-apis-ext-1.3.04.pom
Patch0:         %{name}-external-1.3-build_xml.patch
Patch1:         %{name}-resolver-crosslink.patch
Patch2:         %{name}-resolver-1.1-build_xml.patch
Patch3:         %{name}-enum.patch
#PATCH-FIX-SUSE: don't call javadoc from any used target
Patch4:         xml-commons-no-javadoc.patch
Requires:       javapackages-tools
Requires(post): javapackages-tools
Requires(postun): javapackages-tools
BuildRequires:  ant
BuildRequires:  java-1_5_0-gcj-compat-devel
#BuildRequires:  java-1_8_0-openjdk java-1_8_0-openjdk-devel
#!BuildIgnore:  java-1_6_0-openjdk java-1_6_0-openjdk-devel
#BuildRequires:  docbook-style-xsl
BuildRequires:  xalan-j2
#!BuildIgnore:  xml-commons-resolver xml-commons-jaxp-1.3-apis xml-commons
#!BuildIgnore:  antlr antlr-java
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
xml-commons is focused on common code and guidelines for xml projects.
It's 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.
As the xml-commons community forms, we also hope to serve as a holding
area for other common xml-related utilities and code, and to help
promulgate common packaging, testing, documentation, and other
guidelines across all xml.apache.org subprojects.

%package jaxp-1.1-apis
Summary:        JAXP 1.1, DOM2, SAX2, SAX2-ext 1.0 apis
Group:          Productivity/Publishing/XML
Provides:       dom = 2
Provides:       jaxp = 1.1
Provides:       sax = 2.0
Provides:       xml-commons-apis = %{apis_version_1_1}-%{release}
Provides:       xslt = 1.0
Obsoletes:      xml-commons-apis <= 1.3.02-2jpp
Requires:       %{name} = %{version}-%{release}
Requires:       javapackages-tools
Requires(preun): update-alternatives
Requires(post):  update-alternatives

%description jaxp-1.1-apis
DOM 2 org.w3c.dom and SAX XML 2.0 org.xml.sax processor apis used 
by several pieces of Apache software. XSLT 1.0.
This version includes the JAXP 1.1 APIs -- Java API for XML 
Processing 1.1, i.e. javax.xml{.parsers,.transform}

%package jaxp-1.1-apis-manual
Summary:        Documents for %{name}-jaxp-1.1-apis
Group:          Documentation/HTML

%description jaxp-1.1-apis-manual

%{summary}.

%package which10
Summary:        XmlWhich 1.0 utility from %{name}
Group:          Productivity/Publishing/XML
Provides:       xml-commons-which = 1.0
Requires:       %{name} = %{version}-%{release}
Requires:       ant >= 1.6
Requires:       javapackages-tools
Requires:       jaxp_parser_impl
Requires:       xml-commons-jaxp-1.1-apis = %{version}-%{release}
Requires(preun): update-alternatives
Requires(post):  update-alternatives

%description which10

%{name}.

%package resolver10
Summary:        XmlResolver 1.0 utility from %{name}
Group:          Development/Libraries/Java
Provides:       xml-commons-resolver = 1.0
Requires:       %{name} = %{version}-%{release}
Requires:       javapackages-tools
Requires:       jaxp_parser_impl
Requires:       xml-commons-jaxp-1.1-apis = %{version}-%{release}
Requires(preun):update-alternatives
Requires(post): update-alternatives

%description resolver10

%{summary}.

%package resolver11
Summary:        XmlResolver 1.1 utility from %{name}
Group:          Development/Libraries/Java
Provides:       xml-commons-resolver = 1.1
Requires:       %{name} = %{version}-%{release}
Requires:       javapackages-tools
Requires:       jaxp_parser_impl
Requires:       xml-commons-jaxp-1.2-apis = %{version}-%{release}
Provides:       xml-commons-resolver = %{version}-%{release}
Obsoletes:      xml-commons-resolver <= 1.3.02
Requires(preun): update-alternatives
Requires(post):  update-alternatives

%description resolver11

%{summary}.

%package jaxp-1.2-apis
Summary:        JAXP 1.2, DOM 2, SAX 2.0.1, SAX2-ext 1.0 apis
Group:          Productivity/Publishing/XML
Provides:       dom = 2
Provides:       jaxp = 1.2
Provides:       sax = 2.0.1
Provides:       xml-commons-apis = %{apis_version_1_2}-%{release}
Provides:       xslt = 1.0
Obsoletes:      xml-commons-apis <= 1.3.02-2jpp
Requires:       %{name} = %{version}-%{release}
Requires:       javapackages-tools
Requires(preun): update-alternatives
Requires(post): update-alternatives

%description jaxp-1.2-apis
DOM 2 org.w3c.dom and SAX XML 2.0 org.xml.sax processor apis used 
by several pieces of Apache software. XSLT 1.0.
This version includes the JAXP 1.2 APIs -- Java API for XML 
Processing 1.2, i.e. javax.xml{.parsers,.transform}

%package jaxp-1.2-apis-manual
Summary:        Documents for %{name}-jaxp-1.2-apis
Group:          Documentation/HTML

%description jaxp-1.2-apis-manual

%{summary}.

%package jaxp-1.3-apis
Summary:        JAXP 1.3, DOM 2, SAX 2.0.1, SAX2-ext 1.0 apis
Group:          Productivity/Publishing/XML
Provides:       dom = 3
Provides:       jaxp = 1.3
Provides:       sax = 2.0.2
Provides:       xml-commons-apis = %{version}-%{release}
Provides:       xslt = 1.0
Obsoletes:      xml-commons-apis <= 1.3.02
Requires:       %{name} = %{version}-%{release}
Requires:       javapackages-tools
Requires(preun): update-alternatives
Requires(post): update-alternatives

%description jaxp-1.3-apis
DOM 3 org.w3c.dom and SAX XML 2.0.2 (sax2r3) org.xml.sax
processor apis used by several pieces of Apache software.
Thi version includes the JAXP 1.3 APIs --
JSR 206, Java API for XML Processing 1.3, i.e.
javax.xml{.parsers,.transform,.validation,.datatype,.xtype}.

%package jaxp-1.3-apis-manual
Summary:        Documents for %{name}-jaxp-1.3-apis
Group:          Documentation/HTML
Provides:       xml-comons-apis-manual = %{version}-%{release}
Obsoletes:      xml-comons-apis-manual <= 1.3.02

%description jaxp-1.3-apis-manual

%{summary}.

%package which11
Summary:        XmlWhich 1.1 from %{name}
Group:          Productivity/Publishing/XML
#Provides:       xml-commons-which = 1.1
Provides:       xml-commons-which = %{version}-%{release}
Obsoletes:      xml-commons-which <= 1.3.02
Requires:       %{name} = %{version}-%{release}
Requires:       ant >= 1.6
Requires:       javapackages-tools
Requires:       jaxp_parser_impl
Requires:       xml-commons-jaxp-1.3-apis = %{version}-%{release}
Requires(preun): update-alternatives
Requires(post): update-alternatives

%description which11

%{summary}.

%package resolver12
Summary:        XmlResolver 1.2 from %{name}
Group:          Productivity/Publishing/XML
Provides:       xml-commons-resolver = 1.2
Requires:       %{name} = %{version}-%{release}
Requires:       javapackages-tools
Requires:       jaxp_parser_impl
Requires:       xml-commons-jaxp-1.3-apis = %{version}-%{release}
Requires(preun): update-alternatives
Requires(post): update-alternatives

%description resolver12

%{summary}.

%if %{with_repolib}

%package repolib

Summary:        Artifacts to be uploaded to a repository library
Group:          Development/Libraries/Java

%description repolib
Artifacts to be uploaded to a repository library.
This package is not meant to be installed but so its contents
can be extracted through rpm2cpio.
%endif

%prep
%setup -q -T -c
%setup -q -T -D -a 0
%setup -q -T -D -a 1
%setup -q -T -D -a 2
%setup -q -T -D -a 3

%patch1 -b .sav
%patch2 -b .sav
%patch3 -b .sav
pushd xml-commons-external-1_3_*
%patch0 -b .sav
popd

#quilt import -p1 %{PATCH4}
#quilt push --fuzz=0
%patch4 -p1

# remove all binary libs and prebuilt javadocs
rm -rf `find . -name "*.jar" -o -name "*.gz"`
rm -rf java/build java/external/build/docs/javadoc
# -----------------------------------------------------------------------------

%build
pushd xml-commons-1_0_b2
pushd java
sed -e 's|call Resolver|call resolver|g' resolver.xml > tempf
sed -e 's|classname="org.apache.xml.resolver.Catalog"|fork="yes" classname="org.apache.xml.resolver.apps.resolver"|g' tempf > resolver.xml
sed -e 's|org.apache.xml.resolver.Catalog|org.apache.xml.resolver.apps.resolver|g' src/manifest.resolver > tempf
cp tempf src/manifest.resolver
rm tempf
popd
ant jars
popd
pushd xml-commons-resolver-1_1_b1
mkdir -p build/site/components/resolver
pushd java
sed -e 's|call Resolver|call resolver|g' resolver.xml > tempf
sed -e 's|classname="org.apache.xml.resolver.Catalog"|fork="yes" classname="org.apache.xml.resolver.apps.resolver"|g' tempf > resolver.xml
sed -e 's|org.apache.xml.resolver.Catalog|org.apache.xml.resolver.apps.resolver|g' src/manifest.resolver > tempf
cp tempf src/manifest.resolver
rm tempf
popd
ant jars
popd
pushd xml-commons-external-1_2_04
ant -f java/external/build.xml jar
popd
pushd xml-commons-external-1_3_*
pushd java
sed -e 's|call Resolver|call resolver|g' resolver.xml > tempf
sed -e 's|classname="org.apache.xml.resolver.Catalog"|fork="yes" classname="org.apache.xml.resolver.apps.resolver"|g' tempf > resolver.xml
sed -e 's|org.apache.xml.resolver.Catalog|org.apache.xml.resolver.apps.resolver|g' src/manifest.resolver > tempf
cp tempf src/manifest.resolver
rm tempf
popd
ant jars
popd

%install

# Jars
install -d -m 755 $RPM_BUILD_ROOT%{_javadir}
# JAXP11
install -m 644 xml-commons-1_0_b2/java/external/build/xml-apis.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-jaxp-1.1-apis-%{version}.jar
# resolver10
install -m 644 xml-commons-1_0_b2/java/build/resolver.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-resolver10-%{version}.jar
# which10
install -m 644 xml-commons-1_0_b2/java/build/which.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-which10-%{version}.jar
# resolver11
install -m 644 xml-commons-resolver-1_1_b1/java/build/resolver.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-resolver11-%{version}.jar
# JAXP12
install -m 644 xml-commons-external-1_2_04/java/external/build/xml-apis.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-jaxp-1.2-apis-%{version}.jar
# JAXP13
install -m 644 xml-commons-external-1_3_*/java/external/build/xml-apis.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-jaxp-1.3-apis-%{version}.jar
# JAXP13 ext
install -m 644 xml-commons-external-1_3_*/java/external/build/xml-apis-ext.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-jaxp-1.3-apis-ext-%{version}.jar
# resolver12
install -m 644 xml-commons-external-1_3_*/java/build/resolver.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-resolver12-%{version}.jar
# which11
install -m 644 xml-commons-external-1_3_*/java/build/which.jar \
    $RPM_BUILD_ROOT%{_javadir}/%{name}-which11-%{version}.jar

pushd $RPM_BUILD_ROOT%{_javadir}
for jar in *-%{version}*; do
ln -sf ${jar} $(echo $jar | sed -e 's|-%{version}\.jar|.jar|');
done
ln -sf %{name}-jaxp-1.1-apis.jar jaxp11.jar
ln -sf %{name}-jaxp-1.2-apis.jar jaxp12.jar
ln -sf %{name}-jaxp-1.3-apis.jar jaxp13.jar
ln -sf %{name}-jaxp-1.3-apis.jar dom3.jar
popd

# poms
%{__mkdir_p} %{buildroot}%{_mavenpomdir}
%{__cp} -p %{SOURCE200} %{buildroot}%{_mavenpomdir}/JPP-%{name}-jaxp-1.3-apis.pom
%{__ln_s} JPP-%{name}-jaxp-1.3-apis.pom %{buildroot}%{_mavenpomdir}/JPP-%{name}-apis.pom
%add_maven_depmap JPP-%{name}-jaxp-1.3-apis.pom %{name}-jaxp-1.3-apis.jar

%{__cp} -p %{SOURCE201} %{buildroot}%{_mavenpomdir}/JPP-%{name}-jaxp-1.3-apis-ext.pom
%add_maven_depmap JPP-%{name}-jaxp-1.3-apis-ext.pom %{name}-jaxp-1.3-apis-ext.jar

# Scripts
install -d -m 755 $RPM_BUILD_ROOT%{_bindir}
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1

cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/xml-which10
cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_bindir}/xml-which11

sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE7} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-resolver10
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE9} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xread10
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE11} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xparse10

sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE6} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-resolver10.1
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE8} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xread10.1
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE10} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xparse10.1

sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE13} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-resolver11
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE15} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xread11
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE17} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xparse11

sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE12} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-resolver11.1
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE14} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xread11.1
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE16} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xparse11.1

sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE19} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-resolver12
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE21} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xread12
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE23} \
  > $RPM_BUILD_ROOT%{_bindir}/xml-xparse12

sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE18} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-resolver12.1
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE20} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xread12.1
sed -e 's|__RESOLVERDIR__|%{resolverdir}|' < %{SOURCE22} \
  > $RPM_BUILD_ROOT%{_mandir}/man1/xml-xparse12.1

# Central CatalogManager.properties
install -d -m 755 $RPM_BUILD_ROOT%{resolverdir}
install -m 0644 %{SOURCE24} $RPM_BUILD_ROOT%{resolverdir}/CatalogManager.properties

# docs
# JAXP 1.1
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.1-apis-%{version}
install -m 0644 xml-commons-1_0_b2/java/external/LICENSE* $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.1-apis-%{version}
install -m 0644 xml-commons-1_0_b2/java/external/README* $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.1-apis-%{version}
# JAXP 1.2
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.2-apis-%{version}
install -m 0644 xml-commons-external-1_2_04/java/external/LICENSE* $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.2-apis-%{version}
install -m 0644 xml-commons-external-1_2_04/java/external/README* $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.2-apis-%{version}
# JAXP 1.3
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.3-apis-%{version}
install -m 0644 xml-commons-external-1_3_*/java/external/LICENSE* $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.3-apis-%{version}
install -m 0644 xml-commons-external-1_3_*/java/external/README* $RPM_BUILD_ROOT%{_datadir}/%{name}-jaxp-1.3-apis-%{version}

# manuals
# JAXP 1.1
install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-jaxp-1.1-apis-%{version}
cp -pr xml-commons-1_0_b2/java/external/build/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-jaxp-1.1-apis-%{version}
# JAXP 1.2
install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-jaxp-1.2-apis-%{version}
cp -pr xml-commons-external-1_2_04/java/external/build/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-jaxp-1.2-apis-%{version}
# JAXP 1.3
install -d -m 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-jaxp-1.3-apis-%{version}
cp -pr xml-commons-external-1_3_*/java/external/build/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-jaxp-1.3-apis-%{version}

# For Symlinks and alternatives
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
touch %{buildroot}%{_sysconfdir}/alternatives/xml-commons-apis.jar
ln -sf %{_sysconfdir}/alternatives/xml-commons-apis.jar %{buildroot}%{_javadir}/xml-commons-apis.jar
touch %{buildroot}%{_sysconfdir}/alternatives/xml-commons-which.jar
ln -sf %{_sysconfdir}/alternatives/xml-commons-which.jar %{buildroot}%{_javadir}/xml-commons-which.jar
touch %{buildroot}%{_sysconfdir}/alternatives/xml-commons-resolver.jar
ln -sf %{_sysconfdir}/alternatives/xml-commons-resolver.jar %{buildroot}%{_javadir}/xml-commons-resolver.jar
touch %{buildroot}%{_sysconfdir}/alternatives/jaxp.jar
ln -sf %{_sysconfdir}/alternatives/jaxp.jar %{buildroot}%{_javadir}/jaxp.jar
touch %{buildroot}%{_sysconfdir}/alternatives/dom3.jar
ln -sf %{_sysconfdir}/alternatives/dom3.jar %{buildroot}%{_javadir}/dom3.jar
touch %{buildroot}%{_sysconfdir}/alternatives/dom2.jar
ln -sf %{_sysconfdir}/alternatives/dom2.jar %{buildroot}%{_javadir}/dom2.jar
touch %{buildroot}%{_sysconfdir}/alternatives/dom.jar
ln -sf %{_sysconfdir}/alternatives/dom.jar %{buildroot}%{_javadir}/dom.jar
touch %{buildroot}%{_sysconfdir}/alternatives/sax2.jar
ln -sf %{_sysconfdir}/alternatives/sax2.jar %{buildroot}%{_javadir}/sax2.jar
touch %{buildroot}%{_sysconfdir}/alternatives/sax.jar
ln -sf %{_sysconfdir}/alternatives/sax.jar %{buildroot}%{_javadir}/sax.jar
touch %{buildroot}%{_sysconfdir}/alternatives/xml-which
ln -sf %{_sysconfdir}/alternatives/xml-which %{buildroot}%{_bindir}/xml-which
touch %{buildroot}%{_sysconfdir}/alternatives/xml-resolver
ln -sf %{_sysconfdir}/alternatives/xml-resolver %{buildroot}%{_bindir}/xml-resolver
touch %{buildroot}%{_sysconfdir}/alternatives/xml-xread
ln -sf %{_sysconfdir}/alternatives/xml-xread %{buildroot}%{_bindir}/xml-xread
touch %{buildroot}%{_sysconfdir}/alternatives/xml-xparse
ln -sf %{_sysconfdir}/alternatives/xml-xparse %{buildroot}%{_bindir}/xml-xparse

%{__chmod} 755 $RPM_BUILD_ROOT%{_bindir}*

%{__perl} -pi -e 's/\r$//g' README.html KEYS

%if %{with_repolib}
install -d -m 755 $RPM_BUILD_ROOT%{repodir}
install -d -m 755 $RPM_BUILD_ROOT%{repodirlib}
install -m 755 %{SOURCE100} $RPM_BUILD_ROOT%{repodir}/component-info.xml
sed -i 's/@VERSION@/%{version}-brew/g' $RPM_BUILD_ROOT%{repodir}/component-info.xml
tag=`echo %{name}-%{version}-%{release} | sed 's|\.|_|g'`
sed -i "s/@TAG@/$tag/g" $RPM_BUILD_ROOT%{repodir}/component-info.xml
install -d -m 755 $RPM_BUILD_ROOT%{repodirsrc}
install -m 755 %{SOURCE0} $RPM_BUILD_ROOT%{repodirsrc}
cp -p $RPM_BUILD_ROOT%{_javadir}/%{name}-jaxp-1.3-apis-%{version}.jar $RPM_BUILD_ROOT%{repodirlib}/xml-apis.jar
cp -p $RPM_BUILD_ROOT%{_javadir}/%{name}-resolver11-%{version}.jar $RPM_BUILD_ROOT%{repodirlib}/resolver.jar
install -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{repodirsrc}
%endif

%if 0%{?suse_version}  
# disable of a link target doesn't exist error on ghost symlink  
export NO_BRP_STALE_LINK_ERROR=yes  
%endif  

%clean
rm -rf $RPM_BUILD_ROOT
# -----------------------------------------------------------------------------

%post jaxp-1.1-apis
#rm -f %{_javadir}/xml-commons-apis.jar
rm -f %{_javadir}/jaxp11.jar
ln -s %{name}-jaxp-1.1-apis.jar %{_javadir}/jaxp11.jar
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-apis.jar xml-commons-apis %{_javadir}/jaxp11.jar 10100
%{_sbindir}/update-alternatives --install %{_javadir}/jaxp.jar jaxp %{_javadir}/jaxp11.jar 10100
%{_sbindir}/update-alternatives --install %{_javadir}/dom2.jar dom2 %{_javadir}/jaxp11.jar 10100
%{_sbindir}/update-alternatives --install %{_javadir}/dom.jar dom %{_javadir}/jaxp11.jar 10100
%{_sbindir}/update-alternatives --install %{_javadir}/sax2.jar sax2 %{_javadir}/jaxp11.jar 10100
%{_sbindir}/update-alternatives --install %{_javadir}/sax.jar sax %{_javadir}/jaxp11.jar 10100
%{_sbindir}/update-alternatives --install %{_javadir}/xslt.jar xslt %{_javadir}/jaxp11.jar 10100

%postun jaxp-1.1-apis
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-commons-apis %{_javadir}/jaxp11.jar
  %{_sbindir}/update-alternatives --remove jaxp %{_javadir}/jaxp11.jar
  %{_sbindir}/update-alternatives --remove dom2 %{_javadir}/jaxp11.jar
  %{_sbindir}/update-alternatives --remove dom %{_javadir}/jaxp11.jar
  %{_sbindir}/update-alternatives --remove sax2 %{_javadir}/jaxp11.jar
  %{_sbindir}/update-alternatives --remove sax %{_javadir}/jaxp11.jar
  %{_sbindir}/update-alternatives --remove xslt %{_javadir}/jaxp11.jar
  rm -f %{_javadir}/jaxp11.jar
fi

%post which10
%{_sbindir}/update-alternatives --install %{_bindir}/xml-which xml-which %{_bindir}/xml-which10 10000
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-which.jar xml-commons-which %{_javadir}/xml-commons-which10.jar 10000

%postun which10
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-which %{_bindir}/xml-which10
  %{_sbindir}/update-alternatives --remove xml-commons-which %{_javadir}/xml-commons-which10.jar
fi

%post resolver10
%{_sbindir}/update-alternatives --install %{_bindir}/xml-resolver xml-resolver %{_bindir}/xml-resolver10 10000 \
--slave  %{_bindir}/xml-xread xml-xread %{_bindir}/xml-xread10 \
--slave  %{_bindir}/xml-xparse xml-xparse %{_bindir}/xml-xparse10 \
--slave  %{_mandir}/man1/xml-resolver.1.bz2 xml-resolver.1.bz2 %{_mandir}/man1/xml-resolver10.1.bz2 \
--slave  %{_mandir}/man1/xml-xread.1.bz2 xml-xread.1.bz2 %{_mandir}/man1/xml-xread10.1.bz2 \
--slave  %{_mandir}/man1/xml-xparse.1.bz2 xml-xparse.1.bz2 %{_mandir}/man1/xml-xparse10.1.bz2 
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-resolver.jar xml-commons-resolver %{_javadir}/xml-commons-resolver10.jar 10000

%postun resolver10
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-resolver %{_bindir}/xml-resolver10
  %{_sbindir}/update-alternatives --remove xml-commons-resolver %{_javadir}/xml-commons-resolver10.jar
fi

%post resolver11
%{_sbindir}/update-alternatives --install %{_bindir}/xml-resolver xml-resolver %{_bindir}/xml-resolver11 10100 \
--slave  %{_bindir}/xml-xread xml-xread %{_bindir}/xml-xread11 \
--slave  %{_bindir}/xml-xparse xml-xparse %{_bindir}/xml-xparse11 \
--slave  %{_mandir}/man1/xml-resolver.1.bz2 xml-resolver.1.bz2 %{_mandir}/man1/xml-resolver11.1.bz2 \
--slave  %{_mandir}/man1/xml-xread.1.bz2 xml-xread.1.bz2 %{_mandir}/man1/xml-xread11.1.bz2 \
--slave  %{_mandir}/man1/xml-xparse.1.bz2 xml-xparse.1.bz2 %{_mandir}/man1/xml-xparse11.1.bz2 
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-resolver.jar xml-commons-resolver %{_javadir}/xml-commons-resolver11.jar 10100

%postun resolver11
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-resolver %{_bindir}/xml-resolver11
  %{_sbindir}/update-alternatives --remove xml-commons-resolver %{_javadir}/xml-commons-resolver11.jar
fi

%post jaxp-1.2-apis
rm -f %{_javadir}/xml-commons-apis.jar
rm -f %{_javadir}/jaxp12.jar
ln -s %{name}-jaxp-1.2-apis.jar %{_javadir}/jaxp12.jar
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-apis.jar xml-commons-apis %{_javadir}/jaxp12.jar 10200
%{_sbindir}/update-alternatives --install %{_javadir}/jaxp.jar jaxp %{_javadir}/jaxp12.jar 10200
%{_sbindir}/update-alternatives --install %{_javadir}/dom2.jar dom2 %{_javadir}/jaxp12.jar 10200
%{_sbindir}/update-alternatives --install %{_javadir}/dom.jar dom %{_javadir}/jaxp12.jar 10200
%{_sbindir}/update-alternatives --install %{_javadir}/sax2.jar sax2 %{_javadir}/jaxp12.jar 10200
%{_sbindir}/update-alternatives --install %{_javadir}/sax.jar sax %{_javadir}/jaxp12.jar 10200
%{_sbindir}/update-alternatives --install %{_javadir}/xslt.jar xslt %{_javadir}/jaxp12.jar 10200

%postun jaxp-1.2-apis
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-commons-apis %{_javadir}/jaxp12.jar
  %{_sbindir}/update-alternatives --remove jaxp %{_javadir}/jaxp12.jar
  %{_sbindir}/update-alternatives --remove dom2 %{_javadir}/jaxp12.jar
  %{_sbindir}/update-alternatives --remove dom %{_javadir}/jaxp12.jar
  %{_sbindir}/update-alternatives --remove sax2 %{_javadir}/jaxp12.jar
  %{_sbindir}/update-alternatives --remove sax %{_javadir}/jaxp12.jar
  %{_sbindir}/update-alternatives --remove xslt %{_javadir}/jaxp12.jar
  rm -f %{_javadir}/jaxp12.jar
fi

%post jaxp-1.3-apis
rm -f %{_javadir}/xml-commons-apis.jar
rm -f %{_javadir}/jaxp13.jar
ln -s %{name}-jaxp-1.3-apis.jar %{_javadir}/jaxp13.jar
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-apis.jar xml-commons-apis %{_javadir}/jaxp13.jar 10300
%{_sbindir}/update-alternatives --install %{_javadir}/jaxp.jar jaxp %{_javadir}/jaxp13.jar 10300
%{_sbindir}/update-alternatives --install %{_javadir}/dom.jar dom %{_javadir}/jaxp13.jar 10300
%{_sbindir}/update-alternatives --install %{_javadir}/sax2.jar sax2 %{_javadir}/jaxp13.jar 10300
%{_sbindir}/update-alternatives --install %{_javadir}/sax.jar sax %{_javadir}/jaxp13.jar 10300
%{_sbindir}/update-alternatives --install %{_javadir}/xslt.jar xslt %{_javadir}/jaxp13.jar 10300

%postun jaxp-1.3-apis
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-commons-apis %{_javadir}/jaxp13.jar
  %{_sbindir}/update-alternatives --remove jaxp %{_javadir}/jaxp13.jar
  %{_sbindir}/update-alternatives --remove dom %{_javadir}/jaxp13.jar
  %{_sbindir}/update-alternatives --remove sax2 %{_javadir}/jaxp13.jar
  %{_sbindir}/update-alternatives --remove sax %{_javadir}/jaxp13.jar
  %{_sbindir}/update-alternatives --remove xslt %{_javadir}/jaxp13.jar
  rm -f %{_javadir}/jaxp13.jar
fi

%post which11
%{_sbindir}/update-alternatives --install %{_bindir}/xml-which xml-which %{_bindir}/xml-which11 10100
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-which.jar xml-commons-which %{_javadir}/xml-commons-which11.jar 10100

%postun which11
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-which %{_bindir}/xml-which11
  %{_sbindir}/update-alternatives --remove xml-commons-which %{_javadir}/xml-commons-which11.jar
fi

%post resolver12
%{_sbindir}/update-alternatives --install %{_bindir}/xml-resolver xml-resolver %{_bindir}/xml-resolver12 10200 \
--slave  %{_bindir}/xml-xread xml-xread %{_bindir}/xml-xread12 \
--slave  %{_bindir}/xml-xparse xml-xparse %{_bindir}/xml-xparse12 \
--slave  %{_mandir}/man1/xml-resolver.1.bz2 xml-resolver.1.bz2 %{_mandir}/man1/xml-resolver12.1.bz2 \
--slave  %{_mandir}/man1/xml-xread.1.bz2 xml-xread.1.bz2 %{_mandir}/man1/xml-xread12.1.bz2 \
--slave  %{_mandir}/man1/xml-xparse.1.bz2 xml-xparse.1.bz2 %{_mandir}/man1/xml-xparse12.1.bz2 
%{_sbindir}/update-alternatives --install %{_javadir}/xml-commons-resolver.jar xml-commons-resolver %{_javadir}/xml-commons-resolver12.jar 10200

%postun resolver12
if [ "$1" = "0" ]; then
  %{_sbindir}/update-alternatives --remove xml-resolver %{_bindir}/xml-resolver12
  %{_sbindir}/update-alternatives --remove xml-commons-resolver %{_javadir}/xml-commons-resolver12.jar
fi

# -----------------------------------------------------------------------------

%files 
%defattr(0644,root,root,0755)
%doc xml-commons-1_0_b2/LICENSE.txt 
%doc xml-commons-external-1_3_*/*.txt
%config(noreplace) %{resolverdir}/*
%{_mavendepmapfragdir}/%{name}
%dir %{_sysconfdir}/java/resolver

%files jaxp-1.1-apis
%defattr(0644,root,root,0755)
# FIXME:
# xml-commons-jaxp-1.1-apis.noarch: W: file-not-utf8 /usr/share/xml-commons-jaxp-1.1-apis-1.3.03/LICENSE.dom-software.txt
# xml-commons-jaxp-1.1-apis.noarch: W: file-not-utf8 /usr/share/xml-commons-jaxp-1.1-apis-1.3.03/LICENSE.dom-documentation.txt
%doc %{_datadir}/%{name}-jaxp-1.1-apis-%{version}
%{_javadir}/%{name}-jaxp-1.1-apis*.jar
%ghost %{_javadir}/xml-commons-apis.jar
%ghost %{_sysconfdir}/alternatives/xml-commons-apis.jar
%ghost %{_javadir}/jaxp11.jar
%ghost %{_sysconfdir}/alternatives/jaxp11.jar
%ghost %{_javadir}/jaxp.jar
%ghost %{_sysconfdir}/alternatives/jaxp.jar
%ghost %{_javadir}/dom2.jar
%ghost %{_sysconfdir}/alternatives/dom2.jar
%ghost %{_javadir}/dom.jar
%ghost %{_sysconfdir}/alternatives/dom.jar
%ghost %{_javadir}/sax2.jar
%ghost %{_sysconfdir}/alternatives/sax2.jar
%ghost %{_javadir}/sax.jar
%ghost %{_sysconfdir}/alternatives/sax.jar

%files jaxp-1.1-apis-manual
%defattr(0644,root,root,0755)
%doc %{_docdir}/%{name}-jaxp-1.1-apis-%{version}

%files which10
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-which10*.jar
%ghost %{_javadir}/xml-commons-which.jar
%ghost %{_sysconfdir}/alternatives/xml-commons-which.jar
%attr(0755,root,root) %{_bindir}/xml-which10
%ghost %{_bindir}/xml-which
%ghost %{_sysconfdir}/alternatives/xml-which

%files resolver10
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-resolver10*.jar
%ghost %{_javadir}/xml-commons-resolver.jar
%ghost %{_sysconfdir}/alternatives/xml-commons-resolver.jar
%attr(0755,root,root) %{_bindir}/xml-resolver10
%attr(0755,root,root) %{_bindir}/xml-xread10
%attr(0755,root,root) %{_bindir}/xml-xparse10
%{_mandir}/man1/xml-resolver10.1*
%{_mandir}/man1/xml-xread10.1*
%{_mandir}/man1/xml-xparse10.1*
%ghost %{_bindir}/xml-resolver
%ghost %{_bindir}/xml-xread
%ghost %{_bindir}/xml-xparse
%ghost %{_sysconfdir}/alternatives/xml-resolver
%ghost %{_sysconfdir}/alternatives/xml-xread
%ghost %{_sysconfdir}/alternatives/xml-xparse

%files resolver11
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-resolver11*.jar
%ghost %{_javadir}/xml-commons-resolver.jar
%ghost %{_sysconfdir}/alternatives/xml-commons-resolver.jar
%attr(0755,root,root) %{_bindir}/xml-resolver11
%attr(0755,root,root) %{_bindir}/xml-xread11
%attr(0755,root,root) %{_bindir}/xml-xparse11
%{_mandir}/man1/xml-resolver11.1*
%{_mandir}/man1/xml-xread11.1*
%{_mandir}/man1/xml-xparse11.1*
%ghost %{_bindir}/xml-resolver
%ghost %{_bindir}/xml-xread
%ghost %{_bindir}/xml-xparse
%ghost %{_sysconfdir}/alternatives/xml-resolver
%ghost %{_sysconfdir}/alternatives/xml-xread
%ghost %{_sysconfdir}/alternatives/xml-xparse

%files jaxp-1.2-apis
%defattr(0644,root,root,0755)
%doc %{_datadir}/%{name}-jaxp-1.2-apis-%{version}
%{_javadir}/%{name}-jaxp-1.2-apis*.jar
%ghost %{_sysconfdir}/alternatives/xml-commons-apis.jar
%ghost %{_javadir}/jaxp12.jar
%ghost %{_sysconfdir}/alternatives/jaxp12.jar
%ghost %{_javadir}/jaxp.jar
%ghost %{_sysconfdir}/alternatives/jaxp.jar
%ghost %{_javadir}/dom2.jar
%ghost %{_sysconfdir}/alternatives/dom2.jar
%ghost %{_javadir}/dom.jar
%ghost %{_sysconfdir}/alternatives/dom.jar
%ghost %{_javadir}/sax2.jar
%ghost %{_sysconfdir}/alternatives/sax2.jar
%ghost %{_javadir}/sax.jar
%ghost %{_sysconfdir}/alternatives/sax.jar

%files jaxp-1.2-apis-manual
%defattr(0644,root,root,0755)
%{_docdir}/%{name}-jaxp-1.2-apis-%{version}

%files jaxp-1.3-apis
%defattr(0644,root,root,0755)
%doc %{_datadir}/%{name}-jaxp-1.3-apis-%{version}
%{_javadir}/%{name}-jaxp-1.3-apis-%{version}.jar
%{_javadir}/%{name}-jaxp-1.3-apis.jar
%{_javadir}/%{name}-jaxp-1.3-apis-ext-%{version}.jar
%{_javadir}/%{name}-jaxp-1.3-apis-ext.jar
%{_mavenpomdir}/JPP-%{name}-apis.pom
%{_mavenpomdir}/JPP-%{name}-jaxp-1.3-apis.pom
%{_mavenpomdir}/JPP-%{name}-jaxp-1.3-apis-ext.pom
%ghost %{_javadir}/xml-commons-apis.jar
%ghost %{_sysconfdir}/alternatives/xml-commons-apis.jar
%ghost %{_javadir}/jaxp13.jar
%ghost %{_sysconfdir}/alternatives/jaxp13.jar
%ghost %{_javadir}/jaxp.jar
%ghost %{_sysconfdir}/alternatives/jaxp.jar
%ghost %{_javadir}/dom3.jar
%ghost %{_sysconfdir}/alternatives/dom3.jar
%ghost %{_javadir}/dom.jar
%ghost %{_sysconfdir}/alternatives/dom.jar
%ghost %{_javadir}/sax2.jar
%ghost %{_sysconfdir}/alternatives/sax2.jar
%ghost %{_javadir}/sax.jar
%ghost %{_sysconfdir}/alternatives/sax.jar

%files jaxp-1.3-apis-manual
%defattr(0644,root,root,0755)
%{_docdir}/%{name}-jaxp-1.3-apis-%{version}

%files which11
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-which11*.jar
%ghost %ghost %{_javadir}/xml-commons-which.jar
%attr(0755,root,root) %{_bindir}/xml-which11
%ghost %{_bindir}/xml-which
%ghost %{_sysconfdir}/alternatives/xml-which

%files resolver12
%defattr(0644,root,root,0755)
%{_javadir}/%{name}-resolver12*.jar
%ghost %{_javadir}/xml-commons-resolver.jar
%attr(0755,root,root) %{_bindir}/xml-resolver12
%attr(0755,root,root) %{_bindir}/xml-xread12
%attr(0755,root,root) %{_bindir}/xml-xparse12
%{_mandir}/man1/xml-resolver12.1*
%{_mandir}/man1/xml-xread12.1*
%{_mandir}/man1/xml-xparse12.1*
%ghost %{_bindir}/xml-resolver
%ghost %{_bindir}/xml-xread
%ghost %{_bindir}/xml-xparse
%ghost %{_sysconfdir}/alternatives/xml-resolver
%ghost %{_sysconfdir}/alternatives/xml-xread
%ghost %{_sysconfdir}/alternatives/xml-xparse

%if %{with_repolib}

%files repolib
%defattr(0644,root,root,0755)
%{repodir}
%endif

%changelog
openSUSE Build Service is sponsored by