# Conditionals to help breaking solr(lucene) <-> carrot2 dependency cycle %if 0%{?fedora} %bcond_with carrot2 # Unavailable deps %bcond_with randomizedtesting %bcond_with uima %bcond_with webapp %bcond_with jetty8 %bcond_with kite %endif Name: solr Version: 4.7.0 Release: 1%{?dist} Summary: Ultra-fast Lucene-based Search Server # MIT/X11 (BSD like) solr/contrib/map-reduce/src/java/org/apache/solr/hadoop/AlphaNumericComparator.java License: ASL 2.0 and BSD URL: http://lucene.apache.org/solr/ Source0: http://www.apache.org/dist/lucene/solr/%{version}/%{name}-%{version}-src.tgz # taken from http://central.maven.org/maven2/org/apache/solr and http://repo1.maven.org/maven2/org/apache/lucene/ Source1: sorl-poms-%{version}.tar.xz BuildRequires: java-devel BuildRequires: mvn(com.cybozu.labs:langdetect) BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru) BuildRequires: mvn(com.ibm.icu:icu4j) BuildRequires: mvn(com.spatial4j:spatial4j) BuildRequires: mvn(commons-cli:commons-cli) BuildRequires: mvn(commons-codec:commons-codec) BuildRequires: mvn(commons-fileupload:commons-fileupload) BuildRequires: mvn(commons-io:commons-io) BuildRequires: mvn(commons-lang:commons-lang) BuildRequires: mvn(jakarta-regexp:jakarta-regexp) BuildRequires: mvn(javax.mail:mail) BuildRequires: mvn(javax.servlet:servlet-api) BuildRequires: mvn(joda-time:joda-time) BuildRequires: mvn(log4j:log4j) BuildRequires: mvn(net.arnx:jsonic) BuildRequires: mvn(net.sourceforge.nekohtml:nekohtml) BuildRequires: mvn(org.antlr:antlr-runtime) BuildRequires: mvn(org.apache.commons:commons-compress) BuildRequires: mvn(org.apache.hadoop:hadoop-annotations) BuildRequires: mvn(org.apache.hadoop:hadoop-auth) BuildRequires: mvn(org.apache.hadoop:hadoop-common) BuildRequires: mvn(org.apache.hadoop:hadoop-hdfs) BuildRequires: mvn(org.apache.httpcomponents:httpclient) BuildRequires: mvn(org.apache.httpcomponents:httpmime) BuildRequires: mvn(org.apache.tika:tika-parsers) BuildRequires: mvn(org.apache.velocity:velocity) BuildRequires: mvn(org.apache.velocity:velocity-tools) BuildRequires: mvn(org.apache.zookeeper:zookeeper) BuildRequires: mvn(org.carrot2:morfologik-polish) BuildRequires: mvn(org.codehaus.woodstox:woodstox-core-asl) %if %{without jetty8} BuildRequires: mvn(org.eclipse.jetty:jetty-server) BuildRequires: mvn(org.eclipse.jetty:jetty-servlet) BuildRequires: mvn(org.eclipse.jetty:jetty-util) BuildRequires: mvn(org.eclipse.jetty:jetty-webapp) %else # 8.1.14.v20131031 BuildRequires: mvn(org.eclipse.jetty:jetty-server:8.1.14) BuildRequires: mvn(org.eclipse.jetty:jetty-servlet:8.1.14) BuildRequires: mvn(org.eclipse.jetty:jetty-util:8.1.14) BuildRequires: mvn(org.eclipse.jetty:jetty-webapp:8.1.14) Requires: jetty8 %endif BuildRequires: mvn(org.noggit:noggit) BuildRequires: mvn(org.ow2.asm:asm) BuildRequires: mvn(org.ow2.asm:asm-commons) BuildRequires: mvn(org.restlet.jee:org.restlet) BuildRequires: mvn(org.restlet.jee:org.restlet.ext.servlet) BuildRequires: mvn(org.slf4j:jcl-over-slf4j) BuildRequires: mvn(org.slf4j:jul-to-slf4j) BuildRequires: mvn(org.slf4j:slf4j-api) BuildRequires: mvn(org.slf4j:slf4j-log4j12) BuildRequires: mvn(xerces:xercesImpl) %if %{?fedora} > 20 BuildRequires: mvn(io.netty:netty:3) %else BuildRequires: mvn(io.netty:netty) %endif # Optional? %if %{with carrot2} # solr/contrib/clustering # work in progress ... circular deps BuildRequires: mvn(org.carrot2:carrot2-mini:3.8.0) %endif %if %{with randomizedtesting} # {lucene,solr}/test-framework BuildRequires: mvn(com.carrotsearch.randomizedtesting:randomizedtesting-runner) BuildRequires: mvn(junit:junit) %endif %if %{without uima} # {lucene/analysis,solr/contrib}/uima BuildRequires: mvn(org.apache.uima:uimaj-core) BuildRequires: mvn(org.apache.uima:AlchemyAPIAnnotator) BuildRequires: mvn(org.apache.uima:OpenCalaisAnnotator) BuildRequires: mvn(org.apache.uima:Tagger) BuildRequires: mvn(org.apache.uima:WhitespaceTokenizer) BuildRequires: mvn(org.apache.uima:parent-pom) %endif %if %{with webapp} # solr/webapp BuildRequires: mvn(org.eclipse.jetty.orbit:javax.servlet) %endif %if %{with kite} # solr/contrib/{map-reduce,morphlines-cell,morphlines-core} BuildRequires: mvn(com.codahale.metrics:metrics-core) BuildRequires: mvn(com.codahale.metrics:metrics-healthchecks) BuildRequires: mvn(com.typesafe:config) BuildRequires: mvn(org.apache.hadoop:hadoop-mapreduce-client-core) # http://gil.fedorapeople.org/argparse4j-0.4.3-1.fc19.src.rpm BuildRequires: mvn(net.sourceforge.argparse4j:argparse4j) # NOT available BuildRequires: mvn(net.sf.saxon:Saxon-HE:9.5.1-4) # ... work in progress ... circular deps BuildRequires: mvn(org.kitesdk:kite-morphlines-avro) BuildRequires: mvn(org.kitesdk:kite-morphlines-core) BuildRequires: mvn(org.kitesdk:kite-morphlines-hadoop-sequencefile) BuildRequires: mvn(org.kitesdk:kite-morphlines-json) BuildRequires: mvn(org.kitesdk:kite-morphlines-saxon) BuildRequires: mvn(org.kitesdk:kite-morphlines-tika-core) BuildRequires: mvn(org.kitesdk:kite-morphlines-tika-decompress) BuildRequires: mvn(org.kitesdk:kite-morphlines-twitter) %endif BuildRequires: lucene >= %{version} %if 0 # test deps BuildRequires: mvn(dom4j:dom4j) BuildRequires: mvn(hsqldb:hsqldb:1.8.0.10) BuildRequires: mvn(org.apache.ant:ant:1.8.2) BuildRequires: mvn(org.apache.derby:derby:10.9.1.0) BuildRequires: mvn(org.apache.hadoop:hadoop-common:tests:2.0.5-alpha) BuildRequires: mvn(org.apache.hadoop:hadoop-hdfs:tests:2.0.5-alpha) BuildRequires: mvn(org.easymock:easymock:3.0) BuildRequires: mvn(org.mortbay.jetty:jetty:6.1.26) BuildRequires: mvn(org.mortbay.jetty:jetty-util:6.1.26) %endif # lucene-analyzers-kuromoji # mecab:mecab-ipadic:2.7.0-20070801 # mecab:mecab-naist-jdic:0.6.3b-20111013 # http://gil.fedorapeople.org/mecab-naist-jdic-0.6.3b-0.1.20111013.fc19.src.rpm # http://gil.fedorapeople.org/mecab-naist-jdic.spec # lucene-core # https://bitbucket.org/jpbarrette/moman/get/5c5c2a1e4dea.zip # see lucene/core/src/java/org/apache/lucene/util/automaton/createLevAutomata.py BuildRequires: buildnumber-maven-plugin BuildRequires: maven-local BuildRequires: maven-enforcer-plugin BuildRequires: maven-plugin-bundle BuildRequires: maven-remote-resources-plugin BuildRequires: maven-site-plugin BuildArch: noarch %description Solr is the popular, blazing fast open source enterprise search platform from the Apache Lucene project. For a complete description of the Solr project, team composition, source code repositories, and other details, please see the Solr web site at http://lucene.apache.org/solr %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q find . -name "*.class" -print -delete find . -name "*.jar" -print -delete find . -name "*.js" -print -delete tar -xf %{SOURCE1} # Fix parent pom sed -i "s|../../../pom.xml|../pom.xml|" $(find lucene -name "pom.xml") sed -i "s|../../../pom.xml|../pom.xml|" $(find solr -name "pom.xml") # Fix non standard source/resources directories structure sed -i 's|${module-path}|${basedir}/src/java|' \ lucene/core/pom.xml lucene/codecs/pom.xml \ solr/core/pom.xml solr/solrj/pom.xml for p in lucene/test-framework/pom.xml lucene/analysis/common/pom.xml \ lucene/analysis/icu/pom.xml lucene/analysis/kuromoji/pom.xml \ lucene/analysis/morfologik/pom.xml lucene/analysis/phonetic/pom.xml \ lucene/analysis/smartcn/pom.xml lucene/analysis/stempel/pom.xml \ lucene/analysis/uima/pom.xml lucene/memory/pom.xml lucene/queries/pom.xml \ lucene/highlighter/pom.xml lucene/sandbox/pom.xml lucene/queryparser/pom.xml \ lucene/facet/pom.xml lucene/demo/pom.xml lucene/classification/pom.xml \ lucene/benchmark/pom.xml lucene/grouping/pom.xml lucene/join/pom.xml \ lucene/misc/pom.xml lucene/replicator/pom.xml lucene/spatial/pom.xml \ lucene/suggest/pom.xml lucene/expressions/pom.xml solr/test-framework/pom.xml solr/contrib/analysis-extras/pom.xml \ solr/contrib/clustering/pom.xml solr/contrib/dataimporthandler/pom.xml solr/contrib/dataimporthandler-extras/pom.xml \ solr/contrib/extraction/pom.xml solr/contrib/langid/pom.xml solr/contrib/uima/pom.xml solr/contrib/velocity/pom.xml; do sed -i 's|${module-path}/src/java|${basedir}/src/java|' ${p} sed -i 's|${module-path}/src/test|${basedir}/src/test|' ${p} done sed -i 's|${module-path}/src/resources|${basedir}/src/resources|' \ lucene/test-framework/pom.xml lucene/analysis/common/pom.xml lucene/analysis/icu/pom.xml lucene/facet/pom.xml \ lucene/analysis/kuromoji/pom.xml lucene/analysis/morfologik/pom.xml lucene/analysis/phonetic/pom.xml \ lucene/analysis/smartcn/pom.xml lucene/analysis/stempel/pom.xml lucene/analysis/uima/pom.xml lucene/demo/pom.xml \ lucene/classification/pom.xml lucene/queryparser/pom.xml lucene/expressions/pom.xml solr/contrib/langid/pom.xml solr/contrib/uima/pom.xml \ solr/contrib/clustering/pom.xml sed -i 's|${module-path}/../resources|${basedir}/src/resources|' \ lucene/codecs/pom.xml lucene/core/pom.xml sed -i 's|${module-path}/src/test-files|${basedir}/src/test-files|' \ lucene/analysis/uima/pom.xml lucene/spatial/pom.xml solr/contrib/langid/pom.xml solr/contrib/uima/pom.xml \ solr/contrib/clustering/pom.xml solr/contrib/extraction/pom.xml solr/contrib/velocity/pom.xml \ solr/contrib/analysis-extras/pom.xml solr/contrib/dataimporthandler/pom.xml solr/contrib/dataimporthandler-extras/pom.xml sed -i 's|${module-path}|${basedir}|' \ lucene/benchmark/pom.xml sed -i 's|${module-path}|${basedir}/src/java|' solr/test-framework/pom.xml sed -i 's|${module-path}|${basedir}/src/test|' \ solr/solrj/pom.xml # Remove unavailable plugins %pom_remove_plugin org.codehaus.gmaven:gmaven-plugin %pom_remove_plugin de.thetaphi:forbiddenapis for m in lucene lucene/core lucene/test-framework lucene/codecs \ lucene/analysis/stempel lucene/queryparser lucene/facet \ lucene/benchmark lucene/misc lucene/demo solr solr/core solr/solrj solr/test-framework \ solr/contrib/extraction solr/contrib/velocity solr/contrib/uima solr/contrib/langid; do %pom_remove_plugin de.thetaphi:forbiddenapis ${m} done %pom_xpath_inject "pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId = 'maven-javadoc-plugin' ]" ' UTF-8 true true Apache Solr ${project.version} API
Apache Solr
true ${project.artifactId}/src/java/overview.html Apache Solr org.apache.solr*
' # Disabled for now # Unavailable deps %if %{without carrot2} %pom_disable_module clustering solr/contrib %endif %if %{without randomizedtesting} %pom_disable_module test-framework lucene %pom_disable_module test-framework solr %endif %if %{with uima} %pom_disable_module uima lucene/analysis %pom_disable_module uima solr/contrib %endif %if %{without webapp} # Require JQuery.js and other js libraries https://bugzilla.redhat.com/show_bug.cgi?id=857992 %pom_disable_module webapp solr %endif %if %{without kite} %pom_disable_module map-reduce solr/contrib %pom_disable_module morphlines-cell solr/contrib %pom_disable_module morphlines-core solr/contrib %endif # Fix aId %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/core %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/solrj %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/test-framework %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/contrib/analysis-extras %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/contrib/langid %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/contrib/dataimporthandler %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/contrib/dataimporthandler-extras %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/contrib/extraction %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/contrib/uima %pom_xpath_set "pom:dependencies/pom:dependency[pom:groupId = 'org.codehaus.woodstox']/pom:artifactId" woodstox-core-asl solr/contrib/velocity # Use system jvm apis %pom_remove_dep javax.activation:activation solr/contrib/dataimporthandler %pom_remove_dep javax.activation:activation solr/contrib/dataimporthandler-extras # Remove fake BR %pom_remove_dep com.googlecode.mp4parser:isoparser %pom_remove_dep com.googlecode.mp4parser:isoparser solr/contrib/extraction %pom_remove_dep com.googlecode.mp4parser:isoparser solr/contrib/langid %pom_remove_dep com.googlecode.mp4parser:isoparser solr/contrib/dataimporthandler-extras %pom_remove_dep com.drewnoakes:metadata-extractor solr/contrib/dataimporthandler-extras %pom_remove_dep com.drewnoakes:metadata-extractor solr/contrib/extraction %pom_remove_dep com.drewnoakes:metadata-extractor solr/contrib/langid %pom_remove_dep org.apache.tika:tika-xmp solr/contrib/dataimporthandler-extras %pom_remove_dep org.apache.tika:tika-xmp solr/contrib/extraction %pom_remove_dep org.apache.tika:tika-xmp solr/contrib/langid %pom_remove_dep org.bouncycastle:bcmail-jdk15 solr/contrib/dataimporthandler-extras %pom_remove_dep org.bouncycastle:bcmail-jdk15 solr/contrib/extraction %pom_remove_dep org.bouncycastle:bcmail-jdk15 solr/contrib/langid %pom_remove_dep org.bouncycastle:bcprov-jdk15 solr/contrib/dataimporthandler-extras %pom_remove_dep org.bouncycastle:bcprov-jdk15 solr/contrib/extraction %pom_remove_dep org.bouncycastle:bcprov-jdk15 solr/contrib/langid %if %{?fedora} > 20 %pom_xpath_set "pom:dependencyManagement/pom:dependencies/pom:dependency[pom:groupId = 'io.netty']/pom:version" 3 %endif # Disable lucene %pom_disable_module lucene rm -r lucene # Disable Jetty8 support ... for now rm -r solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java %build # Test skipped for unavailable test deps {lucene,solr}/test-framework %mvn_build -f %install %mvn_install %files -f .mfiles %dir %{_javadir}/%{name} %doc solr/CHANGES.txt LICENSE.txt NOTICE.txt README.txt %files javadoc -f .mfiles-javadoc %doc LICENSE.txt NOTICE.txt %changelog * Tue Mar 04 2014 gil cattaneo 4.7.0-1 - update to 4.7.0 * Tue Jan 28 2014 gil cattaneo 4.6.1-1 - update to 4.6.1 * Sat Nov 30 2013 gil cattaneo 4.6.0-1 - update to 4.6.0 * Sun Oct 27 2013 gil cattaneo 4.5.1-1 - update to 4.5.1 * Mon Sep 09 2013 gil cattaneo 4.5.0-1 - update to 4.5.0 * Fri Aug 23 2013 gil cattaneo 4.4.0-1 - initial rpm