Blame SPECS/lucene.spec

345190
%bcond_with     jp_minimal
345190
345190
Summary:        High-performance, full-featured text search engine
345190
Name:           lucene
345190
Version:        8.1.1
345190
Release:        2%{?dist}
345190
Epoch:          0
345190
License:        ASL 2.0
345190
URL:            http://lucene.apache.org/
345190
# solr source contains both lucene and dev-tools
345190
Source0:        https://archive.apache.org/dist/lucene/solr/%{version}/solr-%{version}-src.tgz
345190
345190
Patch0:         0001-Disable-ivy-settings.patch
345190
Patch1:         0002-Dependency-generation.patch
345190
345190
# io.sgr:s2-geometry-library-java is not present on Fedora
345190
# This patch reverts these two commits:
345190
#   https://github.com/apache/lucene-solr/commit/e3032dd3fcc28570c5f9d2dab4961b5b07555912
345190
#   https://github.com/apache/lucene-solr/commit/e0d6465af94b6c6f7b8d570dee97c98de572c876
345190
Patch2:         0003-Remove-dep-on-missing-google-geometry-library.patch
345190
345190
BuildRequires:  ant
345190
BuildRequires:  ivy-local
345190
BuildRequires:  maven-local
345190
BuildRequires:  mvn(org.apache:apache:pom:)
345190
BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
345190
%if %{without jp_minimal}
345190
BuildRequires:  mvn(com.carrotsearch.randomizedtesting:randomizedtesting-runner)
345190
BuildRequires:  mvn(com.ibm.icu:icu4j)
345190
BuildRequires:  mvn(commons-codec:commons-codec)
345190
BuildRequires:  mvn(commons-logging:commons-logging)
345190
BuildRequires:  mvn(javax.servlet:javax.servlet-api)
345190
BuildRequires:  mvn(javax.servlet:servlet-api)
345190
BuildRequires:  mvn(junit:junit)
345190
BuildRequires:  mvn(net.sourceforge.nekohtml:nekohtml)
345190
BuildRequires:  mvn(org.antlr:antlr4-runtime)
345190
BuildRequires:  mvn(org.apache.commons:commons-compress)
345190
BuildRequires:  mvn(org.apache.httpcomponents:httpclient)
345190
BuildRequires:  mvn(org.apache.httpcomponents:httpcore)
345190
BuildRequires:  mvn(org.carrot2:morfologik-fsa)
345190
BuildRequires:  mvn(org.carrot2:morfologik-polish)
345190
BuildRequires:  mvn(org.carrot2:morfologik-stemming)
345190
BuildRequires:  mvn(org.eclipse.jetty:jetty-continuation)
345190
BuildRequires:  mvn(org.eclipse.jetty:jetty-http)
345190
BuildRequires:  mvn(org.eclipse.jetty:jetty-io)
345190
BuildRequires:  mvn(org.eclipse.jetty:jetty-server)
345190
BuildRequires:  mvn(org.eclipse.jetty:jetty-servlet)
345190
BuildRequires:  mvn(org.eclipse.jetty:jetty-util)
345190
BuildRequires:  mvn(org.locationtech.spatial4j:spatial4j)
345190
BuildRequires:  mvn(org.ow2.asm:asm)
345190
BuildRequires:  mvn(org.ow2.asm:asm-commons)
345190
BuildRequires:  mvn(xerces:xercesImpl)
345190
%endif
345190
345190
Provides:       %{name}-core = %{epoch}:%{version}-%{release}
345190
345190
BuildArch:      noarch
345190
345190
%description
345190
Apache Lucene is a high-performance, full-featured text search
345190
engine library written entirely in Java. It is a technology suitable
345190
for nearly any application that requires full-text search, especially
345190
cross-platform.
345190
345190
%package analysis
345190
Summary:      Lucene Common Analyzers
345190
# Obsoletes added in F30
345190
# This module was removed upstream and no replacement exists
345190
Obsoletes:    %{name}-analyzers-uima < %{version}-%{release}
345190
345190
%description analysis
345190
Lucene Common Analyzers.
345190
345190
%package analyzers-smartcn
345190
Summary:      Smart Chinese Analyzer
345190
345190
%description analyzers-smartcn
345190
Lucene Smart Chinese Analyzer.
345190
345190
%package grouping
345190
Summary:      Lucene Grouping Module
345190
345190
%description grouping
345190
Lucene Grouping Module.
345190
345190
%package highlighter
345190
Summary:      Lucene Highlighter Module
345190
345190
%description highlighter
345190
Lucene Highlighter Module.
345190
345190
%package join
345190
Summary:      Lucene Join Module
345190
345190
%description join
345190
Lucene Join Module.
345190
345190
%package memory
345190
Summary:      Lucene Memory Module
345190
345190
%description memory
345190
High-performance single-document index to compare against Query.
345190
345190
%package misc
345190
Summary:      Miscellaneous Lucene extensions
345190
345190
%description misc
345190
Miscellaneous Lucene extensions.
345190
345190
%package queries
345190
Summary:      Lucene Queries Module
345190
345190
%description queries
345190
Lucene Queries Module.
345190
345190
%package queryparser
345190
Summary:      Lucene QueryParsers Module
345190
345190
%description queryparser
345190
Lucene QueryParsers Module.
345190
345190
%package sandbox
345190
Summary:      Lucene Sandbox Module
345190
345190
%description sandbox
345190
Lucene Sandbox Module.
345190
345190
%package backward-codecs
345190
Summary:      Lucene Backward Codecs Module
345190
345190
%description backward-codecs
345190
Codecs for older versions of Lucene.
345190
345190
%if %{without jp_minimal}
345190
%package parent
345190
Summary:      Parent POM for Lucene
345190
345190
%description parent
345190
Parent POM for Lucene.
345190
345190
%package solr-grandparent
345190
Summary:      Lucene Solr grandparent POM
345190
345190
%description solr-grandparent
345190
Lucene Solr grandparent POM.
345190
345190
%package benchmark
345190
Summary:      Lucene Benchmarking Module
345190
345190
%description benchmark
345190
Lucene Benchmarking Module.
345190
345190
%package replicator
345190
Summary:      Lucene Replicator Module
345190
345190
%description replicator
345190
Lucene Replicator Module.
345190
345190
%package test-framework
345190
Summary:      Apache Lucene Java Test Framework
345190
345190
%description test-framework
345190
Apache Lucene Java Test Framework.
345190
345190
%package expressions
345190
Summary:      Lucene Expressions Module
345190
345190
%description expressions
345190
Dynamically computed values to sort/facet/search on based on a pluggable
345190
grammar.
345190
345190
%package demo
345190
Summary:      Lucene Demo Module
345190
345190
%description demo
345190
Demo for Apache Lucene Java.
345190
345190
%package classification
345190
Summary:      Lucene Classification Module
345190
345190
%description classification
345190
Lucene Classification Module.
345190
345190
%package suggest
345190
Summary:      Lucene Suggest Module
345190
345190
%description suggest
345190
Lucene Suggest Module.
345190
345190
%package facet
345190
Summary:      Lucene Facets Module
345190
345190
%description facet
345190
Package for Faceted Indexing and Search.
345190
345190
%package spatial
345190
Summary:      Geospatial indexing APIs for Apache Lucene
345190
345190
%description spatial
345190
Geospatial indexing APIs for Apache Lucene.
345190
345190
%package spatial-extras
345190
Summary:      Spatial Strategies for Apache Lucene
345190
345190
%description spatial-extras
345190
Spatial Strategies for Apache Lucene.
345190
345190
%package spatial3d
345190
Summary:      Lucene Spatial 3D
345190
345190
%description spatial3d
345190
Spatial shapes implemented using 3D planar geometry
345190
345190
%package codecs
345190
Summary:      Codecs and postings formats for Apache Lucene
345190
345190
%description codecs
345190
Codecs and postings formats for Apache Lucene.
345190
345190
%package analyzers-phonetic
345190
Summary:      Lucene Phonetic Filters
345190
345190
%description analyzers-phonetic
345190
Provides phonetic encoding via Commons Codec.
345190
345190
%package analyzers-icu
345190
Summary:      Lucene ICU Analysis Components
345190
345190
%description analyzers-icu
345190
Provides integration with ICU (International Components for Unicode) for
345190
stronger Unicode and internationalization support.
345190
345190
%package analyzers-morfologik
345190
Summary:      Lucene Morfologik Polish Lemmatizer
345190
345190
%description analyzers-morfologik
345190
A dictionary-driven lemmatizer for Polish (includes morphosyntactic
345190
annotations).
345190
345190
%package analyzers-nori
345190
Summary:      An analyzer with morphological analysis for Korean
345190
345190
%description analyzers-nori
345190
An analyzer with morphological analysis for Korean.
345190
345190
%package analyzers-kuromoji
345190
Summary:      Lucene Kuromoji Japanese Morphological Analyzer
345190
345190
%description analyzers-kuromoji
345190
Lucene Kuromoji Japanese Morphological Analyzer.
345190
345190
%package analyzers-stempel
345190
Summary:      Lucene Stempel Analyzer
345190
345190
%description analyzers-stempel
345190
Lucene Stempel Analyzer.
345190
345190
%endif # without jp_minimal
345190
345190
%package javadoc
345190
Summary:        Javadoc for Lucene
345190
345190
%description javadoc
345190
%{summary}.
345190
345190
%prep
345190
%setup -q -n solr-%{version}
345190
345190
%patch0 -p1
345190
%patch1 -p1
345190
%patch2 -p1
345190
345190
rm -rf solr
345190
345190
find -name "*.jar" -delete
345190
345190
# don't generate uses clauses in osgi metadata
345190
sed -i -e "/<Export-Package>/a<_nouses>true</_nouses>" dev-tools/maven/pom.xml.template
345190
345190
# make the target public
345190
sed -i 's/-filter-pom-templates/filter-pom-templates/' lucene/common-build.xml
345190
345190
# suggest provides spellchecker
345190
%mvn_alias :%{name}-suggest :%{name}-spellchecker
345190
345190
# compatibility with existing packages
345190
%mvn_alias :%{name}-analyzers-common :%{name}-analyzers
345190
345190
%mvn_package ":%{name}-analysis-modules-aggregator" %{name}-analysis
345190
%mvn_package ":%{name}-analyzers-common" %{name}-analysis
345190
%mvn_package ":{*}-aggregator" @1
345190
345190
%build
345190
pushd %{name}
345190
find -maxdepth 2 -type d -exec mkdir -p '{}/lib' \;
345190
# generate dependencies
345190
ant -f common-build.xml filter-pom-templates -Divy.mode=local -Dversion=%{version} -Divy.available=true
345190
345190
# fix source dir + move to expected place
345190
for pom in `find build/poms/%{name} -name pom.xml`; do
345190
    sed 's/\${module-path}/${basedir}/g' "$pom" > "${pom##build/poms/%{name}/}"
