msv/msv.spec
2020-08-31 15:56:16 +08:00

164 lines
6.1 KiB
RPMSpec

Name: msv
Epoch: 1
Version: 2013.6.1
Release: 1
Summary: Multi-Schema Validator
License: BSD and ASL 1.1
URL: https://xmlark.github.io/msv
# To generate tarball from upstream source control:
# $ ./create-tarball
# This project has been archived. So we keep create-tarball.sh to generate tarball
Source0: %{name}-%{version}-clean.tar.gz
Source1: http://www.apache.org/licenses/LICENSE-2.0.txt
Source2: create-tarball.sh
Patch1: %{name}-Use-CatalogResolver-class-from-xml-commons-resolver.patch
BuildRequires: maven-local mvn(isorelax:isorelax) mvn(jdom:jdom) mvn(junit:junit)
BuildRequires: mvn(net.java:jvnet-parent:pom:) mvn(org.apache.ant:ant)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(relaxngDatatype:relaxngDatatype) mvn(xerces:xercesImpl)
BuildRequires: mvn(xml-resolver:xml-resolver)
BuildArch: noarch
Obsoletes: %{name}-relames < %{version}-%{release}
%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
License: BSD and ASL 1.1 and ASL 2.0 and Public Domain
Requires: javapackages-tools
%description msv
%{summary}.
%package rngconv
Summary: Multi-Schema Validator RNG Converter
Requires: javapackages-tools
%description rngconv
%{summary}.
%package xmlgen
Summary: Multi-Schema Validator Generator
Requires: javapackages-tools
%description xmlgen
%{summary}.
%package xsdlib
Summary: Multi-Schema Validator XML Schema Library
%description xsdlib
%{summary}.
%package javadoc
Summary: API documentation for Multi-Schema Validator
License: BSD and ASL 1.1 and ASL 2.0 and Public Domain
%description javadoc
%{summary}.
%package manual
Summary: Manual for Multi-Schema Validator
License: BSD
%description manual
%{summary}.
%package demo
Summary: Samples for Multi-Schema Validator
License: BSD
Requires: msv-msv msv-xsdlib
%description demo
%{summary}.
%prep
%setup -q
%pom_remove_plugin :buildnumber-maven-plugin
%pom_remove_plugin :maven-javadoc-plugin
%pom_add_dep xml-resolver:xml-resolver
cp %{SOURCE1} Apache-LICENSE-2.0.txt
find -name '*.class' -exec rm -f '{}' \;
find -name '*.jar' -exec rm -f '{}' \;
find -name '*.zip' -exec rm -f '{}' \;
rm -f testharness/src/*.java
for m in $(find . -name MANIFEST.MF) ; do
sed --in-place -e '/^[Cc]lass-[Pp]ath:/d' $m
done
%patch1 -p1
%pom_xpath_replace "pom:dependency[pom:groupId[text()='com.sun.xml.bind.jaxb']]/pom:groupId" "<groupId>isorelax</groupId>"
%pom_xpath_replace "pom:dependency[pom:groupId[text()='com.sun.xml.bind.jaxb']]/pom:groupId" "<groupId>isorelax</groupId>" msv
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
%install
%mvn_install
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
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
%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
%doc 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
%doc License.txt
%files xmlgen -f .mfiles-msv-generator
%{_bindir}/xmlgen
%doc msv/doc/Apache-LICENSE-1.1.txt
%doc License.txt
%files xsdlib -f .mfiles-xsdlib
%doc msv/doc/Apache-LICENSE-1.1.txt
%doc License.txt
%files javadoc -f .mfiles-javadoc
%doc License.txt
%doc msv/doc/Apache-LICENSE-1.1.txt
%doc Apache-LICENSE-2.0.txt
%files manual
%doc %{_docdir}/%{name}
%doc License.txt
%files demo
%{_datadir}/%{name}
%changelog
* Tue Aug 25 2020 chengzihan <chengzihan2@huawei.com> - 2013.6.1-1
- Package init