[java-sig-commits] [lucene] Update to latest 2.x version (3.x is not API compatible)

Stanislav Ochotnicky sochotni at fedoraproject.org
Tue Feb 1 08:04:03 UTC 2011


commit 72a9a98b35b3ffda231dfc676e433a4822a1441b
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Mon Jan 31 17:29:44 2011 +0100

    Update to latest 2.x version (3.x is not API compatible)
    
    - Add new modules
    - Enable tests again
    - Versionless jars & javadocs

 .gitignore                                         |    1 +
 0001-Remove-bdb-packageset.patch                   |   25 ++++++
 0002-Fix-version-string.patch                      |   25 ++++++
 ...-classpath.patch => 0003-Remove-classpath.patch |   18 ++++-
 lucene-2.4.1-db-javadoc.patch                      |   13 ---
 lucene-2.4.1-fixmanifests.patch                    |   11 ---
 lucene.spec                                        |   87 +++++++++----------
 sources                                            |    2 +-
 8 files changed, 109 insertions(+), 73 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 913dd60..ac94ef8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 lucene-2.4.1-src.tar.gz
+/lucene-2.9.4-src.tar.gz
diff --git a/0001-Remove-bdb-packageset.patch b/0001-Remove-bdb-packageset.patch
new file mode 100644
index 0000000..d925e76
--- /dev/null
+++ b/0001-Remove-bdb-packageset.patch
@@ -0,0 +1,25 @@
+From 7461bb2835b527f75bbe4b3c54998633b198f3c3 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Mon, 31 Jan 2011 14:09:16 +0100
+Subject: [PATCH 1/3] Remove bdb packageset
+
+---
+ build.xml |    2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/build.xml b/build.xml
+index 8605e1c..2e32992 100644
+--- a/build.xml
++++ b/build.xml
+@@ -311,8 +311,6 @@
+           <packageset dir="contrib/ant/src/java"/>
+           <packageset dir="contrib/benchmark/src/java"/>
+           <packageset dir="contrib/collation/src/java"/>
+-          <packageset dir="contrib/db/bdb-je/src/java"/>
+-          <packageset dir="contrib/db/bdb/src/java"/>
+           <packageset dir="contrib/fast-vector-highlighter/src/java"/>
+           <packageset dir="contrib/highlighter/src/java"/>
+           <packageset dir="contrib/instantiated/src/java"/>
+-- 
+1.7.3.5
+
diff --git a/0002-Fix-version-string.patch b/0002-Fix-version-string.patch
new file mode 100644
index 0000000..124a149
--- /dev/null
+++ b/0002-Fix-version-string.patch
@@ -0,0 +1,25 @@
+From 045c619240ea701f00c968ce79c256f1f94b8135 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Mon, 31 Jan 2011 14:10:40 +0100
+Subject: [PATCH 2/3] Fix version string
+
+---
+ common-build.xml |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/common-build.xml b/common-build.xml
+index e202576..09850c5 100644
+--- a/common-build.xml
++++ b/common-build.xml
+@@ -304,7 +304,7 @@
+ 		<attribute name="Implementation-Title" value="org.apache.lucene"/>
+ 		<!-- impl version can be any string -->
+ 		<attribute name="Implementation-Version"
+-		           value="${version} ${svnversion} - ${DSTAMP} ${TSTAMP}"/>
++		           value="${version} - ${DSTAMP} ${TSTAMP}"/>
+ 		<attribute name="Implementation-Vendor"
+ 		           value="The Apache Software Foundation"/>
+ 		<attribute name="X-Compile-Source-JDK" 
+-- 
+1.7.3.5
+
diff --git a/lucli-remove-classpath.patch b/0003-Remove-classpath.patch
similarity index 56%
rename from lucli-remove-classpath.patch
rename to 0003-Remove-classpath.patch
index d520c56..a7e83f7 100644
--- a/lucli-remove-classpath.patch
+++ b/0003-Remove-classpath.patch
@@ -1,5 +1,16 @@
---- contrib/lucli/build.xml.sav	2010-10-13 00:10:02.626635161 +0300
-+++ contrib/lucli/build.xml	2010-10-13 00:10:32.866857676 +0300
+From 98425c17c2ac31515d365536fa123da4c505bff2 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Mon, 31 Jan 2011 14:11:25 +0100
+Subject: [PATCH 3/3] Remove classpath
+
+---
+ contrib/lucli/build.xml |    2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/contrib/lucli/build.xml b/contrib/lucli/build.xml
+index 61837de..7b2c8a3 100644
+--- a/contrib/lucli/build.xml
++++ b/contrib/lucli/build.xml
 @@ -42,7 +42,6 @@
      <jarify>
        <manifest-attributes>