345190
done
345190
%pom_disable_module src/test core
345190
%pom_disable_module src/test codecs
345190
345190
# unresolvable test dep
345190
%pom_remove_dep org.locationtech.spatial4j:spatial4j::test spatial-extras
345190
345190
# currently unavailable in Fedora
345190
%pom_remove_dep ua.net.nlp:morfologik-ukrainian-search analysis/morfologik
345190
345190
# test deps
345190
%pom_add_dep org.antlr:antlr-runtime::test demo
345190
345190
popd
345190
345190
mv lucene/build/poms/pom.xml .
345190
345190
# deal with split packages in core/misc/analysis modules by adding additional metadata and
345190
# require-bundling the core bundle from misc
345190
%pom_xpath_set "pom:Export-Package" "*;version=\"%{version}\""
345190
%pom_add_plugin org.apache.felix:maven-bundle-plugin lucene/misc \
345190
"<configuration><instructions>
345190
<Require-Bundle>org.apache.lucene.core;bundle-version=\"%{version}\"</Require-Bundle>
345190
<Export-Package>
345190
 org.apache.lucene.document;version=\"%{version}\";misc=split;mandatory:=misc,
345190
 org.apache.lucene.index;version=\"%{version}\";misc=split;mandatory:=misc,
345190
 org.apache.lucene.search;version=\"%{version}\";misc=split;mandatory:=misc,
