Bug 254091: Comment 19

epel8
Ding-Yi Chen 17 years ago
parent eeaa2da16d
commit 278c449214

@ -1,6 +1,26 @@
diff -up ./java/test_applet.html.orig ./java/test_applet.html
--- ./java/test_applet.html.orig 2008-01-02 09:37:14.000000000 +1000
+++ ./java/test_applet.html 2008-01-02 09:43:19.000000000 +1000
@@ -1 +1,3 @@
-<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET>
+<html>
+<applet code="svm_toy.class" archive="libsvm.jar" width=300 height=350></applet>
+</html>
diff -up ./java/svm_train.java.orig ./java/svm_train.java
diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
--- ./java/libsvm/svm_parameter.java.orig 2006-03-04 01:44:14.000000000 +1000
+++ ./java/libsvm/svm_parameter.java 2008-01-02 09:43:19.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_problem.java.orig ./java/libsvm/svm_problem.java diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
--- ./java/libsvm/svm_problem.java.orig 2007-12-12 14:22:51.000000000 +1000 --- ./java/libsvm/svm_problem.java.orig 2003-10-11 22:30:47.000000000 +1000
+++ ./java/libsvm/svm_problem.java 2007-12-13 10:05:16.000000000 +1000 +++ ./java/libsvm/svm_problem.java 2008-01-02 09:43:19.000000000 +1000
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
package libsvm; package libsvm;
public class svm_problem implements java.io.Serializable public class svm_problem implements java.io.Serializable
@ -10,8 +30,8 @@ diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
public double[] y; public double[] y;
public svm_node[][] x; public svm_node[][] x;
diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
--- ./java/libsvm/svm_node.java.orig 2007-12-12 14:23:11.000000000 +1000 --- ./java/libsvm/svm_node.java.orig 2003-10-11 22:30:47.000000000 +1000
+++ ./java/libsvm/svm_node.java 2007-12-13 10:05:16.000000000 +1000 +++ ./java/libsvm/svm_node.java 2008-01-02 09:43:19.000000000 +1000
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
package libsvm; package libsvm;
public class svm_node implements java.io.Serializable public class svm_node implements java.io.Serializable
@ -20,20 +40,9 @@ diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
public int index; public int index;
public double value; public double value;
} }
diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
--- ./java/libsvm/svm_parameter.java.orig 2007-12-12 14:25:43.000000000 +1000
+++ ./java/libsvm/svm_parameter.java 2007-12-13 10:05:16.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 diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
--- ./java/libsvm/svm_model.java.orig 2007-12-12 14:27:38.000000000 +1000 --- ./java/libsvm/svm_model.java.orig 2007-01-13 08:23:39.000000000 +1000
+++ ./java/libsvm/svm_model.java 2007-12-13 10:05:16.000000000 +1000 +++ ./java/libsvm/svm_model.java 2008-01-02 09:43:19.000000000 +1000
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
package libsvm; package libsvm;
public class svm_model implements java.io.Serializable public class svm_model implements java.io.Serializable
@ -42,30 +51,10 @@ diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
svm_parameter param; // parameter svm_parameter param; // parameter
int nr_class; // number of classes, = 2 in regression/one class svm int nr_class; // number of classes, = 2 in regression/one class svm
int l; // total #SV int l; // total #SV
diff -up ./java/svm_toy.java.orig ./java/svm_toy.java diff -up ./java/libsvm/svm.java.orig ./java/libsvm/svm.java
--- ./java/svm_toy.java.orig 2007-12-12 14:28:14.000000000 +1000
+++ ./java/svm_toy.java 2007-12-13 10:05:16.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 diff -up ./java/Makefile.orig ./java/Makefile
--- ./java/Makefile.orig 2007-12-12 15:03:30.000000000 +1000 --- ./java/Makefile.orig 2008-01-02 09:32:55.000000000 +1000
+++ ./java/Makefile 2007-12-13 10:05:16.000000000 +1000 +++ ./java/Makefile 2008-01-02 09:43:19.000000000 +1000
@@ -1,15 +1,18 @@ @@ -1,15 +1,18 @@
.SUFFIXES: .class .java .SUFFIXES: .class .java
-FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \ -FILES = libsvm/svm.class libsvm/svm_model.class libsvm/svm_node.class \
@ -116,18 +105,141 @@ diff -up ./java/Makefile.orig ./java/Makefile
dist: clean all dist: clean all
rm *.class libsvm/*.class rm *.class libsvm/*.class
diff -up ./java/test_applet.html.orig ./java/test_applet.html diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
--- ./java/test_applet.html.orig 2007-12-12 14:49:48.000000000 +1000 --- ./java/svm_toy.java.orig 2006-03-04 17:40:11.000000000 +1000
+++ ./java/test_applet.html 2007-12-13 10:05:16.000000000 +1000 +++ ./java/svm_toy.java 2008-01-02 09:43:19.000000000 +1000
@@ -1 +1,3 @@ @@ -6,7 +6,7 @@ import java.awt.event.*;
-<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET> import java.io.*;
+<html>
+<applet code="svm_toy.class" archive="libsvm.jar" width=300 height=350></applet> public class svm_toy extends Applet {
+</html> -
diff -up ./java/svm_train.java.orig ./java/svm_train.java + 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 ./python/cross_validation.py.orig ./python/cross_validation.py
diff -up ./python/svm_test.py.orig ./python/svm_test.py
diff -up ./python/Makefile.orig ./python/Makefile
--- ./python/Makefile.orig 2008-01-02 09:38:18.000000000 +1000
+++ ./python/Makefile 2008-01-02 11:26:08.000000000 +1000
@@ -2,9 +2,16 @@ CC = g++
SWIG ?= swig
#Windows: see ../README ../Makefile.win
-PYTHON_INCLUDEDIR ?= /usr/include/python2.4
+#PYTHON_TEMP:=${shell mktemp}
+#PYTHON_VERSION:=${shell python -V 2> ${PYTHON_TEMP} ; cat ${PYTHON_TEMP} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$$2,$$3)}'; rm -f ${PYTHON_TEMP}}
+ifndef PYTHON_INCLUDEDIR
-CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
+PYTHON_INCLUDEDIR?= /usr/include/python${PYTHON_VERSION}
+
+endif
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
+
+CFLAGS_PYTHON = ${CFLAGS} -O3 -I$(PYTHON_INCLUDEDIR) -I..
LDFLAGS = -shared
# Mac OS
# LDFLAGS = -framework Python -bundle
@@ -15,16 +22,35 @@ svmc.so: svmc_wrap.o svm.o
$(CC) $(LDFLAGS) -o svmc.so svmc_wrap.o svm.o
svmc_wrap.o: svmc_wrap.c ../svm.h
- $(CC) $(CFLAGS) -fPIC -c svmc_wrap.c
+ echo "PYTHON_VERSION=${PYTHON_VERSION}"
+ echo "CFLAGS=${CFLAGS}"
+ echo "CFLAGS_PYTHON=${CFLAGS_PYTHON}"
+ $(CC) $(CFLAGS_PYTHON) -fPIC -c svmc_wrap.c
svmc_wrap.c: svmc.i
$(SWIG) -python -noproxy svmc.i
svm.o: ../svm.cpp ../svm.h
- $(CC) $(CFLAGS) -fPIC -c ../svm.cpp
+ $(CC) $(CFLAGS_PYTHON) -fPIC -c ../svm.cpp
clean:
rm -f *~ *.o *.so *.pyc *.pyo svm.o
moreclean: clean
rm -f svmc_wrap.c
+
+install: all
+ mkdir -p ${PYTHON_TARGETDIR}
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
+ install -m 644 svm.py ${PYTHON_TARGETDIR}
+ install -m 755 svm_test.py ${PYTHON_TARGETDIR}
+ install -m 755 test_cross_validation.py ${PYTHON_TARGETDIR}
+ install -m 644 *.i ${PYTHON_TARGETDIR}
+ install -m 755 *.so ${PYTHON_TARGETDIR}
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
+
+uninstall:
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
+
+
+
diff -up ./python/test_cross_validation.py.orig ./python/test_cross_validation.py
diff -up ./python/svm.py.orig ./python/svm.py
diff -up ./tools/subset.py.orig ./tools/subset.py
diff -up ./tools/easy.py.orig ./tools/easy.py
--- ./tools/easy.py.orig 2004-06-26 23:42:52.000000000 +1000
+++ ./tools/easy.py 2008-01-03 11:31:31.000000000 +1000
@@ -2,6 +2,7 @@
import sys
import os
+from distutils.sysconfig import get_python_lib
if len(sys.argv) <= 1:
print 'Usage: %s training_file [testing_file]' % sys.argv[0]
@@ -11,10 +12,10 @@ if len(sys.argv) <= 1:
is_win32 = (sys.platform == 'win32')
if not is_win32:
- svmscale_exe = "../svm-scale"
- svmtrain_exe = "../svm-train"
- svmpredict_exe = "../svm-predict"
- grid_py = "./grid.py"
+ svmscale_exe = "/usr/bin/svm-scale"
+ svmtrain_exe = "/usr/bin/svm-train"
+ svmpredict_exe = "/usr/bin/svm-predict"
+ grid_py = get_python_lib(1)+"/libsvm/grid.py"
gnuplot_exe = "/usr/bin/gnuplot"
else:
# example for windows
diff -up ./tools/grid.py.orig ./tools/grid.py
--- ./tools/grid.py.orig 2006-11-30 03:24:59.000000000 +1000
+++ ./tools/grid.py 2008-01-03 13:03:06.000000000 +1000
@@ -11,7 +11,7 @@ from string import find, split, join, at
is_win32 = (sys.platform == 'win32')
if not is_win32:
- svmtrain_exe = "../svm-train"
+ svmtrain_exe = "/usr/bin/svm-train"
gnuplot_exe = "/usr/bin/gnuplot"
else:
# example for windows
@@ -88,6 +88,7 @@ Usage: grid.py [-log2c begin,end,step] [
i = i + 1
pass_through_string = join(pass_through_options," ")
+ print 'dataset_pathname=%s' % dataset_pathname
assert os.path.exists(svmtrain_exe),"svm-train executable not found"
assert os.path.exists(gnuplot_exe),"gnuplot executable not found"
assert os.path.exists(dataset_pathname),"dataset not found"
diff -up ./Makefile.orig ./Makefile diff -up ./Makefile.orig ./Makefile
--- ./Makefile.orig 2007-12-12 15:52:58.000000000 +1000 --- ./Makefile.orig 2008-01-02 09:36:22.000000000 +1000
+++ ./Makefile 2007-12-14 10:55:02.000000000 +1000 +++ ./Makefile 2008-01-02 09:43:19.000000000 +1000
@@ -1,8 +1,41 @@ @@ -1,8 +1,41 @@
CXXC = g++ CXXC = g++
CFLAGS = -Wall -O3 CFLAGS = -Wall -O3
@ -233,44 +345,4 @@ diff -up ./Makefile.orig ./Makefile
+ ${MAKE} -C python clean + ${MAKE} -C python clean
+ ${MAKE} -C java clean + ${MAKE} -C java clean
+ +
diff -up ./python/Makefile.orig ./python/Makefile diff -up ./svm-toy/gtk/Makefile.orig ./svm-toy/gtk/Makefile
--- ./python/Makefile.orig 2007-12-13 09:33:32.000000000 +1000
+++ ./python/Makefile 2007-12-13 10:05:16.000000000 +1000
@@ -2,7 +2,14 @@ CC = g++
SWIG ?= swig
#Windows: see ../README ../Makefile.win
-PYTHON_INCLUDEDIR ?= /usr/include/python2.4
+PYTHON_TEMP:=${shell mktemp}
+PYTHON_VERSION:=${shell python -V 2> ${PYTHON_TEMP} ; cat ${PYTHON_TEMP} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$$2,$$3)}'; rm -f ${PYTHON_TEMP}}
+ifndef PYTHON_INCLUDEDIR
+
+PYTHON_INCLUDEDIR?= /usr/include/python${PYTHON_VERSION}
+
+endif
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
LDFLAGS = -shared
@@ -28,3 +35,19 @@ clean:
moreclean: clean
rm -f svmc_wrap.c
+
+install: all
+ mkdir -p ${PYTHON_TARGETDIR}
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
+ install -m 644 svm.py ${PYTHON_TARGETDIR}
+ install -m 755 svm_test.py ${PYTHON_TARGETDIR}
+ install -m 755 test_cross_validation.py ${PYTHON_TARGETDIR}
+ install -m 644 *.i ${PYTHON_TARGETDIR}
+ install -m 755 *.so ${PYTHON_TARGETDIR}
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
+
+uninstall:
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
+
+
+
diff -up ./tools/easy.py.orig ./tools/easy.py
diff -up ./tools/grid.py.orig ./tools/grid.py

@ -1,6 +1,6 @@
Name: libsvm Name: libsvm
Version: 2.84 Version: 2.84
Release: 8%{?dist} Release: 9%{?dist}
Summary: A Library for Support Vector Machines Summary: A Library for Support Vector Machines
Group: Development/Libraries Group: Development/Libraries
@ -10,14 +10,14 @@ 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 #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: ChangeLog
#Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log #Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log
Patch0: libsvm-2.84-8.patch Patch0: %{name}-%{version}.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: glibc-devel #BuildRequires: glibc-devel
%define libsvm_ver_major 2 %define libsvm_ver_major 2
%define temp_file /tmp/python.ver %{!?pyver: %define pyver %(python -c 'import sys; print(sys.version[0:3])')}%{!?pyver: %define pyver %(python -c 'import sys; print(sys.version[0:3])')}
%define python_version %(python -V 2> %{temp_file} ; cat %{temp_file} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$2,$3)}'; rm -f %{temp_file}) %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
%define libsvm_python_dir %{_libdir}/python%{python_version}/site-packages/libsvm %define libsvm_python_dir %{python_sitearch}/libsvm
%description %description
@ -67,7 +67,7 @@ programs with libsvm in Java.
%build %build
make all DESTDIR=%{_builddir} LIBDIR=%{_libdir} make all CFLAGS="$RPM_OPT_FLAGS" PYTHON_VERSION="%{pyver}"
%{__sed} -i 's/\r//' FAQ.html %{__sed} -i 's/\r//' FAQ.html
mv python/README python/README-Python mv python/README python/README-Python
mv tools/README tools/README-Tools mv tools/README tools/README-Tools
@ -76,18 +76,13 @@ cp README java/README-Java
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} PYTHON_VERSION="%{pyver}"
#This is required for rpmbuild rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/src
#/sbin/ldconfig -n %{_libdir}
%post
/sbin/ldconfig -n %{_libdir}
%post -p /sbin/ldconfig
%postun %postun -p /sbin/ldconfig
if [ "$1" = "0" ]; then
/sbin/ldconfig
fi
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
@ -101,8 +96,6 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/svm-train %{_bindir}/svm-train
%dir %{_datadir}/%{name} %dir %{_datadir}/%{name}
%{_datadir}/%{name}/examples %{_datadir}/%{name}/examples
#%dir %{_libdir}/%{name}
#%{_libdir}/%{name}/%{name}.so.%{version}
%{_libdir}/%{name}.so.%{version} %{_libdir}/%{name}.so.%{version}
%{_libdir}/%{name}.so.%{libsvm_ver_major} %{_libdir}/%{name}.so.%{libsvm_ver_major}
@ -111,9 +104,6 @@ rm -rf $RPM_BUILD_ROOT
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc README %doc README
%{_includedir}/%{name}/ %{_includedir}/%{name}/
#including source for developeer
%{_datadir}/%{name}/src
#%{_libdir}/%{name}/%{name}.so
%{_libdir}/%{name}.so %{_libdir}/%{name}.so
%files python %files python
@ -128,6 +118,10 @@ rm -rf $RPM_BUILD_ROOT
#%{_datadir}/javadoc/%{name}-%{version} #%{_datadir}/javadoc/%{name}-%{version}
%changelog %changelog
* Wed Dec 20 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-9
- [Bug 254091] Comment 19
- Fix python/Makefile
* Thu Dec 13 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-8 * Thu Dec 13 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-8
- Fix improper sed. - Fix improper sed.
- Change ldconfig to /sbin/ldconfig - Change ldconfig to /sbin/ldconfig

Loading…
Cancel
Save