rpms/libsvm/EL-5 libsvm-2.91.patch, NONE, 1.1 import.log, 1.3, 1.4 libsvm.spec, 1.3, 1.4 log, 1.2, 1.3 sources, 1.2, 1.3 libsvm-2.90.patch, 1.1, NONE
Ding-Yi Chen
dchen at fedoraproject.org
Wed Apr 7 05:30:40 UTC 2010
- Previous message: rpms/libsvm/F-11 libsvm-2.91.patch, NONE, 1.1 .cvsignore, 1.7, 1.8 import.log, 1.8, 1.9 libsvm.spec, 1.39, 1.40 log, 1.4, 1.5 sources, 1.7, 1.8 libsvm-2.90.patch, 1.1, NONE
- Next message: File glibmm-2.24.0.tar.bz2 uploaded to lookaside cache by denis
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: dchen
Update of /cvs/pkgs/rpms/libsvm/EL-5
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv16055/EL-5
Modified Files:
import.log libsvm.spec log sources
Added Files:
libsvm-2.91.patch
Removed Files:
libsvm-2.90.patch
Log Message:
Upstream update to 2.91
libsvm-2.91.patch:
Makefile | 97 ++++++++++++++++++++++++++++++++++++++++++++--
java/Makefile | 27 +++++++++++-
java/test_applet.html | 4 +
python/Makefile | 13 +++++-
python_old/Makefile | 17 +++++++-
svm-toy/gtk/Makefile | 22 ++++++----
svm-toy/gtk/callbacks.cpp | 1
svm-toy/qt/Makefile | 20 +++++----
tools/easy.py | 9 ++--
tools/grid.py | 11 ++---
10 files changed, 186 insertions(+), 35 deletions(-)
--- NEW FILE libsvm-2.91.patch ---
diff -up ./java/Makefile.orig ./java/Makefile
--- ./java/Makefile.orig 2009-02-18 10:41:04.000000000 +1000
+++ ./java/Makefile 2010-04-07 11:28:04.000000000 +1000
@@ -4,13 +4,21 @@ FILES = libsvm/svm.class libsvm/svm_mode
libsvm/svm_print_interface.class \
svm_train.class svm_predict.class svm_toy.class svm_scale.class
+JAVA_DOC_DIR=${INSTDIR}/share/javadoc/libsvm-${LIBSVM_VER}
+CLASSPATH = .
#JAVAC = jikes
-JAVAC_FLAGS = -target 1.5 -source 1.5
+JAVAC_FLAGS = -target 1.5 -source 1.5 -classpath ${CLASSPATH}
+ifndef JAVAC
JAVAC = javac
+endif
# JAVAC_FLAGS =
+ifndef JAR
+JAR=jar
+endif
+
all: $(FILES)
- jar cvf libsvm.jar *.class libsvm/*.class
+ ${JAR} cvf libsvm.jar *.class libsvm/*.class
.java.class:
$(JAVAC) $(JAVAC_FLAGS) $<
@@ -18,8 +26,23 @@ all: $(FILES)
libsvm/svm.java: libsvm/svm.m4
m4 libsvm/svm.m4 > libsvm/svm.java
+javadoc: docs/index.html
+
+docs/index.html: $(FILES)
+ javadoc -d docs *.java libsvm/*.java
+
+install:
+ mkdir -p ${JAVA_TARGET_DIR}
+ install -m 644 libsvm.jar ${JAVA_TARGET_DIR}
+# mkdir -p ${JAVA_DOC_DIR}
+# cd docs; cp -R * ${JAVA_DOC_DIR}
+uninstall:
+ rm -fr ${JAVA_TARGETDIR}
+# rm -fr ${JAVA_DOC_DIR}
+
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 2003-07-12 14:07:32.000000000 +1000
+++ ./java/test_applet.html 2010-04-07 11:28:04.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 ./Makefile.orig ./Makefile
--- ./Makefile.orig 2010-03-19 00:54:02.000000000 +1000
+++ ./Makefile 2010-04-07 11:28:04.000000000 +1000
@@ -1,11 +1,39 @@
CXX ?= g++
-CFLAGS = -Wall -Wconversion -O3 -fPIC
+CFLAGS = ${RPM_CFLAGS} -Wall -Wconversion -O3 -fPIC
SHVER = 1
+MAKE = make
+DOT_LIBS=.libs
+LIBS= -L${DOT_LIBS} -lsvm
+export LIBSVM_VER
+
+ifndef DESTDIR
+INSTDIR=/usr
+else
+INSTDIR=${DESTDIR}/usr
+endif
-all: svm-train svm-predict svm-scale
+export INSTDIR
+
+IS_64=$(shell /bin/uname -i | awk '/64/ {print 64}')
+
+ifndef LIBDIR
+LIB_INSTDIR=${INSTDIR}/lib${IS_64}
+else
+LIB_INSTDIR=${INSTDIR}/..${LIBDIR}
+endif
+
+ifndef LIBDIR
+LIBDIR=/usr/lib${IS_64}
+endif
+
+export LIBDIR
+export LIB_INSTDIR
+
+all: lib svm-train svm-predict svm-scale svm-python svm-java svm-toy-gtk svm-toy-qt
lib: svm.o
- $(CXX) -shared -dynamiclib svm.o -o libsvm.so.$(SHVER)
+ $(CXX) -shared -Wl,-soname,libsvm.so.$(SHVER) svm.o -o libsvm.so.$(SHVER)
+ ln -sf libsvm.so.$(SHVER) libsvm.so
svm-predict: svm-predict.c svm.o
$(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
@@ -16,4 +44,65 @@ svm-scale: svm-scale.c
svm.o: svm.cpp svm.h
$(CXX) $(CFLAGS) -c svm.cpp
clean:
- rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
+ rm -f *~ svm.o svm-train svm-predict svm-scale svm-toy/gtk/svm-toy-gtk svm-toy/qt/svm-toy-qt
+ ${MAKE} -C python clean
+ ${MAKE} -C java clean
+svm-python:
+ ${MAKE} -C python
+
+svm-java:
+ifneq ("${NO_JAVA}","NO_JAVA")
+ ${MAKE} -C java
+endif
+svm-toy-gtk:
+ ${MAKE} -C svm-toy/gtk
+
+svm-toy-qt:
+ ${MAKE} -C svm-toy/qt
+
+install: all
+ mkdir -p ${INSTDIR}/bin
+ install -m 755 svm-train ${INSTDIR}/bin
+ install -m 755 svm-predict ${INSTDIR}/bin
+ install -m 755 svm-scale ${INSTDIR}/bin
+ mkdir -p ${LIB_INSTDIR}
+ install -m 755 libsvm.so.$(SHVER) ${LIB_INSTDIR}
+# install package libsvm-devel
+ mkdir -p ${INSTDIR}/include/libsvm
+ install -m 644 svm.h ${INSTDIR}/include/libsvm
+ mkdir -p ${INSTDIR}/share/libsvm/src/java/libsvm
+ install -m 644 *.h ${INSTDIR}/share/libsvm/src
+ install -m 644 *.c ${INSTDIR}/share/libsvm/src
+ install -m 644 *.cpp ${INSTDIR}/share/libsvm/src
+ install -m 644 Makefile ${INSTDIR}/share/libsvm/src
+ifneq ("${NO_JAVA}","NO_JAVA")
+ install -m 644 java/*.java ${INSTDIR}/share/libsvm/src/java
+ install -m 644 java/Makefile ${INSTDIR}/share/libsvm/src/java
+ install -m 644 java/libsvm/*.java ${INSTDIR}/share/libsvm/src/java/libsvm
+ install -m 644 java/libsvm/*.m4 ${INSTDIR}/share/libsvm/src/java/libsvm
+# install package libsvm-java
+ ${MAKE} -C java install
+endif
+# install package libsvm-python
+ ${MAKE} -C python install
+# install package svm-toy
+ install -m 755 svm-toy/gtk/svm-toy-gtk ${INSTDIR}/bin
+ install -m 755 svm-toy/qt/svm-toy-qt ${INSTDIR}/bin
+# install examples
+ mkdir -p ${INSTDIR}/share/libsvm/examples
+ install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
+uninstall:
+ rm -f ${INSTDIR}/bin/svm-train
+ rm -f ${INSTDIR}/bin/svm-predict
+ rm -f ${INSTDIR}/bin/svm-scale
+ rm -fr ${INSTDIR}/libsvm/examples
+ rm -f ${INSTDIR}/include/libsvm/svm.h
+ rm -f ${LIB_INSTDIR}/libsvm/svm.o
+ rm -fr ${INSTDIR}/libsvm/src
+ rm -fr ${INSTDIR}/libsvm
+ ${MAKE} -C python uninstall
+ifneq ("${NO_JAVA}","NO_JAVA")
+ ${MAKE} -C java uninstall
+endif
+ rm -f ${INSTDIR}/bin/svm-toy-gtk
+ rm -f ${INSTDIR}/bin/svm-toy-qt
diff -up ./python/Makefile.orig ./python/Makefile
--- ./python/Makefile.orig 2010-03-19 01:57:28.000000000 +1000
+++ ./python/Makefile 2010-04-07 11:28:04.000000000 +1000
@@ -1,4 +1,15 @@
-all = lib
+PYTHON_PATH ?= python${PYTHON_VERSION}/site-packages/libsvm
+PYTHON_TARGETDIR=${LIB_INSTDIR}/${PYTHON_PATH}
+
+all: lib
lib: ../svm.cpp ../svm.h
cd ..; make lib; cd -
+
+install: all
+ mkdir -p ${PYTHON_TARGETDIR}
+ install -m 755 *.py ${PYTHON_TARGETDIR}
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
+
+uninstall:
+ rm -fr ${LIBDIR}/${PYTHON_PATH}
diff -up ./python_old/Makefile.orig ./python_old/Makefile
--- ./python_old/Makefile.orig 2009-09-16 23:37:45.000000000 +1000
+++ ./python_old/Makefile 2010-04-07 11:28:04.000000000 +1000
@@ -2,9 +2,11 @@ CXX ?= g++
SWIG ?= swig
#Windows: see ../README ../Makefile.win
-PYTHON_INCLUDEDIR ?= /usr/include/python2.5
+PYTHON_INCLUDEDIR ?= /usr/include/python${PYTHON_VERSION}
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
+
LDFLAGS = -shared
# Mac OS
# LDFLAGS = -framework Python -bundle
@@ -28,3 +30,16 @@ clean:
cleaner: 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 ./svm-toy/gtk/callbacks.cpp.orig ./svm-toy/gtk/callbacks.cpp
--- ./svm-toy/gtk/callbacks.cpp.orig 2006-03-04 17:40:12.000000000 +1000
+++ ./svm-toy/gtk/callbacks.cpp 2010-04-07 11:28:04.000000000 +1000
@@ -2,6 +2,7 @@
#include <stdio.h>
#include <ctype.h>
#include <list>
+#include <cstdlib>
#include "callbacks.h"
#include "interface.h"
#include "../../svm.h"
diff -up ./svm-toy/gtk/Makefile.orig ./svm-toy/gtk/Makefile
--- ./svm-toy/gtk/Makefile.orig 2007-10-14 16:29:12.000000000 +1000
+++ ./svm-toy/gtk/Makefile 2010-04-07 11:28:04.000000000 +1000
@@ -2,21 +2,27 @@ CC? = gcc
CXX? = g++
CFLAGS = -Wall -O3 -g `gtk-config --cflags`
LIBS = `gtk-config --libs`
+COPT = -Wall -O3 -g `pkg-config --cflags --libs gtk+-2.0`
+LOCAL_LIBDIR=../../
+LIBS= -L${LOCAL_LIBDIR} -lsvm
-svm-toy: main.o interface.o callbacks.o ../../svm.o
- $(CXX) $(CFLAGS) main.o interface.o callbacks.o ../../svm.o -o svm-toy $(LIBS)
+
+all: svm-toy-gtk
+
+svm-toy-gtk: main.o interface.o callbacks.o
+ $(CXX) $(COPT) main.o interface.o callbacks.o ${LIBS} -o svm-toy-gtk
main.o: main.c
- $(CC) $(CFLAGS) -c main.c
+ $(CC) $(COPT) -c main.c
interface.o: interface.c interface.h
- $(CC) $(CFLAGS) -c interface.c
+ $(CC) $(COPT) -c interface.c
callbacks.o: callbacks.cpp callbacks.h
- $(CXX) $(CFLAGS) -c callbacks.cpp
+ $(CXX) $(COPT) -c callbacks.cpp
-../../svm.o:
- cd ../..; make svm.o
+#../../svm.o:
+# cd ../..; make svm.o
clean:
- rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o ../../svm.o
+ rm -f *~ callbacks.o svm-toy-gtk main.o interface.o callbacks.o
diff -up ./svm-toy/qt/Makefile.orig ./svm-toy/qt/Makefile
--- ./svm-toy/qt/Makefile.orig 2008-12-19 16:42:05.000000000 +1000
+++ ./svm-toy/qt/Makefile 2010-04-07 11:28:04.000000000 +1000
@@ -1,17 +1,21 @@
CXX? = g++
-CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtGui -lQtGui
+CFLAGS = -Wall -O3
+FLAGS:=${CFLAGS} `pkg-config --cflags --libs QtGui`
+LOCAL_LIBDIR=../../
+LIBS= -L${LOCAL_LIBDIR} -lsvm
+
INCLUDE = /usr/include/qt4
-MOC = /usr/bin/moc-qt4
-svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o
- $(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy
+MOC=${MOC_PATH}
+
+all: svm-toy-qt
+
+svm-toy-qt: svm-toy.cpp svm-toy.moc
+ $(CXX) $(FLAGS) svm-toy.cpp ${LIBS} -o svm-toy-qt
svm-toy.moc: svm-toy.cpp
$(MOC) svm-toy.cpp -o svm-toy.moc
-../../svm.o:
- cd ../..; make svm.o
-
clean:
- rm -f *~ svm-toy svm-toy.moc ../../svm.o
+ rm -f *~ svm-toy-qt svm-toy.moc ../../svm.o
diff -up ./tools/easy.py.orig ./tools/easy.py
--- ./tools/easy.py.orig 2009-05-14 15:09:29.000000000 +1000
+++ ./tools/easy.py 2010-04-07 11:28:04.000000000 +1000
@@ -2,6 +2,7 @@
import sys
import os
+from distutils.sysconfig import get_python_lib
from subprocess import *
if len(sys.argv) <= 1:
@@ -12,10 +13,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 2009-11-20 22:29:46.000000000 +1000
+++ ./tools/grid.py 2010-04-07 14:14:21.000000000 +1000
@@ -17,7 +17,7 @@ else:
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
@@ -158,10 +158,10 @@ def redraw(db,best_param,tofile=False):
gnuplot.write(("set label \"C = %s gamma = %s\""
" at screen 0.5,0.8 center\n" % (2**best_log2c, 2**best_log2g)).encode())
gnuplot.write("splot \"-\" with lines\n".encode())
-
-
+
+
db.sort(key = lambda x:(x[0], -x[1]))
prevc = db[0][0]
@@ -222,9 +222,9 @@ class Worker(Thread):
if rate is None: raise "get no rate"
except:
# we failed, let others do that and we just quit
-
+
traceback.print_exception(sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2])
-
+
self.job_queue.put((cexp,gexp))
print('worker %s quit.' % self.name)
break
@@ -331,7 +331,6 @@ def main():
result_file = open(out_filename, 'w')
-
db = []
best_rate = -1
best_c1,best_g1 = None,None
Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/libsvm/EL-5/import.log,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- import.log 5 Nov 2009 06:58:56 -0000 1.3
+++ import.log 7 Apr 2010 05:30:40 -0000 1.4
@@ -1,3 +1,4 @@
libsvm-2_89-4_fc11:EL-5:libsvm-2.89-4.fc11.src.rpm:1253237689
libsvm-2_90-1_fc11:EL-5:libsvm-2.90-1.fc11.src.rpm:1257318817
libsvm-2_90-2_fc11:EL-5:libsvm-2.90-2.fc11.src.rpm:1257397446
+libsvm-2_91-1_el5:EL-5:libsvm-2.91-1.el5.src.rpm:1270618213
Index: libsvm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libsvm/EL-5/libsvm.spec,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- libsvm.spec 5 Nov 2009 06:58:56 -0000 1.3
+++ libsvm.spec 7 Apr 2010 05:30:40 -0000 1.4
@@ -1,12 +1,12 @@
Name: libsvm
-Version: 2.90
-Release: 2%{?dist}
+Version: 2.91
+Release: 1%{?dist}
Summary: A Library for Support Vector Machines
Group: Development/Libraries
License: BSD
URL: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
-Source0: %{name}-2.9.tar.gz
+Source0: %{name}-2.91.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: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log
Source2: http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf
@@ -109,7 +109,7 @@ svm-toy is a libsvm demostration program
display the derived separating hyperplane.
%prep
-%setup -q -n libsvm-2.9
+%setup -q
%patch0 -p0 -b .orig
cp %{SOURCE1} ChangeLog
cp %{SOURCE2} .
@@ -223,6 +223,14 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Wed Apr 07 2010 Ding-Yi Chen <dchen at redhat.com> - 2.91-1
+- Fixed Bug 564887 - FTBFS libsvm-2.90-3.fc13
+- Upstream update:
+ * completely new python interface using ctype
+ * new way to set the print_string function
+ * Java: able to load model from a BufferedReader directly
+ * fix grid.py so -log2c can be run under python 2.6 or after
+
* Thu Nov 05 2009 Ding-Yi Chen <dchen at redhat.com> - 2.90-2
- Obsoletes libsvm-java for ppc and ppc64.
Index: log
===================================================================
RCS file: /cvs/pkgs/rpms/libsvm/EL-5/log,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- log 4 Nov 2009 07:14:33 -0000 1.2
+++ log 7 Apr 2010 05:30:40 -0000 1.3
@@ -166,8 +166,22 @@ file updated.
easy.py: popel.communiate() to avoid some deadlock (if lots of
outputs when #classes is large)
-2.9: 2009/11/?
+2.9: 2009/11/1
tools/*.py can be run under python 3.0
svm_set_quiet() in python interface to disable outputs
check gamma < 0
- internal functions to be static
\ No newline at end of file
+ internal functions to be static
+
+2.91: 2010/04/01
+ completely new python interface using ctype
+ new way to set the print_string function
+ Java: able to load model from a BufferedReader directly
+ fix grid.py so -log2c can be run under python 2.6 or after
+
+------------------
+
+Future plan:
+?.?:
+ old python interface is removed
+
+ update make.m of matlab interface to use max(...)
\ No newline at end of file
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/libsvm/EL-5/sources,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- sources 4 Nov 2009 07:14:33 -0000 1.2
+++ sources 7 Apr 2010 05:30:40 -0000 1.3
@@ -1,2 +1,2 @@
aae7a8f7e357e86e1c893b706bb02a63 guide.pdf
-c48109c825d8326d71c8c8564589736d libsvm-2.9.tar.gz
+aec07b9142ce585c95854ed379538154 libsvm-2.91.tar.gz
--- libsvm-2.90.patch DELETED ---
- Previous message: rpms/libsvm/F-11 libsvm-2.91.patch, NONE, 1.1 .cvsignore, 1.7, 1.8 import.log, 1.8, 1.9 libsvm.spec, 1.39, 1.40 log, 1.4, 1.5 sources, 1.7, 1.8 libsvm-2.90.patch, 1.1, NONE
- Next message: File glibmm-2.24.0.tar.bz2 uploaded to lookaside cache by denis
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list