@@ -16,3 +27,6 @@
        </manifest-attributes>
    	</jarify>
    </target>   
+-- 
+1.7.3.5
+
diff --git a/lucene.spec b/lucene.spec
index a224cc1..3fe7e4c 100644
--- a/lucene.spec
+++ b/lucene.spec
@@ -30,8 +30,8 @@
 
 Summary:        High-performance, full-featured text search engine
 Name:           lucene
-Version:        2.4.1
-Release:        7%{?dist}
+Version:        2.9.4
+Release:        1%{?dist}
 Epoch:          0
 License:        ASL 2.0
 URL:            http://lucene.apache.org/
@@ -39,14 +39,12 @@ Group:          Development/Libraries
 Source0:        http://archive.apache.org/dist/lucene/java/%{name}-%{version}-src.tar.gz
 Source1:        lucene-1.9-OSGi-MANIFEST.MF
 Source2:        lucene-1.9-analysis-OSGi-MANIFEST.MF
-Patch1:         lucene-2.4.1-db-javadoc.patch
-Patch2:         %{name}-2.4.1-fixmanifests.patch
-Patch4:         lucli-remove-classpath.patch
+Patch1:         0001-Remove-bdb-packageset.patch
+Patch2:         0002-Fix-version-string.patch
+Patch3:         0003-Remove-classpath.patch
 BuildRequires:  jpackage-utils >= 0:1.6
 BuildRequires:  ant >= 0:1.6
 BuildRequires:  ant-junit >= 0:1.6
-#BuildRequires:  berkeleydb
-#BuildRequires:  berkeleydb-native >= 0:4.3.29
 BuildRequires:  junit
 BuildRequires:  javacc
 BuildRequires:  java-javadoc
@@ -56,16 +54,23 @@ BuildRequires:  regexp
 BuildRequires:  apache-commons-digester
 BuildRequires:  unzip
 BuildRequires:  java-devel >= 1:1.6.0
+BuildRequires:  apache-commons-compress
+BuildRequires:  icu4j
+# for tests
+BuildRequires:  subversion
+
 Provides:       lucene-core = %{epoch}:%{version}-%{release}
 # previously used by eclipse but no longer needed
 Obsoletes:      lucene-devel < %{version}
 BuildArch:      noarch
+
 Requires:       jpackage-utils
 
 %description
-Jakarta Lucene is a high-performance, full-featured text search engine
-written entirely in Java. It is a technology suitable for nearly any
-application that requires full-text search, especially cross-platform.
+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 javadoc
 Summary:        Javadoc for Lucene
@@ -98,39 +103,24 @@ find . -name "*.jar" -exec rm -f {} \;
 
 %patch1 -p1 -b .db-javadoc
 %patch2 -p1 -b .fixmanifests
-%patch4
+%patch3 -p1 -b .removeclasspath
 
-iconv --from=ISO-8859-1 --to=UTF-8 CHANGES.txt > CHANGES.txt.new 
+iconv --from=ISO-8859-1 --to=UTF-8 CHANGES.txt > CHANGES.txt.new
 
 %build
 mkdir -p docs
 mkdir -p lib
 export OPT_JAR_LIST="ant/ant-junit junit"
-export CLASSPATH=$(build-classpath jline jtidy regexp commons-digester)
-#pushd contrib/db/bdb/lib
-#ln -sf $(build-classpath berkeleydb-native) .
-#popd
-#pushd contrib/db/bdb-je/lib
-#ln -sf $(build-classpath berkeleydb) .
-#popd
+export CLASSPATH=$(build-classpath jline jtidy regexp commons-digester apache-commons-compress icu4j)
 rm -r contrib/db
 
-#FIXME: Tests freeze randomly. Turning on debug messages shows warnings like:
-
-# [junit] GC Warning: Repeated allocation of very large block (appr. size 512000):
-# [junit]   May lead to memory leak and poor performance.
-
-# See: http://koji.fedoraproject.org/koji/getfile?taskID=169839&name=build.log
-# for an example
-
 ant -Dbuild.sysclasspath=first \
   -Djavacc.home=%{_bindir}/javacc \
   -Djavacc.jar=%{_javadir}/javacc.jar \
   -Djavacc.jar.dir=%{_javadir} \
   -Djavadoc.link=%{_javadocdir}/java \
   -Dversion=%{version} \
