diff --git a/libsvm-2.84-6.patch b/libsvm-2.84-7.patch
similarity index 73%
rename from libsvm-2.84-6.patch
rename to libsvm-2.84-7.patch
index 5da7e64..ad974ff 100644
--- a/libsvm-2.84-6.patch
+++ b/libsvm-2.84-7.patch
@@ -1,6 +1,135 @@
+diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
+--- ./java/libsvm/svm_problem.java.orig 2007-12-03 09:36:06.000000000 +1000
++++ ./java/libsvm/svm_problem.java 2007-12-03 10:00:40.000000000 +1000
+@@ -1,6 +1,7 @@
+ package libsvm;
+ public class svm_problem implements java.io.Serializable
+ {
++ static final long serialVersionUID = -4451389443706847272L;
+ public int l;
+ public double[] y;
+ public svm_node[][] x;
+diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
+--- ./java/libsvm/svm_node.java.orig 2007-12-03 09:35:56.000000000 +1000
++++ ./java/libsvm/svm_node.java 2007-12-03 10:00:40.000000000 +1000
+@@ -1,6 +1,7 @@
+ package libsvm;
+ public class svm_node implements java.io.Serializable
+ {
++ static final long serialVersionUID = 2709444323471798245L;
+ public int index;
+ public double value;
+ }
+diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
+--- ./java/libsvm/svm_parameter.java.orig 2007-12-03 09:35:45.000000000 +1000
++++ ./java/libsvm/svm_parameter.java 2007-12-03 10:00:40.000000000 +1000
+@@ -1,6 +1,7 @@
+ package libsvm;
+ public class svm_parameter implements Cloneable,java.io.Serializable
+ {
++ static final long serialVersionUID = 2709444323471798245L;
+ /* svm_type */
+ public static final int C_SVC = 0;
+ public static final int NU_SVC = 1;
+diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
+--- ./java/libsvm/svm_model.java.orig 2007-12-03 09:35:34.000000000 +1000
++++ ./java/libsvm/svm_model.java 2007-12-03 10:00:40.000000000 +1000
+@@ -4,6 +4,7 @@
+ package libsvm;
+ public class svm_model implements java.io.Serializable
+ {
++ static final long serialVersionUID = 2709444323471798245L;
+ svm_parameter param; // parameter
+ int nr_class; // number of classes, = 2 in regression/one class svm
+ int l; // total #SV
+diff -up ./java/libsvm/svm.java.orig ./java/libsvm/svm.java
+diff -up ./java/libsvm/svm.m4.orig ./java/libsvm/svm.m4
+diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
+--- ./java/svm_toy.java.orig 2007-12-03 09:34:36.000000000 +1000
++++ ./java/svm_toy.java 2007-12-03 10:31:03.000000000 +1000
+@@ -6,7 +6,7 @@ import java.awt.event.*;
+ import java.io.*;
+
+ public class svm_toy extends Applet {
+-
++ static final long serialVersionUID = -8325676470152687806L;
+ static final String DEFAULT_PARAM="-t 2 -c 100";
+ int XLEN;
+ int YLEN;
+@@ -453,6 +453,7 @@ public class svm_toy extends Applet {
+ }
+
+ class AppletFrame extends Frame {
++ static final long serialVersionUID = -8428435143024670779L;
+ AppletFrame(String title, Applet applet, int width, int height)
+ {
+ super(title);
+diff -up ./java/svm_predict.java.orig ./java/svm_predict.java
+diff -up ./java/Makefile.orig ./java/Makefile
+--- ./java/Makefile.orig 2007-12-03 09:33:44.000000000 +1000
++++ ./java/Makefile 2007-12-04 09:38:06.000000000 +1000
+@@ -1,15 +1,18 @@
+ .SUFFIXES: .class .java
+-FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \
+- libsvm/svm_parameter.class libsvm/svm_problem.class \
++FILES = libsvm/svm_node.class libsvm/svm_parameter.class \
++ libsvm/svm_model.class libsvm/svm_problem.class libsvm/svm.class\
+ svm_train.class svm_predict.class svm_toy.class
+
+-#JAVAC = jikes
+-#JAVAC_FLAGS = -target 1.1 -source 1.3
+-JAVAC = javac
+-JAVAC_FLAGS =
++JAVA_TARGETDIR=${INSTDIR}/share/libsvm/java
++JAVA_DOCDIR=${INSTDIR}/share/javadoc/libsvm-${LIBSVM_VER}
++JAVAC = ecj
++#JAVAC_FLAGS = -target 1.3 -source 1.3
++CLASSPATH = .
++#JAVAC_FLAGS = --classpath=${CLASSPATH}
++JAVAC_FLAGS = -classpath ${CLASSPATH}
+
+-all: $(FILES)
+- jar cvf libsvm.jar *.class libsvm/*.class
++all: $(FILES)
++ gjar cvf libsvm.jar *.class libsvm/*.class
+
+ .java.class:
+ $(JAVAC) $(JAVAC_FLAGS) $<
+@@ -17,8 +20,22 @@ all: $(FILES)
+ libsvm/svm.java: libsvm/svm.m4
+ m4 libsvm/svm.m4 > libsvm/svm.java
+
++javadoc:
++ javadoc -d docs *.java libsvm/*.java
++
++install:
++ mkdir -p ${JAVA_TARGETDIR}
++ install -m 644 libsvm.jar ${JAVA_TARGETDIR}
++ install -m 644 test_applet.html ${JAVA_TARGETDIR}
++ mkdir -p ${JAVA_DOCDIR}
++# cd docs; cp -R * ${JAVA_DOCDIR}
++uninstall:
++ rm -fr ${JAVA_TARGETDIR}
++ rm -fr ${JAVA_DOCDIR}
++
+ clean:
+ rm -f libsvm/*.class *.class *.jar libsvm/*~ *~ libsvm/svm.java
++ rm -rf docs
+
+ dist: clean all
+ rm *.class libsvm/*.class
+diff -up ./java/test_applet.html.orig ./java/test_applet.html
+--- ./java/test_applet.html.orig 2007-12-03 09:35:06.000000000 +1000
++++ ./java/test_applet.html 2007-12-03 10:00:40.000000000 +1000
+@@ -1 +1,3 @@
+-
++
++
++
+diff -up ./java/svm_train.java.orig ./java/svm_train.java
diff -up ./Makefile.orig ./Makefile
---- ./Makefile.orig 2007-09-25 10:07:29.000000000 +1000
-+++ ./Makefile 2007-09-26 17:07:55.000000000 +1000
+--- ./Makefile.orig 2007-12-03 09:33:37.000000000 +1000
++++ ./Makefile 2007-12-03 15:16:15.000000000 +1000
@@ -1,8 +1,39 @@
CXXC = g++
CFLAGS = -Wall -O3
@@ -35,14 +164,14 @@ diff -up ./Makefile.orig ./Makefile
+all: svm-train svm-predict svm-scale svm-python svm-java svm-lib
+
+svm-lib: svm-share.o
-+ $(CXXC) -shared -Wl,-soname,libsvm.so \
++ $(CXXC) -shared -Wl,-soname,libsvm.so.${LIBSVM_VER}\ \
+ -o libsvm.so.${LIBSVM_VER} svm-share.o -lm
+svm-share.o: svm.cpp svm.h
+ $(CXXC) -g -fPIC $(CFLAGS) -c svm.cpp -o svm-share.o
svm-predict: svm-predict.c svm.o
$(CXXC) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
svm-train: svm-train.c svm.o
-@@ -11,5 +42,57 @@ svm-scale: svm-scale.c
+@@ -11,5 +42,56 @@ svm-scale: svm-scale.c
$(CXXC) $(CFLAGS) svm-scale.c -o svm-scale
svm.o: svm.cpp svm.h
$(CXXC) $(CFLAGS) -c svm.cpp
@@ -57,9 +186,8 @@ diff -up ./Makefile.orig ./Makefile
+ install -m 755 svm-predict ${INSTDIR}/bin
+ install -m 755 svm-scale ${INSTDIR}/bin
+ mkdir -p ${LIB_INSTDIR}/libsvm
-+ install -m 644 libsvm.so.2.84 ${LIB_INSTDIR}/libsvm
++ install -m 755 libsvm.so.2.84 ${LIB_INSTDIR}/libsvm
+ cd ${LIB_INSTDIR}/libsvm; ln -s libsvm.so.${LIBSVM_VER} libsvm.so
-+ ldconfig -n ${LIB_INSTDIR}/libsvm
+# install package libsvm-devel
+ install -m 644 svm.o ${LIB_INSTDIR}/libsvm
+ mkdir -p ${INSTDIR}/include/libsvm
@@ -100,111 +228,9 @@ diff -up ./Makefile.orig ./Makefile
+ ${MAKE} -C python clean
+ ${MAKE} -C java clean
+
-diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
---- ./java/libsvm/svm_model.java.orig 2007-09-26 10:19:43.000000000 +1000
-+++ ./java/libsvm/svm_model.java 2007-09-26 10:27:36.000000000 +1000
-@@ -4,6 +4,7 @@
- package libsvm;
- public class svm_model implements java.io.Serializable
- {
-+ static final long serialVersionUID = 2709444323471798245L;
- svm_parameter param; // parameter
- int nr_class; // number of classes, = 2 in regression/one class svm
- int l; // total #SV
-diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
---- ./java/libsvm/svm_node.java.orig 2007-09-26 10:19:51.000000000 +1000
-+++ ./java/libsvm/svm_node.java 2007-09-26 10:27:25.000000000 +1000
-@@ -1,6 +1,7 @@
- package libsvm;
- public class svm_node implements java.io.Serializable
- {
-+ static final long serialVersionUID = 2709444323471798245L;
- public int index;
- public double value;
- }
-diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
---- ./java/libsvm/svm_problem.java.orig 2007-09-26 10:20:42.000000000 +1000
-+++ ./java/libsvm/svm_problem.java 2007-09-26 10:26:05.000000000 +1000
-@@ -1,6 +1,7 @@
- package libsvm;
- public class svm_problem implements java.io.Serializable
- {
-+ static final long serialVersionUID = -4451389443706847272L;
- public int l;
- public double[] y;
- public svm_node[][] x;
-diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
---- ./java/libsvm/svm_parameter.java.orig 2007-09-26 10:20:23.000000000 +1000
-+++ ./java/libsvm/svm_parameter.java 2007-09-26 10:25:14.000000000 +1000
-@@ -1,6 +1,7 @@
- package libsvm;
- public class svm_parameter implements Cloneable,java.io.Serializable
- {
-+ static final long serialVersionUID = 2709444323471798245L;
- /* svm_type */
- public static final int C_SVC = 0;
- public static final int NU_SVC = 1;
-diff -up ./java/libsvm/svm.m4.orig ./java/libsvm/svm.m4
-diff -up ./java/Makefile.orig ./java/Makefile
---- ./java/Makefile.orig 2007-09-25 11:10:21.000000000 +1000
-+++ ./java/Makefile 2007-09-26 12:42:50.000000000 +1000
-@@ -1,15 +1,17 @@
- .SUFFIXES: .class .java
--FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \
-- libsvm/svm_parameter.class libsvm/svm_problem.class \
-+FILES = libsvm/svm_node.class libsvm/svm_parameter.class \
-+ libsvm/svm_model.class libsvm/svm_problem.class libsvm/svm.class\
- svm_train.class svm_predict.class svm_toy.class
-
--#JAVAC = jikes
--#JAVAC_FLAGS = -target 1.1 -source 1.3
--JAVAC = javac
--JAVAC_FLAGS =
-+JAVA_TARGETDIR=${LIB_INSTDIR}/java/libsvm
-+JAVAC = ecj
-+#JAVAC_FLAGS = -target 1.3 -source 1.3
-+CLASSPATH = .
-+#JAVAC_FLAGS = --classpath=${CLASSPATH}
-+JAVAC_FLAGS = -classpath ${CLASSPATH}
-
- all: $(FILES)
-- jar cvf libsvm.jar *.class libsvm/*.class
-+ gjar cvf libsvm.jar *.class libsvm/*.class
-
- .java.class:
- $(JAVAC) $(JAVAC_FLAGS) $<
-@@ -17,8 +19,20 @@ all: $(FILES)
- libsvm/svm.java: libsvm/svm.m4
- m4 libsvm/svm.m4 > libsvm/svm.java
-
-+javadoc:
-+ javadoc -d docs *.java libsvm/*.java
-+
-+install:
-+ mkdir -p ${JAVA_TARGETDIR}
-+ install -m 644 libsvm.jar ${JAVA_TARGETDIR}
-+ install -m 644 test_applet.html ${JAVA_TARGETDIR}
-+# cp -R docs ${JAVA_TARGETDIR}
-+uninstall:
-+ rm -fr ${JAVA_TARGETDIR}
-+
- clean:
- rm -f libsvm/*.class *.class *.jar libsvm/*~ *~ libsvm/svm.java
-+ rm -rf docs
-
- dist: clean all
- rm *.class libsvm/*.class
-diff -up ./java/test_applet.html.orig ./java/test_applet.html
---- ./java/test_applet.html.orig 2007-09-25 11:08:29.000000000 +1000
-+++ ./java/test_applet.html 2007-09-25 11:42:29.000000000 +1000
-@@ -1 +1,3 @@
--
-+
-+
-+
diff -up ./python/Makefile.orig ./python/Makefile
---- ./python/Makefile.orig 2007-09-25 10:07:34.000000000 +1000
-+++ ./python/Makefile 2007-09-25 11:10:43.000000000 +1000
+--- ./python/Makefile.orig 2007-12-03 11:13:21.000000000 +1000
++++ ./python/Makefile 2007-12-03 11:14:48.000000000 +1000
@@ -2,7 +2,14 @@ CC = g++
SWIG ?= swig
@@ -241,3 +267,6 @@ diff -up ./python/Makefile.orig ./python/Makefile
+
+
+
+diff -up ./tools/easy.py.orig ./tools/easy.py
+diff -up ./tools/grid.py.orig ./tools/grid.py
+diff -up ./tools/subset.py.orig ./tools/subset.py
diff --git a/libsvm.spec b/libsvm.spec
index 322e89f..8f79940 100644
--- a/libsvm.spec
+++ b/libsvm.spec
@@ -1,6 +1,6 @@
Name: libsvm
Version: 2.84
-Release: 6%{?dist}
+Release: 7%{?dist}
Summary: A Library for Support Vector Machines
Group: Development/Libraries
@@ -10,12 +10,11 @@ Source0: %{name}-%{version}.tar.gz
#Source0: http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/%{name}+tar.gz
Source1: ChangeLog
#Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log
-Patch0: libsvm-2.84-6.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch0: libsvm-2.84-7.patch
+#BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: glibc-devel dos2unix
-Requires: glibc
-
%description
LIBSVM is an integrated software for support vector classification,
@@ -23,21 +22,20 @@ LIBSVM is an integrated software for support vector classification,
estimation (one-class SVM ). It supports multi-class classification.
%package devel
-Summary: Header file, object file, and source files of libsvm in C and Java.
+Summary: Header file, object file, and source files of libsvm in C, C++ and Java
Group: Development/Libraries
BuildRequires: glibc-devel
-Requires: glibc
Requires: %{name} = %{version}-%{release}
%description devel
-Header file, object file, and source files of libsvm in C and Java.
+Header file, object file of libsvm in C, C++ and Java.
Install this package if you want to develop programs with libsvm.
+
%package python
-Summary: Python tools and interfaces for libsvm.
+Summary: Python tools and interfaces for libsvm
Group: Development/Libraries
-BuildRequires: python >= 2.4 python-devel >= 2.4 gawk
-Requires: python >= 2.4
+BuildRequires: python-devel >= 2.4 gawk
Requires: %{name} = %{version}-%{release}
%description python
@@ -46,9 +44,9 @@ Install this package if you want to develop
programs with libsvm in Python.
%package java
-Summary: Java tools and interfaces for libsvm.
+Summary: Java tools and interfaces for libsvm
Group: Development/Libraries
-BuildRequires: eclipse-ecj >= 3, libgcj >= 4
+BuildRequires: eclipse-ecj >= 3
Requires: eclipse-ecj >= 3
Requires: %{name} = %{version}-%{release}
@@ -77,6 +75,7 @@ cp %{_builddir}/%{name}-%{version}/README %{_builddir}/%{name}-%{version}/java/R
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir}
+ldconfig -n %{_libdir}/libsvm
@@ -91,15 +90,14 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/svm-predict
%{_bindir}/svm-scale
%{_bindir}/svm-train
+%dir %{_datadir}/libsvm
%{_datadir}/libsvm/examples
-%{_libdir}/libsvm/libsvm.so
-%{_libdir}/libsvm/libsvm.so.2.84
+%{_libdir}/libsvm/
%files devel
%defattr(-,root,root,-)
%doc README
-%{_libdir}/libsvm
-%{_includedir}/libsvm
+%{_includedir}/libsvm/
%{_datadir}/libsvm/src
%files python
@@ -110,11 +108,14 @@ rm -rf $RPM_BUILD_ROOT
%files java
%defattr(-,root,root,-)
%doc java/README-Java
-#%{_libdir}/java/libsvm/docs
-%{_libdir}/java/libsvm/libsvm.jar
-%{_libdir}/java/libsvm/test_applet.html
+%{_datadir}/libsvm/java
+#%{_datadir}/javadoc/%{name}-%{version}
%changelog
+* Mon Dec 03 2007 Ding-Yi Chen - 2.84-7
+- [Bug 254091] Review Request: libsvm - A Library for Support Vector Machines (Comment #12)
+- Move javadoc to proper place
+
* Thu Sep 26 2007 Ding-Yi Chen - 2.84-6
- Add defattr to each subpackage
- Move libsvm.so to libsvm