From 47852e30c04cfdd1610607848b66c01f2e60a6e6 Mon Sep 17 00:00:00 2001 From: Didik Supriadi Date: Mon, 21 Feb 2022 15:18:26 +0700 Subject: [PATCH] Clean up spec --- jaxb.spec | 301 ++++++++++++------------------------------------------ 1 file changed, 63 insertions(+), 238 deletions(-) diff --git a/jaxb.spec b/jaxb.spec index 3fddb28..f773993 100644 --- a/jaxb.spec +++ b/jaxb.spec @@ -1,8 +1,6 @@ -%global obs_vr 2.3.3-1 - Name: jaxb Version: 2.3.5 -Release: 4%{?dist} +Release: 5%{?dist} Summary: JAXB Reference Implementation # EDL-1.0 license is BSD-3-clause License: BSD @@ -11,116 +9,57 @@ BuildArch: noarch Source0: %{url}/archive/%{version}-RI/%{name}-%{version}.tar.gz +BuildRequires: git BuildRequires: maven-local -BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) -BuildRequires: mvn(org.apache.ant:ant-junit) BuildRequires: mvn(com.sun.activation:jakarta.activation) BuildRequires: mvn(com.sun.istack:istack-commons-runtime) +BuildRequires: mvn(com.sun.istack:istack-commons-tools) +BuildRequires: mvn(com.sun.xml.dtd-parser:dtd-parser) BuildRequires: mvn(com.sun.xml.fastinfoset:FastInfoset) BuildRequires: mvn(jakarta.activation:jakarta.activation-api) BuildRequires: mvn(jakarta.xml.bind:jakarta.xml.bind-api) BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.ant:ant) +BuildRequires: mvn(org.apache.ant:ant-junit) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) -BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) -BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) -BuildRequires: mvn(org.jvnet.staxex:stax-ex) -BuildRequires: mvn(xmlunit:xmlunit) -BuildRequires: mvn(com.sun.xml.dtd-parser:dtd-parser) -BuildRequires: mvn(com.sun.istack:istack-commons-tools) -BuildRequires: mvn(xml-resolver:xml-resolver) -BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-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(org.codehaus.mojo:buildnumber-maven-plugin) +BuildRequires: mvn(org.jvnet.staxex:stax-ex) +BuildRequires: mvn(xml-resolver:xml-resolver) +BuildRequires: mvn(xmlunit:xmlunit) %description GlassFish JAXB Reference Implementation. %package runtime Summary: JAXB Runtime -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb = %{version}-%{release} -Obsoletes: glassfish-jaxb < %{obs_vr} -Provides: glassfish-jaxb-runtime = %{version}-%{release} -Obsoletes: glassfish-jaxb-runtime < %{obs_vr} -# -core subpackage was merged into -runtime during F33 -Provides: glassfish-jaxb-core = %{version}-%{release} -Obsoletes: glassfish-jaxb-core < %{obs_vr} -# Obsolete module gone away for good -Obsoletes: glassfish-jaxb1-impl < %{obs_vr} -# Unable to ship any longer due to missing dep: org.checkerframework:compiler -Obsoletes: glassfish-jaxb-jxc < %{obs_vr} -# Disable javadocs for now, due to https://github.com/fedora-java/xmvn/issues/58 -Obsoletes: glassfish-jaxb-javadoc < %{obs_vr} -# No longer shipping parent pom packages -Obsoletes: glassfish-jaxb-codemodel-parent < %{obs_vr} -Obsoletes: glassfish-jaxb-external-parent < %{obs_vr} -Obsoletes: glassfish-jaxb-parent < %{obs_vr} -Obsoletes: glassfish-jaxb-runtime-parent < %{obs_vr} -Obsoletes: glassfish-jaxb-txw-parent < %{obs_vr} - %description runtime JAXB (JSR 222) Reference Implementation %package txw2 Summary: TXW2 Runtime -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-txw2 = %{version}-%{release} -Obsoletes: glassfish-jaxb-txw2 < %{obs_vr} - %description txw2 TXW is a library that allows you to write XML documents. -%package impl -Summary: Old JAXB Runtime - -%description impl -Old JAXB Runtime module. Contains sources required for runtime processing. -Standalone bundle suitable for use in OSGi runtimes. - %package codemodel Summary: Codemodel Core -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-codemodel = %{version}-%{release} -Obsoletes: glassfish-jaxb-codemodel < %{obs_vr} - %description codemodel The core functionality of the CodeModel java source code generation library. %package codemodel-annotation-compiler Summary: Codemodel Annotation Compiler -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-codemodel-annotation-compiler = %{version}-%{release} -Obsoletes: glassfish-jaxb-codemodel-annotation-compiler < %{obs_vr} - %description codemodel-annotation-compiler The annotation compiler ant task for the CodeModel java source code generation library. -%package bom -Summary: JAXB BOM -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-bom = %{version}-%{release} -Obsoletes: glassfish-jaxb-bom < %{obs_vr} - -%description bom -JAXB Bill of Materials (BOM) - -%package bom-ext -Summary: JAXB BOM with all dependencies -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-bom-ext = %{version}-%{release} -Obsoletes: glassfish-jaxb-bom-ext < %{obs_vr} - -%description bom-ext -JAXB Bill of Materials (BOM) with all dependencies. - %package xjc Summary: JAXB XJC -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-xjc = %{version}-%{release} -Obsoletes: glassfish-jaxb-xjc < %{obs_vr} - %description xjc JAXB Binding Compiler. Contains source code needed for binding customization files into java sources. In other words: the tool to @@ -128,31 +67,17 @@ generate java classes for the given xml representation. %package rngom Summary: RELAX NG Object Model/Parser -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-rngom = %{version}-%{release} -Obsoletes: glassfish-jaxb-rngom < %{obs_vr} - %description rngom This package contains RELAX NG Object Model/Parser. %package txwc2 Summary: TXW2 Compiler -# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33 -Provides: glassfish-jaxb-txwc2 = %{version}-%{release} -Obsoletes: glassfish-jaxb-txwc2 < %{obs_vr} - %description txwc2 JAXB schema generator. The tool to generate XML schema based on java classes. %package xsom Summary: XML Schema Object Model -# Xsom package was merged upstream into jaxb -Provides: xsom = %{version}-%{release} -Obsoletes: xsom < 20140514-7 -Provides: xsom-javadoc = %{version}-%{release} -Obsoletes: xsom-javadoc < 20140514-7 - %description xsom XML Schema Object Model (XSOM) is a Java library that allows applications to easily parse XML Schema documents and inspect information in them. It is @@ -161,192 +86,92 @@ input. %package relaxng-datatype Summary: RelaxNG Datatype -# RelaxNG was subsumed into jaxb upstream -Provides: relaxngDatatype = 1:%{version}-%{release} -Obsoletes: relaxngDatatype < 2011.1-16 -Provides: relaxngDatatype-javadoc = 1:%{version}-%{release} -Obsoletes: relaxngDatatype-javadoc < 2011.1-16 - %description relaxng-datatype RelaxNG Datatype library. %prep -%autosetup -p1 -n jaxb-ri-%{version}-RI - +%autosetup -p1 -n jaxb-ri-%{version}-RI -S git +# Delete precompiled jar and class files find -type f '(' -iname '*.jar' -o -iname '*.class' ')' -print -delete -pushd jaxb-ri - +cd jaxb-ri # Remove unnecessary dep on ee4j parent pom (it adds nothing to our downstream builds) %pom_remove_parent boms/bom external xsom codemodel - -# Plug-ins not useful for RPM builds -%pom_remove_plugin :maven-enforcer-plugin external xsom . codemodel -%pom_remove_plugin :buildnumber-maven-plugin docs/www external xsom . codemodel - +# SCM from parent: org.eclipse.ee4j:project:1.0.7 +%pom_xpath_inject 'pom:project' \ + ' + scm:git:git@github.com:eclipse-ee4j/ee4j.git + scm:git:git@github.com:eclipse-ee4j/ee4j.git + https://github.com/eclipse-ee4j/ee4j + ' external # Fix dep on xml resolver -%pom_change_dep com.sun.org.apache.xml.internal:resolver xml-resolver:xml-resolver:1.2 xjc bundles/xjc +%pom_change_dep com.sun.org.apache.xml.internal:resolver xml-resolver:xml-resolver:1.2 xjc jxc sed -i -e 's/com\.sun\.org\.apache\.xml\.internal\.resolver/org.apache.xml.resolver/' xjc/src/main/java/com/sun/tools/xjc/CatalogUtil.java - # Missing dep in Fedora: org.checkerframework:compiler %pom_disable_module jxc - # Disable unneeded extra OSGi bundles +%pom_disable_module jxc bundles %pom_disable_module osgi bundles %pom_disable_module ri bundles +%pom_disable_module runtime bundles %pom_disable_module xjc bundles -%pom_disable_module jxc bundles - -%pom_add_plugin :maven-antrun-plugin bundles/runtime ' - - - unzip-jar - generate-sources - - run - - - - - - - - - - - - - - - - - - - - ' - -#pom_add_plugin :maven-antrun-plugin bundles/xjc ' -# -# -# unzip-jar -# generate-sources -# -# run -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# ' - -%pom_disable_module docs +# Ignore osgi tests %pom_disable_module tools/osgi_tests - +# lack of dependency when building documentation +%pom_disable_module release-documentation docs # Compatibility -%mvn_alias org.glassfish.jaxb:jaxb-xjc com.sun.xml.bind:jaxb-xjc -%mvn_alias org.glassfish.jaxb:jaxb-runtime org.glassfish.jaxb:jaxb-core -%mvn_alias org.glassfish.jaxb:xsom com.sun.xsom:xsom %mvn_alias com.sun.xml.bind.external:relaxng-datatype com.github.relaxng:relaxngDatatype relaxngDatatype:relaxngDatatype - +%mvn_alias org.glassfish.jaxb:jaxb-runtime org.glassfish.jaxb:jaxb-core +%mvn_alias org.glassfish.jaxb:jaxb-xjc com.sun.xml.bind:jaxb-xjc +%mvn_alias org.glassfish.jaxb:xsom com.sun.xsom:xsom # Don't install aggregator and parent poms -%mvn_package com.sun.xml.bind.mvn: __noinstall - -popd +%mvn_package :jaxb-bom __noinstall +%mvn_package :jaxb-bom-ext __noinstall +%mvn_package :jaxb-bundles __noinstall +%mvn_package :jaxb-codemodel-parent __noinstall +%mvn_package :jaxb-docs-parent __noinstall +%mvn_package :jaxb-external-parent __noinstall +%mvn_package :jaxb-parent __noinstall +%mvn_package :jaxb-runtime-parent __noinstall +%mvn_package :jaxb-samples __noinstall +%mvn_package :jaxb-txw-parent __noinstall +%mvn_package :jaxb-www __noinstall +cd - %build -pushd jaxb-ri -%mvn_build -s -j -f -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 -popd +cd jaxb-ri +%mvn_build -s -f -j -- -Dmaven.compiler.source=1.8 -Dmaven.compiler.target=1.8 +cd - %install -pushd jaxb-ri +cd jaxb-ri %mvn_install -popd - -%files runtime -f jaxb-ri/.mfiles-jaxb-runtime -%license LICENSE.md NOTICE.md - -%files txw2 -f jaxb-ri/.mfiles-txw2 -%license LICENSE.md NOTICE.md - -%files impl -f jaxb-ri/.mfiles-jaxb-impl -%license LICENSE.md NOTICE.md +cd - %files codemodel -f jaxb-ri/.mfiles-codemodel %license LICENSE.md NOTICE.md - %files codemodel-annotation-compiler -f jaxb-ri/.mfiles-codemodel-annotation-compiler - -%files bom -f jaxb-ri/.mfiles-jaxb-bom %license LICENSE.md NOTICE.md - -%files bom-ext -f jaxb-ri/.mfiles-jaxb-bom-ext - -%files xjc -f jaxb-ri/.mfiles-jaxb-xjc - +%files relaxng-datatype -f jaxb-ri/.mfiles-relaxng-datatype +%license LICENSE.md NOTICE.md %files rngom -f jaxb-ri/.mfiles-rngom %license LICENSE.md NOTICE.md - +%files runtime -f jaxb-ri/.mfiles-jaxb-runtime +%license LICENSE.md NOTICE.md +%files txw2 -f jaxb-ri/.mfiles-txw2 +%license LICENSE.md NOTICE.md %files txwc2 -f jaxb-ri/.mfiles-txwc2 %license LICENSE.md NOTICE.md - +%files xjc -f jaxb-ri/.mfiles-jaxb-xjc +%license LICENSE.md NOTICE.md %files xsom -f jaxb-ri/.mfiles-xsom - -%files relaxng-datatype -f jaxb-ri/.mfiles-relaxng-datatype +%license LICENSE.md NOTICE.md %changelog +* Mon Feb 21 2022 Didik Supriadi - 2.3.5-5 +- Remove subpackage that provides BOM/POM only +- Clean up spec (provides, obsoletes, etc.) + * Sat Feb 05 2022 Jiri Vanek - 2.3.5-4 - Rebuilt for java-17-openjdk as system jdk