-  package
-#  package test generate-test-reports
+  package test-core test-contrib
 
 # add missing OSGi metadata to manifests
 mkdir META-INF
@@ -138,53 +128,53 @@ unzip -o build/lucene-core-%{version}.jar META-INF/MANIFEST.MF
 cat %{SOURCE1} >> META-INF/MANIFEST.MF
 sed -i '/^\r$/d' META-INF/MANIFEST.MF
 zip -u build/lucene-core-%{version}.jar META-INF/MANIFEST.MF
-unzip -o build/contrib/analyzers/lucene-analyzers-%{version}.jar META-INF/MANIFEST.MF
+unzip -o build/contrib/analyzers/common/lucene-analyzers-%{version}.jar META-INF/MANIFEST.MF
 cat %{SOURCE2} >> META-INF/MANIFEST.MF
 sed -i '/^\r$/d' META-INF/MANIFEST.MF
 zip -u build/contrib/analyzers/lucene-analyzers-%{version}.jar META-INF/MANIFEST.MF
 
 %install
-rm -rf $RPM_BUILD_ROOT
 
 # jars
 install -d -m 0755 $RPM_BUILD_ROOT%{_javadir}
-install -m 0644 build/%{name}-core-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-%{version}.jar
-install -m 0644 build/%{name}-demos-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-demos-%{version}.jar
-(cd $RPM_BUILD_ROOT%{_javadir} && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
+install -m 0644 build/%{name}-core-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}.jar
+install -m 0644 build/%{name}-demos-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}-demos.jar
 
 # contrib jars
 install -d -m 0755 $RPM_BUILD_ROOT%{_javadir}/%{name}-contrib
-for c in analyzers ant highlighter lucli memory misc queries similarity snowball spellchecker surround swing wordnet xml-query-parser; do
+for c in analyzers ant benchmark collation fast-vector-highlighter highlighter \
+         instantiated lucli memory misc queries queryparser regex remote \
+         snowball spatial spellchecker surround swing wikipedia wordnet \
+         xml-query-parser; do
     install -m 0644 build/contrib/$c/%{name}-${c}-%{version}.jar \
-        $RPM_BUILD_ROOT%{_javadir}/%{name}-contrib
+        $RPM_BUILD_ROOT%{_javadir}/%{name}-contrib/%{name}-${c}.jar
 done
-(cd $RPM_BUILD_ROOT%{_javadir}/%{name}-contrib && for jar in *-%{version}.jar; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
 
 # javadoc
-install -d -m 0755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
+install -d -m 0755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 cp -pr build/docs/api/* \
-  $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
-ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name}
+  $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 
 # webapp
 install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
 install -m 0644 build/%{name}web.war \
   $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%pre javadoc
+# workaround for rpm bug, can be removed in F-17
+[ $1 -gt 1 ] && [ -L %{_javadocdir}/%{name} ] && \
+rm -rf $(readlink -f %{_javadocdir}/%{name}) %{_javadocdir}/%{name} || :
+
 
 %files
 %defattr(-,root,root,-)
-%doc CHANGES.txt LICENSE.txt README.txt
-%{_javadir}/%{name}-%{version}.jar
+%doc CHANGES.txt LICENSE.txt README.txt NOTICE.txt
 %{_javadir}/%{name}.jar
 %{_datadir}/%{name}-%{version}
 
 %files javadoc
 %defattr(-,root,root,-)
 %doc LICENSE.txt
-%{_javadocdir}/%{name}-%{version}
 %{_javadocdir}/%{name}
 
 %files contrib
@@ -194,10 +184,15 @@ rm -rf $RPM_BUILD_ROOT
 
 %files demo
 %defattr(-,root,root,-)
-%{_javadir}/%{name}-demos-%{version}.jar
 %{_javadir}/%{name}-demos.jar
 
 %changelog
+* Mon Jan 31 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 0:2.9.4-1
+- Update to latest 2.x version (3.x is not API compatible)
+- Add new modules
+- Enable tests again
+- Versionless jars & javadocs
+
 * Wed Oct 13 2010 Alexander Kurtakov <akurtako at redhat.com> 0:2.4.1-7
 - BR java 1.6.0.
 
diff --git a/sources b/sources
index 4a3c396..0cfc836 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-ad46595439240e10387fcbf7647705db  lucene-2.4.1-src.tar.gz
+17960f35b2239654ba608cf1f3e256b3  lucene-2.9.4-src.tar.gz


More information about the java-sig-commits mailing list