345190
 org.apache.lucene.store;version=\"%{version}\";misc=split;mandatory:=misc,
345190
 org.apache.lucene.util.fst;version=\"%{version}\";misc=split;mandatory:=misc,
345190
 *;version=\"%{version}\"</Export-Package>
345190
</instructions></configuration>"
345190
%pom_add_plugin org.apache.felix:maven-bundle-plugin lucene/analysis/common \
345190
"<configuration><instructions>
345190
<Require-Bundle>org.apache.lucene.core;bundle-version=\"%{version}\"</Require-Bundle>
345190
<Export-Package>
345190
 org.apache.lucene.analysis.standard;version=\"%{version}\";analysis=split;mandatory:=analysis,
345190
 *;version=\"%{version}\"</Export-Package>
345190
</instructions></configuration>"
345190
345190
%pom_disable_module solr
345190
%pom_remove_plugin -r :gmaven-plugin
345190
%pom_remove_plugin -r :maven-enforcer-plugin
345190
%pom_remove_plugin -r :forbiddenapis
345190
%pom_remove_plugin -r :buildnumber-maven-plugin
345190
345190
%if %{with jp_minimal}
345190
pushd lucene
345190
%pom_disable_module codecs
345190
%pom_disable_module test-framework
345190
%pom_disable_module benchmark
345190
%pom_disable_module classification
345190
%pom_disable_module demo
345190
%pom_disable_module expressions
345190
%pom_disable_module facet
345190
%pom_disable_module replicator
345190
%pom_disable_module spatial
345190
%pom_disable_module spatial-extras
345190
%pom_disable_module spatial3d
345190
%pom_disable_module suggest
345190
345190
%pom_disable_module icu analysis
345190
%pom_disable_module kuromoji analysis
345190
%pom_disable_module morfologik analysis
345190
%pom_disable_module phonetic analysis
345190
%pom_disable_module stempel analysis
345190
%pom_disable_module nori analysis
345190
popd
345190
345190
%mvn_package :lucene-parent __noinstall
345190
%mvn_package :lucene-solr-grandparent __noinstall
345190
%endif
345190
345190
# OpenNLP is not new enough in Fedora, always disable for now
345190
pushd lucene
345190
%pom_disable_module opennlp analysis
345190
popd
345190
345190
# For some reason TestHtmlParser.testTurkish fails when building inside SCLs
345190
%mvn_build -s -f
345190
345190
%install
345190
%mvn_install
345190
345190
# Use the same directory of the main package for subpackage licence and docs
345190
%global _docdir_fmt %{name}
345190
345190
%files -f .mfiles-%{name}-core
345190
%doc lucene/CHANGES.txt lucene/README.txt
345190
%doc lucene/MIGRATE.txt lucene/JRE_VERSION_MIGRATION.txt
345190
%license lucene/LICENSE.txt lucene/NOTICE.txt
345190
345190
%files analysis -f .mfiles-%{name}-analysis
345190
%files analyzers-smartcn -f .mfiles-%{name}-analyzers-smartcn
345190
%files grouping -f .mfiles-%{name}-grouping
345190
%files highlighter -f .mfiles-%{name}-highlighter
345190
%files join -f .mfiles-%{name}-join
345190
%files memory -f .mfiles-%{name}-memory
345190
%files misc -f .mfiles-%{name}-misc
345190
%files queries -f .mfiles-%{name}-queries
345190
%files queryparser -f .mfiles-%{name}-queryparser
345190
%files sandbox -f .mfiles-%{name}-sandbox
345190
%files backward-codecs -f .mfiles-%{name}-backward-codecs
345190
%if %{without jp_minimal}
345190
%files parent -f .mfiles-%{name}-parent
345190
%files solr-grandparent -f .mfiles-%{name}-solr-grandparent
345190
%files benchmark -f .mfiles-%{name}-benchmark
345190
%files replicator -f .mfiles-%{name}-replicator
345190
%files test-framework -f .mfiles-%{name}-test-framework
345190
%files expressions -f .mfiles-%{name}-expressions
345190
%files demo -f .mfiles-%{name}-demo
345190
%files classification -f .mfiles-%{name}-classification
345190
%files suggest -f .mfiles-%{name}-suggest
345190
%files facet -f .mfiles-%{name}-facet
345190
%files spatial -f .mfiles-%{name}-spatial
345190
%files spatial-extras -f .mfiles-%{name}-spatial-extras
345190
%files spatial3d -f .mfiles-%{name}-spatial3d
345190
%files codecs -f .mfiles-%{name}-codecs
345190
%files analyzers-phonetic -f .mfiles-%{name}-analyzers-phonetic
345190
%files analyzers-icu -f .mfiles-%{name}-analyzers-icu
345190
%files analyzers-morfologik -f .mfiles-%{name}-analyzers-morfologik
345190
%files analyzers-nori -f .mfiles-%{name}-analyzers-nori
345190
%files analyzers-kuromoji -f .mfiles-%{name}-analyzers-kuromoji
345190
%files analyzers-stempel -f .mfiles-%{name}-analyzers-stempel
345190
%endif
345190
345190
%files javadoc -f .mfiles-javadoc
345190
%license lucene/LICENSE.txt lucene/NOTICE.txt
345190
345190
%changelog
345190
* Thu Jun 13 2019 Mat Booth <mat.booth@redhat.com> - 0:8.1.1-2
345190
- Enable additional module in jp_minimal mode
345190
345190
* Wed Jun 12 2019 Mat Booth <mat.booth@redhat.com> - 0:8.1.1-1
345190
- Update to latest upstream release
345190
345190
* Thu Feb 14 2019 Mat Booth <mat.booth@redhat.com> - 0:7.7.0-1
345190
- Update to latest upstream release
345190
- Drop deprecated uima analyzers sub-package
345190
- Added nori Korean analyzers sub-package
345190
345190
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.1.0-4
345190
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
345190
345190
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0:7.1.0-3
345190
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
345190
345190
* Thu Apr 26 2018 Mat Booth <mat.booth@redhat.com> - 0:7.1.0-2
345190
- Fix split package information in OSGi metadata
345190
345190
* Thu Apr 12 2018 Mat Booth <mat.booth@redhat.com> - 0:7.1.0-1
345190
- Update to a newer upstream release
345190
345190
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0:6.1.0-8
345190
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
345190
345190
* Thu Dec 07 2017 Mat Booth <mat.booth@redhat.com> - 0:6.1.0-7
345190
- Enable more modules in jp_minimal profile, rhbz#1455267
345190
345190
* Mon Oct 16 2017 Michael Simacek <msimacek@redhat.com> - 0:6.1.0-6
345190
- Backport fix for CVE-2017-12629
345190
345190
* Thu Sep 21 2017 Mat Booth <mat.booth@redhat.com> - 0:6.1.0-5
345190
- Rebuild to regenerate OSGi metadata due to objectweb-asm update
345190
345190
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0:6.1.0-4
345190
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
345190
345190
* Tue Apr 04 2017 Mat Booth <mat.booth@redhat.com> - 0:6.1.0-3
345190
- Add better OSGi metadata for dealing with core/misc split packages
345190
- Drop F24-specific hack
345190
345190
* Tue Mar 21 2017 Michael Simacek <msimacek@redhat.com> - 0:6.1.0-2
345190
- Update jp_minimal conditional
345190
345190
* Mon Mar 20 2017 Mat Booth <mat.booth@redhat.com> - 0:6.1.0-1
345190
- Update to lucene 6
345190
- Add "spatial-extras" subpackage, this decouples dependencies on spatial4j.
345190
345190
* Thu Mar 16 2017 Michael Simacek <msimacek@redhat.com> - 0:5.5.0-7
345190
- Add jp_minimal conditional
345190
345190
* Mon Feb 06 2017 Michael Simacek <msimacek@redhat.com> - 0:5.5.0-6
345190
- Remove buildnumber-plugin
345190
345190
* Mon Aug 22 2016 Roman Vais <rvais@redhat.com> - 0:5.5.0-5
345190
- Removed test dependency macros for lucene demo that caused conflict (duplicity)
345190
345190
* Wed Jul 13 2016 Roland Grunberg <rgrunber@redhat.com> - 0:5.5.0-4
345190
- analyzers-common should have versioned requires on package from core.
345190
345190
* Fri Jul 08 2016 Mat Booth <mat.booth@redhat.com> - 0:5.5.0-3
345190
- Misc module should require core module, the split package
345190
  causes problems for OSGi consumers
