rpms/libsvm/F-7 libsvm-2.84-7.patch, NONE, 1.1 libsvm.spec, 1.4, 1.5 libsvm-2.84-6.patch, 1.1, NONE

Ding-Yi Chen (dchen) fedora-extras-commits at redhat.com
Tue Dec 4 01:36:49 UTC 2007


Author: dchen

Update of /cvs/pkgs/rpms/libsvm/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6937/F-7

Modified Files:
	libsvm.spec 
Added Files:
	libsvm-2.84-7.patch 
Removed Files:
	libsvm-2.84-6.patch 
Log Message:
* Mon Dec 03 2007 Ding-Yi Chen <dchen at redhat.com> - 2.84-7
- [Bug 254091] Review Request: libsvm - A Library for Support Vector Machines (Comment #12) 


libsvm-2.84-7.patch:

--- NEW FILE libsvm-2.84-7.patch ---
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:45:52.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 @@
-<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 ./Makefile.orig ./Makefile
--- ./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 
+MAKE = make
+LIBSVM_VER =2.84
+export LIBSVM_VER 
 
-all: svm-train svm-predict svm-scale
+ifndef DESTDIR
+INSTDIR=/usr
+else
+INSTDIR=${DESTDIR}/usr
+endif
 
+export INSTDIR
+
+PROCESSOR=$(shell /bin/uname -p)
+ifeq "${PROCESSOR}" "x86_64"
+X86_64=64
+else
+X86_64=
+endif
+
+ifndef LIBDIR
+LIB_INSTDIR=${INSTDIR}/lib${X86_64}
+else
+LIB_INSTDIR=${INSTDIR}/..${LIBDIR}
+endif
+
+export LIB_INSTDIR
+
+all: svm-train svm-predict svm-scale svm-python svm-java svm-lib
+
+svm-lib: svm-share.o
+	$(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,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
+svm-python:
+	${MAKE} -C python
+svm-java:
+	${MAKE} -C java
+
+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}/libsvm
+	install -m 755 libsvm.so.2.84 ${LIB_INSTDIR}/libsvm
+	cd ${LIB_INSTDIR}/libsvm; ln -s libsvm.so.${LIBSVM_VER} libsvm.so
+# install package libsvm-devel
+	install -m 644 svm.o ${LIB_INSTDIR}/libsvm
+	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
+	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
+#	cp -R java ${INSTDIR}/share/libsvm/src
+#	cp -R svm-toy ${INSTDIR}/share/libsvm/src
+#	cp -R tools ${INSTDIR}/share/libsvm/src
+#	cp -R windows ${INSTDIR}/share/libsvm/src
+	mkdir -p ${INSTDIR}/share/libsvm/examples
+	install -m 644 heart_scale ${INSTDIR}/share/libsvm/examples
+# install package libsvm-python
+	${MAKE} -C python install
+	${MAKE} -C java install
+
+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
+	${MAKE} -C java uninstall
+
 clean:
 	rm -f *~ svm.o svm-train svm-predict svm-scale
+	${MAKE} -C python clean
+	${MAKE} -C java clean
+
diff -up ./python/Makefile.orig ./python/Makefile
--- ./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
 
 #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
diff -up ./tools/subset.py.orig ./tools/subset.py


Index: libsvm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libsvm/F-7/libsvm.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- libsvm.spec	27 Sep 2007 00:07:13 -0000	1.4
+++ libsvm.spec	4 Dec 2007 01:36:06 -0000	1.5
@@ -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:        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 @@
 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 @@
 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 @@
 %install
 rm -rf $RPM_BUILD_ROOT
 make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir}
+ldconfig -n %{_libdir}/libsvm
 
 
 
@@ -91,15 +90,14 @@
 %{_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,13 @@
 %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 <dchen at redhat.com> - 2.84-7
+- [Bug 254091] Review Request: libsvm - A Library for Support Vector Machines (Comment #12) 
+
 * Thu Sep 26 2007 Ding-Yi Chen <dchen at redhat.com> - 2.84-6
 - Add defattr to each subpackage
 - Move libsvm.so to libsvm


--- libsvm-2.84-6.patch DELETED ---




More information about the fedora-extras-commits mailing list