diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..75e8197
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,3 @@
+
+ extras
+
diff --git a/_service b/_service
new file mode 100644
index 0000000..6390b4f
--- /dev/null
+++ b/_service
@@ -0,0 +1,18 @@
+
+
+ git
+ https://github.com/apache/xalan-java.git
+ xalan-j_2_7_3-rc10
+ xalan-j_*
+ @PARENT_TAG@
+ xalan-j_(\d+)_(\d+)_(\d+).*
+ \1.\2.\3
+ xalan-j2
+ **/*.jar
+
+
+ *.tar
+ xz
+
+
+
diff --git a/openjdk-build.patch b/openjdk-build.patch
index d8ec465..b38598f 100644
--- a/openjdk-build.patch
+++ b/openjdk-build.patch
@@ -1,288 +1,244 @@
-diff -urEbwB xalan-j_2_7_3.orig/build.xml xalan-j_2_7_3/build.xml
---- xalan-j_2_7_3.orig/build.xml 2023-08-30 18:36:44.177771503 +0200
-+++ xalan-j_2_7_3/build.xml 2023-08-30 18:49:32.266249508 +0200
-@@ -221,14 +221,12 @@
-
-
-
--
-
-
-
-
-
-
--
-
-
-
-@@ -237,7 +235,6 @@
-
-
-
--
-
-
-
-@@ -398,7 +395,6 @@
-
-
--
-
-
-
-@@ -414,6 +410,12 @@
-
-
-+
-+
-+
-+
-+
-
-
-
-
--
-
-
-
-@@ -454,7 +455,6 @@
-
-
--
-
-
-
-@@ -469,7 +469,6 @@
- target="${compiler.target}" source="${compiler.source}"
- nowarn="${compiler.nowarn}">
-
--
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@@ -889,7 +886,6 @@
-
-
-@@ -930,14 +926,14 @@
-
-
-
-
-
-@@ -951,7 +947,7 @@
-
-
-
-
-
-@@ -989,7 +985,7 @@
-
-
-
-@@ -1008,7 +1004,7 @@
-
-
-@@ -1627,7 +1623,7 @@
-
-
-+ classpath="${build.xalan.jar}:${bin.dir}/fop.jar:${bin.dir}/w3c.jar">
-
-
-
-@@ -1764,7 +1760,6 @@
- nowarn="${compiler.nowarn}">
-
-
--
-
-
-
-Only in xalan-j_2_7_3: build.xml.orig
-Only in xalan-j_2_7_3: build.xml.rej
+diff --git a/build.xml b/build.xml
+index 2a2703a..20fe6e4 100644
+--- a/build.xml
++++ b/build.xml
+@@ -391,7 +391,6 @@ $Id$
+
+
+-
+
+
+
+@@ -407,6 +406,12 @@ $Id$
+
+
++
++
++
++
++
+
+
+
+
+-
+
+
+
+@@ -461,7 +465,6 @@ $Id$
+ target="${compiler.target}" source="${compiler.source}"
+ nowarn="${compiler.nowarn}">
+
+-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@@ -881,7 +882,6 @@ $Id$
+
+
+@@ -924,12 +924,12 @@ $Id$
+
+
+
+@@ -943,7 +943,7 @@ $Id$
+
+
+
+
+
+@@ -981,7 +981,7 @@ $Id$
+
+
+
+@@ -1000,7 +1000,7 @@ $Id$
+
+
+@@ -1760,7 +1760,6 @@ $Id$
+ nowarn="${compiler.nowarn}">
+
+
+-
+
+
+
diff --git a/xalan-j2-2.7.3.tar.xz b/xalan-j2-2.7.3.tar.xz
new file mode 100644
index 0000000..ae85736
--- /dev/null
+++ b/xalan-j2-2.7.3.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b23df4651fd1f0ee7136eef67557f5646d829562573546bc263aa5e90b0d7a14
+size 2290972
diff --git a/xalan-j2-crosslink.patch b/xalan-j2-crosslink.patch
index 53f2407..89eb1ea 100644
--- a/xalan-j2-crosslink.patch
+++ b/xalan-j2-crosslink.patch
@@ -1,30 +1,31 @@
-diff -urN xalan-j_2_7_2.old/build.xml xalan-j_2_7_2/build.xml
---- xalan-j_2_7_2.old/build.xml 2014-06-23 09:21:30.815410307 +0200
-+++ xalan-j_2_7_2/build.xml 2014-06-23 09:22:59.124418473 +0200
-@@ -204,7 +204,9 @@
-
-
-
--
-+
-+
-+
-
-
-
-@@ -1098,6 +1100,7 @@
-
-
-+
-
-
-
-@@ -1133,6 +1136,7 @@
-
-
-+
-
-
-
+diff --git a/build.xml b/build.xml
+index df58558..2a2703a 100644
+--- a/build.xml
++++ b/build.xml
+@@ -205,7 +205,9 @@ $Id$
+
+
+
+-
++
++
++
+
+
+
+@@ -1120,6 +1122,7 @@ $Id$
+
+
++
+
+
+
+@@ -1155,6 +1158,7 @@ $Id$
+
+
++
+
+
+
diff --git a/xalan-j2-manifest.patch b/xalan-j2-manifest.patch
index fe55e2c..6824c5c 100644
--- a/xalan-j2-manifest.patch
+++ b/xalan-j2-manifest.patch
@@ -1,111 +1,115 @@
-diff -urEbwB xalan-j_2_7_3.orig/src/MANIFEST.MF xalan-j_2_7_3/src/MANIFEST.MF
---- xalan-j_2_7_3.orig/src/MANIFEST.MF 2023-08-30 18:36:44.211105060 +0200
-+++ xalan-j_2_7_3/src/MANIFEST.MF 2023-08-30 18:39:12.542098631 +0200
+diff --git a/src/MANIFEST.MF b/src/MANIFEST.MF
+index 15a12ae..43c7c3b 100644
+--- a/src/MANIFEST.MF
++++ b/src/MANIFEST.MF
@@ -1,7 +1,6 @@
- Manifest-Version: 1.0
- Created-By: @java.version@ (@java.vendor@)
- Main-Class: org.apache.xalan.xslt.Process
--Class-Path: xercesImpl.jar xml-apis.jar serializer.jar
-
-
- Name: org/apache/xalan/
-@@ -38,33 +37,3 @@
- Implementation-Vendor: Apache Software Foundation
- Implementation-URL: https://xalan.apache.org/xalan-j/
-
--Name: java_cup/runtime/
--Comment: Runtime component of JCup
--Specification-Title: Runtime component of JCup
--Specification-Vendor: Princeton University
--Specification-Version: 0.10k
--Implementation-Title: runtime
--Implementation-Version: @impl.version@
--Implementation-Vendor: Princeton University
--Implementation-URL: http://www.cs.princeton.edu/~appel/modern/java/CUP/
--
--Name: org/apache/bcel/
--Comment: Apache Commons Byte Code Engineering Library
--Specification-Title: Apache Commons BCEL
--Specification-Vendor: Apache Software Foundation
--Specification-Version: 6.7.0
--Implementation-Title: org.apache.bcel
--Implementation-Version: @impl.version@
--Implementation-Vendor: Apache Software Foundation
--Implementation-URL: https://commons.apache.org/proper/commons-bcel
--
--Name: org/apache/regexp/
--Comment: Java Regular Expression package
--Specification-Title: Java Regular Expression package
--Specification-Vendor: Apache Software Foundation
--Specification-Version: 1.2
--Implementation-Title: org.apache.regexp
--Implementation-Version: @impl.version@
--Implementation-Vendor: Apache Software Foundation
--Implementation-URL: http://jakarta.apache.org/regexp
--
-diff -urEbwB xalan-j_2_7_3.orig/src/MANIFEST.SERIALIZER xalan-j_2_7_3/src/MANIFEST.SERIALIZER
---- xalan-j_2_7_3.orig/src/MANIFEST.SERIALIZER 2023-08-30 18:36:44.211105060 +0200
-+++ xalan-j_2_7_3/src/MANIFEST.SERIALIZER 2023-08-30 18:38:46.375256700 +0200
+ Manifest-Version: 1.0
+ Created-By: @java.version@ (@java.vendor@)
+ Main-Class: org.apache.xalan.xslt.Process
+-Class-Path: xercesImpl.jar xml-apis.jar serializer.jar
+
+
+ Name: org/apache/xalan/
+@@ -38,33 +37,3 @@ Implementation-Version: @impl.version@
+ Implementation-Vendor: Apache Software Foundation
+ Implementation-URL: https://xalan.apache.org/xalan-j/
+
+-Name: java_cup/runtime/
+-Comment: Runtime component of JCup
+-Specification-Title: Runtime component of JCup
+-Specification-Vendor: Princeton University
+-Specification-Version: 0.10k
+-Implementation-Title: runtime
+-Implementation-Version: @impl.version@
+-Implementation-Vendor: Princeton University
+-Implementation-URL: http://www.cs.princeton.edu/~appel/modern/java/CUP/
+-
+-Name: org/apache/bcel/
+-Comment: Apache Commons Byte Code Engineering Library
+-Specification-Title: Apache Commons BCEL
+-Specification-Vendor: Apache Software Foundation
+-Specification-Version: 6.7.0
+-Implementation-Title: org.apache.bcel
+-Implementation-Version: @impl.version@
+-Implementation-Vendor: Apache Software Foundation
+-Implementation-URL: https://commons.apache.org/proper/commons-bcel
+-
+-Name: org/apache/regexp/
+-Comment: Java Regular Expression package
+-Specification-Title: Java Regular Expression package
+-Specification-Vendor: Apache Software Foundation
+-Specification-Version: 1.2
+-Implementation-Title: org.apache.regexp
+-Implementation-Version: @impl.version@
+-Implementation-Vendor: Apache Software Foundation
+-Implementation-URL: http://jakarta.apache.org/regexp
+-
+diff --git a/src/MANIFEST.SERIALIZER b/src/MANIFEST.SERIALIZER
+index 54be291..4bc1c11 100644
+--- a/src/MANIFEST.SERIALIZER
++++ b/src/MANIFEST.SERIALIZER
@@ -1,7 +1,6 @@
- Manifest-Version: 1.0
- Created-By: @java.version@ (@java.vendor@)
- Main-Class: org.apache.xml.serializer.Version
--Class-Path: xml-apis.jar
-
- Name: org/apache/xml/serializer/
- Comment: Serializer to write out XML, HTML etc. as a stream of characters from an input DOM or from input SAX events.
-diff -urEbwB xalan-j_2_7_3.orig/src/manifest.xalan-interpretive xalan-j_2_7_3/src/manifest.xalan-interpretive
---- xalan-j_2_7_3.orig/src/manifest.xalan-interpretive 2023-08-30 18:36:44.211105060 +0200
-+++ xalan-j_2_7_3/src/manifest.xalan-interpretive 2023-08-30 18:38:46.375256700 +0200
+ Manifest-Version: 1.0
+ Created-By: @java.version@ (@java.vendor@)
+ Main-Class: org.apache.xml.serializer.Version
+-Class-Path: xml-apis.jar
+
+ Name: org/apache/xml/serializer/
+ Comment: Serializer to write out XML, HTML etc. as a stream of characters from an input DOM or from input SAX events.
+diff --git a/src/manifest.xalan-interpretive b/src/manifest.xalan-interpretive
+index fd5882a..f1c895e 100644
+--- a/src/manifest.xalan-interpretive
++++ b/src/manifest.xalan-interpretive
@@ -1,7 +1,6 @@
- Manifest-Version: 1.0
- Created-By: @java.version@ (@java.vendor@)
- Main-Class: org.apache.xalan.xslt.Process
--Class-Path: xercesImpl.jar xml-apis.jar serializer.jar
-
- Name: org/apache/xalan/
- Comment: Main Xalan engine implementing TrAX/JAXP
-diff -urEbwB xalan-j_2_7_3.orig/src/manifest.xsltc xalan-j_2_7_3/src/manifest.xsltc
---- xalan-j_2_7_3.orig/src/manifest.xsltc 2023-08-30 18:36:44.211105060 +0200
-+++ xalan-j_2_7_3/src/manifest.xsltc 2023-08-30 18:39:52.469032707 +0200
+ Manifest-Version: 1.0
+ Created-By: @java.version@ (@java.vendor@)
+ Main-Class: org.apache.xalan.xslt.Process
+-Class-Path: xercesImpl.jar xml-apis.jar serializer.jar
+
+ Name: org/apache/xalan/
+ Comment: Main Xalan engine implementing TrAX/JAXP
+diff --git a/src/manifest.xsltc b/src/manifest.xsltc
+index fd24887..2c99f38 100644
+--- a/src/manifest.xsltc
++++ b/src/manifest.xsltc
@@ -1,6 +1,5 @@
- Manifest-Version: 1.0
- Created-By: @java.version@ (@java.vendor@)
--Class-Path: xercesImpl.jar xml-apis.jar serializer.jar
-
- Name: org/apache/xalan/xsltc/
- Comment: Main XSLTC engine implementing TrAX/JAXP
-@@ -19,33 +18,3 @@
- Implementation-Vendor: Apache Software Foundation
- Implementation-URL: http://xml.apache.org/xalan-j/dist/
-
--Name: java_cup/runtime/
--Comment: Runtime component of JCup
--Specification-Title: Runtime component of JCup
--Specification-Vendor: Princeton University
--Specification-Version: 0.10k
--Implementation-Title: runtime
--Implementation-Version: @impl.version@
--Implementation-Vendor: Princeton University
--Implementation-URL: http://www.cs.princeton.edu/~appel/modern/java/CUP/
--
--Name: org/apache/bcel/
--Comment: Byte Code Engineering Library
--Specification-Title: Byte Code Engineering Library
--Specification-Vendor: Markus Dahm
--Specification-Version: 6.6.0
--Implementation-Title: org.apache.bcel
--Implementation-Version: @impl.version@
--Implementation-Vendor: Apache Software Foundation
--Implementation-URL: http://jakarta.apache.org/bcel
--
--Name: org/apache/regexp/
--Comment: Java Regular Expression package
--Specification-Title: Java Regular Expression package
--Specification-Vendor: Apache Software Foundation
--Specification-Version: 1.2
--Implementation-Title: org.apache.regexp
--Implementation-Version: @impl.version@
--Implementation-Vendor: Apache Software Foundation
--Implementation-URL: http://jakarta.apache.org/regexp
--
+ Manifest-Version: 1.0
+ Created-By: @java.version@ (@java.vendor@)
+-Class-Path: xercesImpl.jar xml-apis.jar serializer.jar
+
+ Name: org/apache/xalan/xsltc/
+ Comment: Main XSLTC engine implementing TrAX/JAXP
+@@ -19,33 +18,3 @@ Implementation-Version: @impl.version@
+ Implementation-Vendor: Apache Software Foundation
+ Implementation-URL: http://xml.apache.org/xalan-j/dist/
+
+-Name: java_cup/runtime/
+-Comment: Runtime component of JCup
+-Specification-Title: Runtime component of JCup
+-Specification-Vendor: Princeton University
+-Specification-Version: 0.10k
+-Implementation-Title: runtime
+-Implementation-Version: @impl.version@
+-Implementation-Vendor: Princeton University
+-Implementation-URL: http://www.cs.princeton.edu/~appel/modern/java/CUP/
+-
+-Name: org/apache/bcel/
+-Comment: Byte Code Engineering Library
+-Specification-Title: Byte Code Engineering Library
+-Specification-Vendor: Markus Dahm
+-Specification-Version: 6.6.0
+-Implementation-Title: org.apache.bcel
+-Implementation-Version: @impl.version@
+-Implementation-Vendor: Apache Software Foundation
+-Implementation-URL: http://jakarta.apache.org/bcel
+-
+-Name: org/apache/regexp/
+-Comment: Java Regular Expression package
+-Specification-Title: Java Regular Expression package
+-Specification-Vendor: Apache Software Foundation
+-Specification-Version: 1.2
+-Implementation-Title: org.apache.regexp
+-Implementation-Version: @impl.version@
+-Implementation-Vendor: Apache Software Foundation
+-Implementation-URL: http://jakarta.apache.org/regexp
+-
diff --git a/xalan-j2-noxsltcdeps.patch b/xalan-j2-noxsltcdeps.patch
index b2cc2dc..900d0c6 100644
--- a/xalan-j2-noxsltcdeps.patch
+++ b/xalan-j2-noxsltcdeps.patch
@@ -1,12 +1,13 @@
-diff -urN xalan-j_2_7_2.old/build.xml xalan-j_2_7_2/build.xml
---- xalan-j_2_7_2.old/build.xml 2014-06-23 09:21:30.815410307 +0200
-+++ xalan-j_2_7_2/build.xml 2014-06-23 09:25:00.547429701 +0200
-@@ -616,7 +616,7 @@
-
-
-
--
-
-
+diff --git a/build.xml b/build.xml
+index 55c7d38..df58558 100644
+--- a/build.xml
++++ b/build.xml
+@@ -616,7 +616,7 @@ $Id$
+
+
+
+-
+
+
diff --git a/xalan-j2.changes b/xalan-j2.changes
index af32764..d667e50 100644
--- a/xalan-j2.changes
+++ b/xalan-j2.changes
@@ -1,3 +1,18 @@
+-------------------------------------------------------------------
+Sun Sep 22 07:00:22 UTC 2024 - Fridrich Strba
+
+- Use SOURCE_DATE_EPOCH for reproducible builds
+- Split into two _multibuild flavours to avoid use of binary jars
+ and prevent build cycles
+- Fetch the sources from git and clean the tarball of binary jars
+- Modified patches:
+ * openjdk-build.patch
+ * xalan-j2-crosslink.patch
+ * xalan-j2-manifest.patch
+ * xalan-j2-noxsltcdeps.patch
+ + adapt to different line-endings and to slightly changed
+ context
+
-------------------------------------------------------------------
Wed Feb 21 16:24:59 UTC 2024 - Fridrich Strba
diff --git a/xalan-j2.spec b/xalan-j2.spec
index 5a449a1..ed78d87 100644
--- a/xalan-j2.spec
+++ b/xalan-j2.spec
@@ -16,39 +16,39 @@
#
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "extras"
+%bcond_without extras
+%else
+%bcond_with extras
+%endif
%define cvs_version 2_7_3
-Name: xalan-j2
+%global base_name xalan-j2
Version: 2.7.3
Release: 0
Summary: Java XSLT processor
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://xalan.apache.org/index.html
-Source0: https://www.apache.org/dist/xalan/xalan-j/source/xalan-j_%{cvs_version}-src.tar.gz
+Source0: %{base_name}-%{version}.tar.xz
Source1: https://repo1.maven.org/maven2/xalan/xalan/%{version}/xalan-%{version}.pom
Source2: https://repo1.maven.org/maven2/xalan/serializer/%{version}/serializer-%{version}.pom
Source3: xsltc-%{version}.pom
Source4: xalan-j2-serializer-MANIFEST.MF
Source5: xalan-j2-MANIFEST.MF
# OSGi manifests
-Patch0: %{name}-noxsltcdeps.patch
-Patch1: %{name}-manifest.patch
-Patch2: %{name}-crosslink.patch
+Patch0: %{base_name}-noxsltcdeps.patch
+Patch1: %{base_name}-manifest.patch
+Patch2: %{base_name}-crosslink.patch
Patch3: openjdk-build.patch
BuildRequires: ant
-BuildRequires: bcel
BuildRequires: dos2unix
BuildRequires: fdupes
-BuildRequires: java-cup-bootstrap
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local >= 6
-BuildRequires: jlex
-BuildRequires: regexp
-BuildRequires: servletapi5
BuildRequires: xml-commons-apis-bootstrap
#!BuildIgnore: apache-commons-lang3
#!BuildIgnore: java-cup
-#!BuildIgnore: xerces-j2
#!BuildIgnore: xml-commons
#!BuildIgnore: xml-commons-apis
#!BuildIgnore: xml-commons-jaxp-1.3-apis
@@ -58,6 +58,24 @@ Requires(post): update-alternatives
Requires(postun): update-alternatives
Provides: jaxp_transform_impl
BuildArch: noarch
+%if %{with extras}
+Name: %{base_name}-extras
+%else
+Name: %{base_name}
+%endif
+%if %{with extras}
+BuildRequires: bcel
+BuildRequires: dejavu-fonts
+BuildRequires: java-cup-bootstrap
+BuildRequires: jlex
+BuildRequires: regexp
+BuildRequires: servletapi5
+BuildRequires: xalan-j2
+BuildRequires: xerces-j2
+BuildRequires: xml-stylebook
+%else
+#!BuildIgnore: xerces-j2
+%endif
%description
Xalan is an XSLT processor for transforming XML documents into HTML,
@@ -66,7 +84,7 @@ Recommendations for XSL Transformations (XSLT) and the XML Path
Language (XPath). It can be used from the command line, in an applet or
a servlet, or as a module in other program.
-%package xsltc
+%package -n %{base_name}-xsltc
Summary: Java XSLT compiler
Group: Development/Libraries/Java
Requires: bcel
@@ -75,15 +93,15 @@ Requires: jaxp_parser_impl
Requires: jlex
Requires: regexp
-%description xsltc
+%description -n %{base_name}-xsltc
The XSLT Compiler is a Java-based tool for compiling XSLT stylesheets
into lightweight and portable Java byte codes called translets.
-%package manual
+%package -n %{base_name}-manual
Summary: Manual for xalan-j2
Group: Development/Libraries/Java
-%description manual
+%description -n %{base_name}-manual
Xalan is an XSLT processor for transforming XML documents into HTML,
text, or other XML document types. It implements the W3C
Recommendations for XSL Transformations (XSLT) and the XML Path
@@ -92,13 +110,13 @@ a servlet, or as a module in other program.
This package contains the manual for Xalan.
-%package demo
+%package -n %{base_name}-demo
Summary: Demonstration and samples for xalan-j2
Group: Development/Libraries/Java
-Requires: %{name} = %{version}-%{release}
+Requires: %{base_name} = %{version}-%{release}
Requires: servlet
-%description demo
+%description -n %{base_name}-demo
Xalan is an XSLT processor for transforming XML documents into HTML,
text, or other XML document types. It implements the W3C
Recommendations for XSL Transformations (XSLT) and the XML Path
@@ -108,78 +126,89 @@ a servlet, or as a module in other program.
This package contains demonstration and sample files for Xalan.
%prep
-%setup -q -n xalan-j_%{cvs_version}
+%setup -q -n %{base_name}-%{version}
%patch -P 0 -p1
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
-# Remove all binary libs, except ones needed to build docs and N/A elsewhere.
-for j in $(find . -name "*.jar"); do
- mv $j $j.no
-done
-mv tools/xalan2jdoc.jar.no tools/xalan2jdoc.jar
-mv tools/xalan2jtaglet.jar.no tools/xalan2jtaglet.jar
-dos2unix KEYS LICENSE.txt NOTICE.txt xdocs/sources/xsltc/README.xsltc xdocs/sources/xsltc/README.xslt
%build
if [ ! -e "$JAVA_HOME" ] ; then export JAVA_HOME="%{java_home}" ; fi
pushd lib
+%if %{with extras}
ln -sf $(build-classpath java-cup-runtime) runtime.jar
ln -sf $(build-classpath bcel) bcel-6.7.0.jar
ln -sf $(build-classpath regexp) regexp.jar
+pushd endorsed
ln -sf $(build-classpath xerces-j2) xercesImpl.jar
-ln -sf $(build-classpath xml-commons-apis) xml-apis.jar
+ln -sf $(build-classpath xml-apis) xml-apis.jar
+popd
+%endif
popd
pushd tools
-ln -sf $(build-classpath java-cup) java_cup.jar
ln -sf $(build-classpath ant) ant.jar
+%if %{with extras}
+ln -sf $(build-classpath java-cup) java_cup.jar
ln -sf $(build-classpath jlex) JLex.jar
-ln -sf $(build-classpath stylebook) stylebook-1.0-b3_xalan-2.jar
+ln -sf $(build-classpath xml-stylebook) stylebook-1.0-b3_xalan-2.jar
+%endif
popd
+%if %{with extras}
+mkdir -p build
+pushd build
+ln -sf $(build-classpath %{base_name}) xalan-interpretive.jar
+popd
+%endif
+
%{ant} \
- -Dservlet-api.jar=$(build-classpath servletapi5) \
-Dcompiler.source=1.8 -Dcompiler.target=1.8 \
-Djava.awt.headless=true \
-Dapi.j2se=%{_javadocdir}/java \
-Dbuild.xalan-interpretive.jar=build/xalan-interpretive.jar \
- xalan-interpretive.jar\
+%if %{with extras}
+ -Dservlet-api.jar=$(build-classpath servletapi5) \
xsltc.unbundledjar \
docs \
xsltc.docs \
samples \
servlet
+%else
+ xalan-interpretive.jar
# inject OSGi manifests
-jar ufm build/serializer.jar %{SOURCE4}
-jar ufm build/xalan-interpretive.jar %{SOURCE5}
+jar \
+%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 17}%{!?pkg_vcmp:0}
+ --date="$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ)" \
+%endif
+ --update --file=build/serializer.jar --manifest=%{SOURCE4}
+jar \
+%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 17}%{!?pkg_vcmp:0}
+ --date="$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ)" \
+%endif
+ --update --file=build/xalan-interpretive.jar --manifest=%{SOURCE5}
+
+%endif
%install
# jars
install -d -m 755 %{buildroot}%{_javadir}
+%if %{without extras}
install -p -m 644 build/xalan-interpretive.jar \
- %{buildroot}%{_javadir}/%{name}.jar
+ %{buildroot}%{_javadir}/%{base_name}.jar
+install -p -m 644 build/serializer.jar \
+ %{buildroot}%{_javadir}/%{base_name}-serializer.jar
+%else
install -p -m 644 build/xsltc.jar \
%{buildroot}%{_javadir}/xsltc.jar
-install -p -m 644 build/serializer.jar \
- %{buildroot}%{_javadir}/%{name}-serializer.jar
+%endif
# pom
install -d -m 755 %{buildroot}%{_mavenpomdir}
-%{mvn_install_pom} %{SOURCE1} %{buildroot}%{_mavenpomdir}/%{name}.pom
-%add_maven_depmap %{name}.pom %{name}.jar
-%{mvn_install_pom} %{SOURCE2} %{buildroot}%{_mavenpomdir}/%{name}-serializer.pom
-%add_maven_depmap %{name}-serializer.pom %{name}-serializer.jar
-%{mvn_install_pom} %{SOURCE3} %{buildroot}%{_mavenpomdir}/xsltc.pom
-%add_maven_depmap xsltc.pom xsltc.jar -f xsltc
-
-# demo
-install -d -m 755 %{buildroot}%{_datadir}/%{name}
-install -p -m 644 build/xalansamples.jar \
- %{buildroot}%{_datadir}/%{name}/%{name}-samples.jar
-install -p -m 644 build/xalanservlet.war \
- %{buildroot}%{_datadir}/%{name}/%{name}-servlet.war
-cp -pr samples %{buildroot}%{_datadir}/%{name}
-%fdupes -s %{buildroot}%{_datadir}/%{name}
+%if %{without extras}
+%{mvn_install_pom} %{SOURCE1} %{buildroot}%{_mavenpomdir}/%{base_name}.pom
+%add_maven_depmap %{base_name}.pom %{base_name}.jar
+%{mvn_install_pom} %{SOURCE2} %{buildroot}%{_mavenpomdir}/%{base_name}-serializer.pom
+%add_maven_depmap %{base_name}-serializer.pom %{base_name}-serializer.jar
# alternatives
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
@@ -189,14 +218,32 @@ ln -sf %{_sysconfdir}/alternatives/jaxp_transform_impl.jar %{buildroot}%{_javadi
install -d -m 0755 %{buildroot}/%{_sysconfdir}/ant.d/
echo xalan-j2-serializer > %{buildroot}/%{_sysconfdir}/ant.d/serializer
+%else
+%{mvn_install_pom} %{SOURCE3} %{buildroot}%{_mavenpomdir}/xsltc.pom
+%add_maven_depmap xsltc.pom xsltc.jar -f xsltc
+
+# demo
+install -d -m 755 %{buildroot}%{_datadir}/%{base_name}
+install -p -m 644 build/xalansamples.jar \
+ %{buildroot}%{_datadir}/%{base_name}/%{base_name}-samples.jar
+install -p -m 644 build/xalanservlet.war \
+ %{buildroot}%{_datadir}/%{base_name}/%{base_name}-servlet.war
+cp -pr samples %{buildroot}%{_datadir}/%{base_name}
+%fdupes -s %{buildroot}%{_datadir}/%{base_name}
+
+# manual
+%fdupes -s build/docs
+%endif
+
+%if %{without extras}
%post
update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \
- jaxp_transform_impl %{_javadir}/%{name}.jar 30
+ jaxp_transform_impl %{_javadir}/%{base_name}.jar 30
%preun
{
[ $1 = 0 ] || exit 0
- update-alternatives --remove jaxp_transform_impl %{_javadir}/%{name}.jar
+ update-alternatives --remove jaxp_transform_impl %{_javadir}/%{base_name}.jar
} >/dev/null 2>&1 || :
%files -f .mfiles
@@ -207,14 +254,18 @@ update-alternatives --install %{_javadir}/jaxp_transform_impl.jar \
%ghost %{_sysconfdir}/alternatives/jaxp_transform_impl.jar
%{_javadir}/jaxp_transform_impl.jar
-%files xsltc -f .mfiles-xsltc
+%else
-%files manual
+%files -n %{base_name}-xsltc -f .mfiles-xsltc
+
+%files -n %{base_name}-manual
%defattr(0644,root,root,0755)
%doc build/docs/*
-%files demo
+%files -n %{base_name}-demo
%defattr(0644,root,root,0755)
-%{_datadir}/%{name}
+%{_datadir}/%{base_name}
+
+%endif
%changelog
diff --git a/xalan-j_2_7_3-src.tar.gz b/xalan-j_2_7_3-src.tar.gz
deleted file mode 100644
index 18a7af3..0000000
--- a/xalan-j_2_7_3-src.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:638453194b6eb68f07f8d6becb14ff849913d3e93991fb866994badb94556456
-size 13686458