File msv.spec of Package msv
#
# spec file for package msv
#
# Copyright (c) 2022 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/
#
Name: msv
Version: 2013.6.1
Release: 0
Summary: Multi-Schema Validator
License: Apache-1.1 AND BSD-3-Clause
Group: Development/Libraries/Java
URL: https://msv.java.net/
# To generate tarball from upstream source control:
# $ ./create-tarball
Source0: %{name}-%{version}-clean.tar.gz
Source2: http://www.apache.org/licenses/LICENSE-2.0.txt
Source3: create-tarball.sh
# Use CatalogResolver from xml-commons-resolver package
Patch1: %{name}-Use-CatalogResolver-class-from-xml-commons-resolver.patch
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: maven-local
BuildRequires: mvn(isorelax:isorelax)
BuildRequires: mvn(net.java:jvnet-parent:pom:)
BuildRequires: mvn(org.apache.ant:ant)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(relaxngDatatype:relaxngDatatype)
BuildRequires: mvn(xerces:xercesImpl)
BuildRequires: mvn(xml-resolver:xml-resolver)
Obsoletes: %{name}-relames < %{version}-%{release}
BuildArch: noarch
%description
The Sun Multi-Schema XML Validator (MSV) is a Java technology tool to validate
XML documents against several kinds of XML schemata. It supports RELAX NG,
RELAX Namespace, RELAX Core, TREX, XML DTDs, and a subset of XML Schema Part 1.
This latest (version 1.2) release includes several bug fixes and adds better
conformance to RELAX NG/W3C XML standards and JAXP masquerading.
%package msv
Summary: Multi-Schema Validator Core
# src/com/sun/msv/reader/xmlschema/DOMLSInputImpl.java is under ASL 2.0
# msv/src/com/sun/msv/writer/ContentHandlerAdaptor.java is partially under Public Domain
# Explicit javapackages-tools requires since scripts use
# /usr/share/java-utils/java-functions
License: Apache-1.1 AND BSD-3-Clause AND Apache-2.0 AND SUSE-Public-Domain
Group: Development/Libraries/Java
Requires: javapackages-tools
%description msv
%{summary}.
%package rngconv
Summary: Multi-Schema Validator RNG Converter
# Explicit javapackages-tools requires since scripts use
# /usr/share/java-utils/java-functions
License: Apache-1.1 AND BSD-3-Clause
Group: Development/Libraries/Java
Requires: javapackages-tools
%description rngconv
%{summary}.
%package xmlgen
Summary: Multi-Schema Validator Generator
# Explicit javapackages-tools requires since scripts use
# /usr/share/java-utils/java-functions
License: Apache-1.1 AND BSD-3-Clause
Group: Development/Libraries/Java
Requires: javapackages-tools
%description xmlgen
%{summary}.
%package xsdlib
Summary: Multi-Schema Validator XML Schema Library
License: Apache-1.1 AND BSD-3-Clause
Group: Development/Libraries/Java
%description xsdlib
%{summary}.
%package javadoc
Summary: API documentation for Multi-Schema Validator
License: Apache-1.1 AND BSD-3-Clause AND Apache-2.0 AND SUSE-Public-Domain
Group: Documentation/HTML
%description javadoc
%{summary}.
%package manual
Summary: Manual for Multi-Schema Validator
License: BSD-3-Clause
Group: Documentation/HTML
%description manual
%{summary}.
%package demo
Summary: Samples for Multi-Schema Validator
License: BSD-3-Clause
Group: Development/Libraries/Java
Requires: msv-msv
Requires: msv-xsdlib
%description demo
%{summary}.
%prep
%setup -q
%pom_remove_plugin :buildnumber-maven-plugin
# Apply patches
%patch1 -p1
# Needed becuase of patch
%pom_add_dep xml-resolver:xml-resolver
# ASL 2.0 license text
cp %{SOURCE2} Apache-LICENSE-2.0.txt
# Delete anything pre-compiled
find -name '*.class' -exec rm -f '{}' \;
find -name '*.jar' -exec rm -f '{}' \;
find -name '*.zip' -exec rm -f '{}' \;
# Test sources in default package break BND
rm -f testharness/src/*.java
# Delete class-path entries from manifests
for m in $(find . -name MANIFEST.MF) ; do
sed --in-place -e '/^[Cc]lass-[Pp]ath:/d' $m
done
# Fix isorelax groupId
%pom_change_dep "com.sun.xml.bind.jaxb:" "isorelax:" . msv
%pom_remove_plugin :maven-enforcer-plugin
# Change encoding of non utf-8 files
for m in $(find . -name copyright.txt) ; do
iconv -f iso-8859-1 -t utf-8 < $m > $m.utf8
mv $m.utf8 $m
done
%{mvn_file} ":%{name}-core" %{name}-core %{name}-%{name}
%{mvn_file} ":%{name}-rngconverter" %{name}-rngconverter %{name}-rngconv
%{mvn_file} ":%{name}-generator" %{name}-generator %{name}-xmlgen
%{mvn_file} ":xsdlib" xsdlib %{name}-xsdlib
%{mvn_alias} ":xsdlib" "com.sun.msv.datatype.xsd:xsdlib"
%{mvn_package} ":*::{tests,javadoc,sources}:" __noinstall
%{mvn_package} ":%{name}{,-testharness}::{}:" __noinstall
%{mvn_package} ":%{name}{,-core}::{}:" %{name}-msv
%build
%{mvn_build} -s -f -- \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-Dmaven.compiler.release=8 \
%endif
-Dsource=8
%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
# Manuals
install -d -m 755 %{buildroot}%{_docdir}/%{name}/msv
install -m 644 msv/doc/*.html %{buildroot}%{_docdir}/%{name}/msv
install -m 644 msv/doc/*.gif %{buildroot}%{_docdir}/%{name}/msv
install -m 644 msv/doc/README.txt %{buildroot}%{_docdir}/%{name}/msv
install -d -m 755 %{buildroot}%{_docdir}/%{name}/rngconverter
install -m 644 rngconverter/README.txt %{buildroot}%{_docdir}/%{name}/rngconverter
install -d -m 755 %{buildroot}%{_docdir}/%{name}/generator
install -m 644 generator/*.html %{buildroot}%{_docdir}/%{name}/generator
install -m 644 generator/README.txt %{buildroot}%{_docdir}/%{name}/generator
install -d -m 755 %{buildroot}%{_docdir}/%{name}/xsdlib
install -m 644 xsdlib/*.html %{buildroot}%{_docdir}/%{name}/xsdlib
install -m 644 xsdlib/README.txt %{buildroot}%{_docdir}/%{name}/xsdlib
%fdupes -s %{buildroot}%{_docdir}
# Examples
install -d -m 755 %{buildroot}%{_datadir}/%{name}/msv
cp -pr msv/examples/* %{buildroot}%{_datadir}/%{name}/msv
install -d -m 755 %{buildroot}%{_datadir}/%{name}/xsdlib
cp -pr xsdlib/examples/* %{buildroot}%{_datadir}/%{name}/xsdlib
# Scripts
%jpackage_script com.sun.msv.driver.textui.Driver "" "" msv-msv:msv-xsdlib:relaxngDatatype:isorelax msv true
%jpackage_script com.sun.msv.generator.Driver "" "" msv-xmlgen:msv-msv:msv-xsdlib:relaxngDatatype:isorelax:xerces-j2 xmlgen true
%jpackage_script com.sun.msv.writer.relaxng.Driver "" "" msv-rngconv:msv-msv:msv-xsdlib:relaxngDatatype:isorelax:xerces-j2 rngconv true
%files msv -f .mfiles-msv-msv
%{_bindir}/msv
%license License.txt
%doc msv/doc/Apache-LICENSE-1.1.txt
%doc Apache-LICENSE-2.0.txt
%files rngconv -f .mfiles-msv-rngconverter
%{_bindir}/rngconv
%doc msv/doc/Apache-LICENSE-1.1.txt
%license License.txt
%files xmlgen -f .mfiles-msv-generator
%{_bindir}/xmlgen
%doc msv/doc/Apache-LICENSE-1.1.txt
%license License.txt
%files xsdlib -f .mfiles-xsdlib
%doc msv/doc/Apache-LICENSE-1.1.txt
%license License.txt
%files javadoc -f .mfiles-javadoc
%license License.txt
%doc msv/doc/Apache-LICENSE-1.1.txt
%doc Apache-LICENSE-2.0.txt
%files manual
%doc %{_docdir}/%{name}
%license License.txt
%files demo
%{_datadir}/%{name}
%changelog