# # spec file for package xmlbeans-mini # # Copyright (c) 2023 SUSE LLC # # 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 https://bugs.opensuse.org/ # ##### WARNING: please do not edit this auto generated spec file. Use the xmlbeans.spec! ##### %global bootstrap 1 %global real xmlbeans Name: xmlbeans-mini Version: 2.6.0 Release: 0 Summary: XML-Java binding tool License: Apache-2.0 Group: Development/Libraries/Java URL: https://xmlbeans.apache.org Source0: http://archive.apache.org/dist/xmlbeans/source/%{real}-%{version}-src.tgz Source1000: pre_checkin.sh Patch0: xmlbeans-2.4.0-nodownload.patch #PATCH-FIX-UPSTREAM: saxon 9.3+ moved VirtualNode interface Patch1: xmlbeans-saxon-virtualnode.patch #PATCH-FIX-UPSTREAM xmlbeans-2.6.0-java8.patch -- Fix build with Java 8 Patch2: xmlbeans-2.6.0-java8.patch Patch3: xmlbeans-2.6.0-jdk9.patch #PATCH-FIX-UPSTREAM bsc#1180915 CVE-2021-23926 XML parsers does not protect from malicious XML input Patch4: xmlbeans-CVE-2021-23926.patch BuildRequires: ant >= 1.6 BuildRequires: bea-stax-api BuildRequires: java-devel >= 1.8 BuildRequires: javapackages-tools BuildRequires: unzip # Removed com.sun.javadoc package BuildConflicts: java-devel >= 13 #!BuildIgnore: antlr #!BuildIgnore: antlr-java BuildArch: noarch %if %{bootstrap} BuildRequires: xml-commons-apis-bootstrap BuildRequires: xml-commons-resolver-bootstrap #!BuildIgnore: xerces-j2 #!BuildIgnore: xerces-j2-bootstrap #!BuildIgnore: xml-commons #!BuildIgnore: xml-commons-apis #!BuildIgnore: xml-commons-jaxp-1.3-apis #!BuildIgnore: xml-commons-resolver #!BuildIgnore: xml-commons-resolver12 # we need this to fix requires of rhino and others Provides: xmlbeans %else BuildRequires: ant-contrib BuildRequires: ant-junit BuildRequires: junit BuildRequires: saxon9 BuildRequires: xml-commons-resolver >= 1.1 BuildRequires: xmlbeans-mini #!BuildIgnore: xmlbeans Conflicts: xmlbeans-mini %endif %description XMLBeans is an XML-Java binding tool that allows accessing XML in a Java-typical way. The features of XML and XML Schema are mapped to the equivalent Java language and typing constructs. XMLBeans uses XML Schema to compile Java interfaces and classes that can then be used to access and modify XML instance data. XMLBeans is similar to other Java interface/class, with a number of getFoo or setFoo methods. There are also APIs that allow you access to the full XML infoset as well so as to allow you to reflect into the XML schema itself through an XML Schema Object model. %package scripts Summary: XML-Java binding tool Group: Development/Libraries/Java Requires: %{name} = %{version} %description scripts XMLBeans is an XML-Java binding tool that allows accessing XML in a Java-typical way. The features of XML and XML Schema are mapped to the equivalent Java language and typing constructs. This package contains additional scripts. %prep %setup -q -n %{real}-%{version} %patch0 -p1 -b .nodownload %patch1 -p1 %patch2 %patch3 -p1 %patch4 -p1 %build # Piccolo and jam are rebuilt from source and bundled with xbean # ant clean.jars leaves some dangling jars around, do not use it find . \( -name '*.jar' -o -name '*.zip' \) \ -not -name 'piccolo*.jar' -not -name 'jam*.jar' \ %if %{bootstrap} -not -name 'oldxbean.jar' \ %endif -print -delete # Replace bundled libraries mkdir -p build/lib ln -sf $(build-classpath xml-commons-resolver) build/lib/resolver.jar ln -sf $(build-classpath xmlbeans/oldxbean) external/lib/oldxbean.jar ln -sf $(build-classpath bea-stax-api) external/lib/jsr173_1.0_api.jar ln -sf $(build-classpath saxon9) external/lib/saxon9.jar ln -sf $(build-classpath saxon9) external/lib/saxon9-dom.jar # Fix CRLF sed 's/\r//' -i LICENSE.txt NOTICE.txt README.txt docs/stylesheet.css %if %{bootstrap} ant xmlpublic.jar %else ant default %endif %install # jar install -d -m 0755 %{buildroot}%{_javadir}/%{real} install -p -m 0644 build/lib/xmlpublic.jar %{buildroot}%{_javadir}/%{real}/xmlpublic.jar %if ! %{bootstrap} install -p -m 0644 build/lib/xbean_xpath.jar %{buildroot}%{_javadir}/%{name}/xbean_xpath.jar install -p -m 0644 build/lib/xbean.jar %{buildroot}%{_javadir}/%{name}/xbean.jar # bin install -d -m 0755 %{buildroot}%{_bindir} install -p -m 0755 bin/dumpxsb %{buildroot}%{_bindir} install -p -m 0755 bin/inst2xsd %{buildroot}%{_bindir} install -p -m 0755 bin/scomp %{buildroot}%{_bindir} install -p -m 0755 bin/sdownload %{buildroot}%{_bindir} install -p -m 0755 bin/sfactor %{buildroot}%{_bindir} install -p -m 0755 bin/svalidate %{buildroot}%{_bindir} install -p -m 0755 bin/validate %{buildroot}%{_bindir} install -p -m 0755 bin/xpretty %{buildroot}%{_bindir} install -p -m 0755 bin/xsd2inst %{buildroot}%{_bindir} install -p -m 0755 bin/xsdtree %{buildroot}%{_bindir} install -p -m 0755 bin/xstc %{buildroot}%{_bindir} %else # install oldxbean.jar, which is needed to build xmlbeans itself install -p -m 0644 external/lib/oldxbean.jar %{buildroot}%{_javadir}/%{real}/oldxbean.jar %endif #if ! % { bootstrap} %files %license LICENSE.txt NOTICE.txt %doc README.txt %dir %{_javadir}/xmlbeans/ %{_javadir}/xmlbeans/*.jar %if ! %{bootstrap} %files scripts %attr(0755,root,root) %{_bindir}/* %endif #!bootstrap %changelog