Summary: High-performance, full-featured text search engine
Name: lucene
Version: 5.4.1
Release: 2%{?dist}
Epoch: 0
License: ASL 2.0
URL: http://lucene.apache.org/
Source0: http://www.apache.org/dist/lucene/java/%{version}/lucene-%{version}-src.tgz
#svn export http://svn.apache.org/repos/asf/lucene/dev/tags/lucene_solr_5_4_1/dev-tools/
#tar caf dev-tools-5.4.1.tar.xz dev-tools/
Source1: dev-tools-%{version}.tar.xz
Patch0: 0001-disable-ivy-settings.patch
Patch1: 0001-dependency-generation.patch
BuildRequires: git
BuildRequires: ant
BuildRequires: ivy-local
BuildRequires: icu4j
BuildRequires: httpcomponents-client
BuildRequires: jetty-continuation
BuildRequires: jetty-http
BuildRequires: jetty-io
BuildRequires: jetty-server
BuildRequires: jetty-servlet
BuildRequires: jetty-util
BuildRequires: morfologik-stemming >= 2.0.1
BuildRequires: uimaj
BuildRequires: uima-addons
BuildRequires: spatial4j >= 0.5.0
BuildRequires: nekohtml
BuildRequires: xerces-j2
BuildRequires: mvn(javax.servlet:servlet-api)
BuildRequires: mvn(org.antlr:antlr-runtime)
BuildRequires: maven-local
BuildRequires: apache-parent
BuildRequires: forbidden-apis
# test-framework deps
BuildRequires: junit
BuildRequires: randomizedtesting-junit4-ant
BuildRequires: randomizedtesting-runner
Provides: %{name}-core = %{epoch}:%{version}-%{release}
BuildArch: noarch
%description
Apache Lucene is a high-performance, full-featured text search
engine library written entirely in Java. It is a technology suitable
for nearly any application that requires full-text search, especially
cross-platform.
%package parent
Summary: Parent POM for Lucene
%description parent
Parent POM for Lucene.
%package solr-grandparent
Summary: Lucene Solr grandparent POM
%description solr-grandparent
Lucene Solr grandparent POM.
%package backward-codecs
Summary: Lucene Backward Codecs Module
%description backward-codecs
Codecs for older versions of Lucene.
%package benchmark
Summary: Lucene Benchmarking Module
%description benchmark
Lucene Benchmarking Module.
%package replicator
Summary: Lucene Replicator Module
%description replicator
Lucene Replicator Module.
%package grouping
Summary: Lucene Grouping Module
%description grouping
Lucene Grouping Module.
%package highlighter
Summary: Lucene Highlighter Module
%description highlighter
Lucene Highlighter Module.
%package misc
Summary: Miscellaneous Lucene extensions
%description misc
Miscellaneous Lucene extensions.
%package test-framework
Summary: Apache Lucene Java Test Framework
%description test-framework
Apache Lucene Java Test Framework.
%package memory
Summary: Lucene Memory Module
%description memory
High-performance single-document index to compare against Query.
%package expressions
Summary: Lucene Expressions Module
%description expressions
Dynamically computed values to sort/facet/search on based on a pluggable
grammar.
%package demo
Summary: Lucene Demo Module
%description demo
Demo for Apache Lucene Java.
%package classification
Summary: Lucene Classification Module
%description classification
Lucene Classification Module.
%package join
Summary: Lucene Join Module
%description join
Lucene Join Module.
%package suggest
Summary: Lucene Suggest Module
%description suggest
Lucene Suggest Module.
%package facet
Summary: Lucene Facets Module
%description facet
Package for Faceted Indexing and Search.
%package analysis
Summary: Lucene Common Analyzers
%description analysis
Lucene Common Analyzers.
%package sandbox
Summary: Lucene Sandbox Module
%description sandbox
Lucene Sandbox Module.
%package queries
Summary: Lucene Queries Module
%description queries
Lucene Queries Module.
%package spatial
Summary: Spatial Strategies for Apache Lucene
%description spatial
Spatial Strategies for Apache Lucene.
%package spatial3d
Summary: Lucene Spatial 3D
%description spatial3d
Spatial shapes implemented using 3D planar geometry
%package codecs
Summary: Codecs and postings formats for Apache Lucene
%description codecs
Codecs and postings formats for Apache Lucene.
%package queryparser
Summary: Lucene QueryParsers Module
%description queryparser
Lucene QueryParsers Module.
%package analyzers-smartcn
Summary: Smart Chinese Analyzer
%description analyzers-smartcn
Lucene Smart Chinese Analyzer.
%package analyzers-phonetic
Summary: Lucene Phonetic Filters
%description analyzers-phonetic
Provides phonetic encoding via Commons Codec.
%package analyzers-icu
Summary: Lucene ICU Analysis Components
%description analyzers-icu
Provides integration with ICU (International Components for Unicode) for
stronger Unicode and internationalization support.
%package analyzers-morfologik
Summary: Lucene Morfologik Polish Lemmatizer
%description analyzers-morfologik
A dictionary-driven lemmatizer for Polish (includes morphosyntactic
annotations).
%package analyzers-uima
Summary: Lucene UIMA Analysis Components
%description analyzers-uima
Lucene Integration with UIMA for extracting metadata from arbitrary (text)
fields and enrich document with features extracted from UIMA types (language,
sentences, concepts, named entities, etc.).
%package analyzers-kuromoji
Summary: Lucene Kuromoji Japanese Morphological Analyzer
%description analyzers-kuromoji
Lucene Kuromoji Japanese Morphological Analyzer.
%package analyzers-stempel
Summary: Lucene Stempel Analyzer
%description analyzers-stempel
Lucene Stempel Analyzer.
%package javadoc
Summary: Javadoc for Lucene
%description javadoc
%{summary}.
%prep
%autosetup -n %{name}-%{version} -S git
# dependency generator expects that the directory name is just lucene
mkdir %{name}
find -maxdepth 1 ! -name CHANGES.txt ! -name LICENSE.txt ! -name README.txt \
! -name NOTICE.txt ! -name MIGRATE.txt ! -name ivy-settings.xml \
! -path %{name} -exec mv \{} %{name}/ \;
tar xf %{SOURCE1}
pushd dev-tools/maven
sed -i -e "s|/Export-Package>|/Export-Package><_nouses>true</_nouses>|g" pom.xml.template
popd
# remove all binary libs
find . -name "*.jar" -exec rm -f {} \;
%mvn_package ":%{name}-analysis-modules-aggregator" %{name}-analysis
%mvn_package ":%{name}-analyzers-common" %{name}-analysis
%mvn_package ":{*}-aggregator" @1
%build
pushd %{name}
# generate dependencies
ant filter-pom-templates -Divy.mode=local -Dversion=%{version}
# fix source dir + move to expected place
for pom in `find build/poms/%{name} -name pom.xml`; do
sed 's/\${module-path}/${basedir}/g' "$pom" > "${pom##build/poms/%{name}/}"
done
%pom_remove_plugin :forbiddenapis
for module in test-framework; do
%pom_remove_plugin :forbiddenapis ${module}
done
%pom_disable_module src/test core
%pom_disable_module src/test codecs
# test deps
%pom_add_dep org.ow2.asm:asm::test demo
%pom_add_dep org.ow2.asm:asm-commons::test demo
%pom_add_dep org.antlr:antlr-runtime::test demo
popd
mv lucene/build/poms/pom.xml .
%pom_disable_module solr
%pom_remove_plugin :gmaven-plugin
%pom_remove_plugin :forbiddenapis
%pom_remove_plugin :maven-enforcer-plugin
# For some reason TestHtmlParser.testTurkish fails when building inside SCLs
%mvn_build -s -f
%install
# suggest provides spellchecker
%mvn_alias :%{name}-suggest :%{name}-spellchecker
# compatibility with existing packages
%mvn_alias :%{name}-analyzers-common :%{name}-analyzers
%mvn_install
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
%files -f .mfiles-%{name}-core
%dir %{_javadir}/%{name}
%doc CHANGES.txt README.txt MIGRATE.txt
%license LICENSE.txt NOTICE.txt
%files parent -f .mfiles-%{name}-parent
%files solr-grandparent -f .mfiles-%{name}-solr-grandparent
%files benchmark -f .mfiles-%{name}-benchmark
%files backward-codecs -f .mfiles-%{name}-backward-codecs
%files replicator -f .mfiles-%{name}-replicator
%files grouping -f .mfiles-%{name}-grouping
%files highlighter -f .mfiles-%{name}-highlighter
%files misc -f .mfiles-%{name}-misc
%files test-framework -f .mfiles-%{name}-test-framework
%files memory -f .mfiles-%{name}-memory
%files expressions -f .mfiles-%{name}-expressions
%files demo -f .mfiles-%{name}-demo
%files classification -f .mfiles-%{name}-classification
%files join -f .mfiles-%{name}-join
%files suggest -f .mfiles-%{name}-suggest
%files facet -f .mfiles-%{name}-facet
%files analysis -f .mfiles-%{name}-analysis
%files sandbox -f .mfiles-%{name}-sandbox
%files queries -f .mfiles-%{name}-queries
%files spatial -f .mfiles-%{name}-spatial
%files spatial3d -f .mfiles-%{name}-spatial3d
%files codecs -f .mfiles-%{name}-codecs
%files queryparser -f .mfiles-%{name}-queryparser
%files analyzers-smartcn -f .mfiles-%{name}-analyzers-smartcn
%files analyzers-phonetic -f .mfiles-%{name}-analyzers-phonetic
%files analyzers-icu -f .mfiles-%{name}-analyzers-icu
%files analyzers-morfologik -f .mfiles-%{name}-analyzers-morfologik
%files analyzers-uima -f .mfiles-%{name}-analyzers-uima
%files analyzers-kuromoji -f .mfiles-%{name}-analyzers-kuromoji
%files analyzers-stempel -f .mfiles-%{name}-analyzers-stempel
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt NOTICE.txt
%changelog
* Mon Jan 25 2016 Alexander Kurtakov <akurtako@redhat.com> 0:5.4.1-2
- Organize Sources numbering.
- Drop old jpackage header - package has nothing in common anymore.
- Drop 3+ years old provides/obsoletes.
- Move old changelog to separate file to ease working with the spec file.
* Mon Jan 25 2016 Alexander Kurtakov <akurtako@redhat.com> 0:5.4.1-1
- Update to upstream 5.4.1 release.
* Thu Jan 21 2016 Alexander Kurtakov <akurtako@redhat.com> 0:5.4.0-1
- Update to upstream 5.4.0 release.
* Tue Oct 6 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.3.1-1
- Update to upstream 5.3.1 release.
* Thu Aug 27 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.3.0-1
- Update to upstream 5.3.0 release.
* Wed Aug 26 2015 Mat Booth <mat.booth@redhat.com> - 0:5.2.1-4
- Remove forbidden SCL macros
* Wed Jun 24 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.2.1-3
- Disable generation of uses clauses in OSGi manifests.
* Wed Jun 24 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.2.1-2
- Drop old workarounds.
* Tue Jun 23 2015 Alexander Kurtakov <akurtako@redhat.com> 0:5.2.1-1
- Update to upstream 5.2.1.