diff --git a/.gitignore b/.gitignore index 2068ba3..4373f69 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ libsvm-2.91.tar.gz /guide.pdf /libsvm-3.0.tar.gz /libsvm-3.1.tar.gz +/libsvm-3.11.tar.gz diff --git a/libsvm-2.91.patch b/libsvm-2.91.patch deleted file mode 100644 index 9867ae9..0000000 --- a/libsvm-2.91.patch +++ /dev/null @@ -1,379 +0,0 @@ -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 @@ -- -+ -+ -+ -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 - #include - #include -+#include - #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 diff --git a/libsvm-3.1.javaDir.patch b/libsvm-3.11.javaDir.patch similarity index 100% rename from libsvm-3.1.javaDir.patch rename to libsvm-3.11.javaDir.patch diff --git a/libsvm-3.1.packageMain.patch b/libsvm-3.11.packageMain.patch similarity index 93% rename from libsvm-3.1.packageMain.patch rename to libsvm-3.11.packageMain.patch index 87209e9..5fbadbe 100644 --- a/libsvm-3.1.packageMain.patch +++ b/libsvm-3.11.packageMain.patch @@ -1,6 +1,6 @@ diff -up ./Makefile.packageMain ./Makefile ---- ./Makefile.packageMain 2010-09-12 22:11:10.000000000 +1000 -+++ ./Makefile 2011-06-14 17:00:32.774749405 +1000 +--- ./Makefile.packageMain 2011-06-26 05:55:06.000000000 +1000 ++++ ./Makefile 2011-11-08 09:42:13.106501233 +1000 @@ -1,11 +1,44 @@ CXX ?= g++ -CFLAGS = -Wall -Wconversion -O3 -fPIC @@ -10,7 +10,8 @@ diff -up ./Makefile.packageMain ./Makefile +DOT_LIBS=.libs +LIBS= -L${DOT_LIBS} -lsvm +export LIBSVM_VER -+ + +-all: svm-train svm-predict svm-scale +IS_64:=$(shell /bin/uname -i | awk '/64/ {print 64}') + +PREFIXDIR?= /usr @@ -40,12 +41,10 @@ diff -up ./Makefile.packageMain ./Makefile + +all: lib svm-train svm-predict svm-scale svm-python svm-java svm-toy-gtk svm-toy-qt --all: svm-train svm-predict svm-scale - 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) + $(CXX) -shared -dynamiclib -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 diff --git a/libsvm-3.1.pythonDir.patch b/libsvm-3.11.pythonDir.patch similarity index 78% rename from libsvm-3.1.pythonDir.patch rename to libsvm-3.11.pythonDir.patch index 8d8d7ec..ff0991d 100644 --- a/libsvm-3.1.pythonDir.patch +++ b/libsvm-3.11.pythonDir.patch @@ -1,18 +1,19 @@ diff -up ./python/Makefile.pythonDir ./python/Makefile ---- ./python/Makefile.pythonDir 2010-06-16 14:04:46.000000000 +1000 -+++ ./python/Makefile 2011-06-14 16:53:39.365997401 +1000 -@@ -1,4 +1,19 @@ --all = lib +--- ./python/Makefile.pythonDir 2011-05-10 09:35:15.000000000 +1000 ++++ ./python/Makefile 2011-11-08 09:49:54.280501207 +1000 +@@ -1,4 +1,20 @@ +PYTHONDIR_NAME ?= python${PYTHON_VERSION}/site-packages/libsvm +PYTHONDIR?=${LIBDIR}/${PYTHONDIR_NAME} +PYTHONDIR_INSTALL=${DESTDIR}/${PYTHONDIR} +SVM_TOOLS:= $(notdir $(wildcard ../tools/*.py)) ++ + all = lib -lib: +all: lib + +lib: ../svm.cpp ../svm.h - cd ..; make lib; cd - + make -C .. lib + +install: all + mkdir -p ${PYTHONDIR_INSTALL} @@ -22,4 +23,3 @@ diff -up ./python/Makefile.pythonDir ./python/Makefile + +uninstall: + rm -fr ${LIBDIR}/${PYTHON_PATH} $(addprefix ${BINDIR_INSTALL}/svm-,$(SVM_TOOLS)) -+ diff --git a/libsvm-3.1.svm-toy.patch b/libsvm-3.11.svm-toy.patch similarity index 50% rename from libsvm-3.1.svm-toy.patch rename to libsvm-3.11.svm-toy.patch index baad72a..e8d4e69 100644 --- a/libsvm-3.1.svm-toy.patch +++ b/libsvm-3.11.svm-toy.patch @@ -1,6 +1,6 @@ diff -up ./svm-toy/gtk/callbacks.cpp.svm-toy ./svm-toy/gtk/callbacks.cpp --- ./svm-toy/gtk/callbacks.cpp.svm-toy 2010-09-12 22:11:10.000000000 +1000 -+++ ./svm-toy/gtk/callbacks.cpp 2011-06-14 13:36:25.726748304 +1000 ++++ ./svm-toy/gtk/callbacks.cpp 2011-11-08 09:57:01.782500360 +1000 @@ -3,6 +3,7 @@ #include #include @@ -10,61 +10,66 @@ diff -up ./svm-toy/gtk/callbacks.cpp.svm-toy ./svm-toy/gtk/callbacks.cpp #include "interface.h" #include "../../svm.h" diff -up ./svm-toy/gtk/Makefile.svm-toy ./svm-toy/gtk/Makefile ---- ./svm-toy/gtk/Makefile.svm-toy 2010-11-14 10:59:28.000000000 +1000 -+++ ./svm-toy/gtk/Makefile 2011-06-14 13:47:23.529749429 +1000 +--- ./svm-toy/gtk/Makefile.svm-toy 2011-05-11 12:15:45.000000000 +1000 ++++ ./svm-toy/gtk/Makefile 2011-11-08 10:06:35.686501266 +1000 @@ -1,10 +1,12 @@ CC? = gcc CXX? = g++ - CFLAGS = -Wall -O3 -g `pkg-config --cflags gtk+-2.0` +-CFLAGS = -Wall -O3 -g `pkg-config --cflags gtk+-2.0` -LIBS = `pkg-config --libs gtk+-2.0` -+LOCAL_LIBDIR=../../ -+LIBS = `pkg-config --libs gtk+-2.0` -L${LOCAL_LIBDIR} -lsvm ++CFLAGS = -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) + -+svm-toy-gtk: main.o interface.o callbacks.o ++svm-toy-gtk: main.o interface.o callbacks.o ${LOCAL_LIBDIR}/svm.o + $(CXX) $(CFLAGS) main.o interface.o callbacks.o $(LIBS) -o $@ main.o: main.c $(CC) $(CFLAGS) -c main.c -@@ -15,8 +17,5 @@ interface.o: interface.c interface.h +@@ -15,8 +17,8 @@ interface.o: interface.c interface.h callbacks.o: callbacks.cpp callbacks.h $(CXX) $(CFLAGS) -c callbacks.cpp --../../svm.o: -- cd ../..; make svm.o -- +-../../svm.o: ../../svm.cpp ../../svm.h +- make -C ../.. svm.o ++${LOCAL_LIBDIR}/svm.o: ${LOCAL_LIBDIR}/svm.cpp ${LOCAL_LIBDIR}/svm.h ++ make -C ${LOCAL_LIBDIR} svm.o + clean: - rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o ../../svm.o -+ rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o ++ rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o ${LOCAL_LIBDIR}/svm.o diff -up ./svm-toy/qt/Makefile.svm-toy ./svm-toy/qt/Makefile ---- ./svm-toy/qt/Makefile.svm-toy 2008-12-19 16:42:05.000000000 +1000 -+++ ./svm-toy/qt/Makefile 2011-06-14 13:50:02.634748539 +1000 -@@ -1,17 +1,18 @@ +--- ./svm-toy/qt/Makefile.svm-toy 2011-05-11 12:15:45.000000000 +1000 ++++ ./svm-toy/qt/Makefile 2011-11-08 10:06:11.702501216 +1000 +@@ -1,17 +1,20 @@ CXX? = g++ -CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtGui -lQtGui -+CFLAGS = -Wall -O3 -I$(INCLUDE) `pkg-config --cflags --libs QtGui` - INCLUDE = /usr/include/qt4 +-INCLUDE = /usr/include/qt4 -MOC = /usr/bin/moc-qt4 ++CFLAGS = -Wall -O3 `pkg-config --cflags --libs QtGui` +MOC=${MOC_PATH} -+LOCAL_LIBDIR=../../ -+LIBS = `pkg-config --libs QtGui` -L${LOCAL_LIBDIR} -lsvm ++LOCAL_LIBDIR=../.. ++LIBS = -L${LOCAL_LIBDIR} -lsvm -svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o - $(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy +all: svm-toy-qt + -+svm-toy-qt: svm-toy.cpp svm-toy.moc ++svm-toy-qt: svm-toy.cpp svm-toy.moc ${LOCAL_LIBDIR}/svm.o + $(CXX) $(CFLAGS) svm-toy.cpp ${LIBS} -o $@ svm-toy.moc: svm-toy.cpp $(MOC) svm-toy.cpp -o svm-toy.moc --../../svm.o: -- cd ../..; make svm.o -- +-../../svm.o: ../../svm.cpp ../../svm.h +- make -C ../.. svm.o ++${LOCAL_LIBDIR}/svm.o: ${LOCAL_LIBDIR}/svm.cpp ${LOCAL_LIBDIR}/svm.h ++ make -C ${LOCAL_LIBDIR} svm.o + clean: - rm -f *~ svm-toy svm-toy.moc ../../svm.o -+ rm -f *~ svm-toy svm-toy.moc ++ rm -f *~ svm-toy svm-toy.moc ${LOCAL_LIBDIR}/svm.o diff --git a/libsvm-3.1.toolsDir.patch b/libsvm-3.11.toolsDir.patch similarity index 100% rename from libsvm-3.1.toolsDir.patch rename to libsvm-3.11.toolsDir.patch diff --git a/libsvm.spec b/libsvm.spec index efaa12d..9fffb40 100644 --- a/libsvm.spec +++ b/libsvm.spec @@ -1,7 +1,7 @@ %define shver 2 Name: libsvm -Version: 3.1 -Release: 2%{?dist} +Version: 3.11 +Release: 1%{?dist} Summary: A Library for Support Vector Machines Group: Development/Libraries @@ -239,6 +239,14 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Jun 17 2011 Ding-Yi Chen - 3.11-1 +- Upstream update: + + Set max number of iterations in the main loop of solvers + + matlab: + new make.m for unix/mac/windows and for matlab/octave + + matlab and python: + fix a problem that decision values returned by svmpredict is empty if number of classes = 1 + * Fri Jun 17 2011 Ding-Yi Chen - 3.1-2 - Fix the build error on EL-5 diff --git a/log b/log index ede03f3..dac608b 100644 --- a/log +++ b/log @@ -193,7 +193,7 @@ file updated. Java: Math.random is replaced by Random in java interface Python interface: - subroutines to get SVs +i subroutines to get SVs relative path to load *.dll and *.so svm.cpp: null pointer check before release memory in svm_free_model_content() @@ -206,9 +206,10 @@ file updated. Using new string formatting/encoding in tools/*.py clearer png output, fix grid.py legend ------------------- - -Future plan: -?.?: - - update make.m of matlab interface to use max(...) \ No newline at end of file +3.11: 2011/11/5 + Set max number of iterations in the main loop of solvers + matlab: + new make.m for unix/mac/windows and for matlab/octave + matlab and python: + fix a problem that decision values returned by svmpredict is empty if number of classes = 1 + \ No newline at end of file diff --git a/sources b/sources index 045b743..3a815ba 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ aae7a8f7e357e86e1c893b706bb02a63 guide.pdf -a157c1edfdb290fe8081d6a011022055 libsvm-3.1.tar.gz +44d2a3a611280ecd0d66aafe0d52233e libsvm-3.11.tar.gz