345190
345190
* Mon Apr 18 2016 Mat Booth <mat.booth@redhat.com> - 0:5.5.0-2
345190
- Add missing BR on ant, fixes FTBFS
345190
345190
* Wed Feb 24 2016 Michael Simacek <msimacek@redhat.com> - 0:5.5.0-1
345190
- Update to upstream version 5.5.0
345190
345190
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0:5.4.1-3
345190
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
345190
345190
* Mon Jan 25 2016 Alexander Kurtakov <akurtako@redhat.com> 0:5.4.1-2
345190
- Organize Sources numbering.
345190
- Drop old jpackage header - package has nothing in common anymore.
345190
- Drop 3+ years old provides/obsoletes.
345190
- Move old changelog to separate file to ease working with the spec file.
345190
345190
* Mon Jan 25 2016 Alexander Kurtakov <akurtako@redhat.com> 0:5.4.1-1
345190
- Update to upstream 5.4.1 release.
345190
345190
* Thu Jan 21 2016 Alexander Kurtakov <akurtako@redhat.com> 0:5.4.0-1
345190
- Update to upstream 5.4.0 release.
345190
345190
* Tue Oct 6 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.3.1-1
345190
- Update to upstream 5.3.1 release.
345190
345190
* Thu Aug 27 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.3.0-1
345190
- Update to upstream 5.3.0 release.
345190
345190
* Wed Aug 26 2015 Mat Booth <mat.booth@redhat.com> - 0:5.2.1-4
345190
- Remove forbidden SCL macros
345190
345190
* Wed Jun 24 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.2.1-3
345190
- Disable generation of uses clauses in OSGi manifests.
345190
345190
* Wed Jun 24 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.2.1-2
345190
- Drop old workarounds.
345190
345190
* Tue Jun 23 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.2.1-1
345190
- Update to upstream 5.2.1.