rpms/libsvm/F-8 libsvm-2.84.patch, NONE, 1.1 libsvm.spec, 1.9, 1.10 libsvm-2.84-8.patch, 1.1, NONE
Ding-Yi Chen (dchen)
fedora-extras-commits at redhat.com
Thu Jan 3 23:28:31 UTC 2008
Author: dchen
Update of /cvs/pkgs/rpms/libsvm/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19994/F-8
Modified Files:
libsvm.spec
Added Files:
libsvm-2.84.patch
Removed Files:
libsvm-2.84-8.patch
Log Message:
Bug 254091: Comment 19
libsvm-2.84.patch:
--- NEW FILE libsvm-2.84.patch ---
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
--- ./java/libsvm/svm_problem.java.orig 2003-10-11 22:30:47.000000000 +1000
+++ ./java/libsvm/svm_problem.java 2008-01-02 09:43:19.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 2003-10-11 22:30:47.000000000 +1000
+++ ./java/libsvm/svm_node.java 2008-01-02 09:43:19.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_model.java.orig ./java/libsvm/svm_model.java
--- ./java/libsvm/svm_model.java.orig 2007-01-13 08:23:39.000000000 +1000
+++ ./java/libsvm/svm_model.java 2008-01-02 09:43:19.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/Makefile.orig ./java/Makefile
--- ./java/Makefile.orig 2008-01-02 09:32:55.000000000 +1000
+++ ./java/Makefile 2008-01-02 09:43:19.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/svm_toy.java.orig ./java/svm_toy.java
--- ./java/svm_toy.java.orig 2006-03-04 17:40:11.000000000 +1000
+++ ./java/svm_toy.java 2008-01-02 09:43:19.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 ./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
--- ./Makefile.orig 2008-01-02 09:36:22.000000000 +1000
+++ ./Makefile 2008-01-02 09:43:19.000000000 +1000
@@ -1,8 +1,41 @@
CXXC = g++
CFLAGS = -Wall -O3
+MAKE = make
+LIBSVM_VER_MAJOR=2
+LIBSVM_VER_MINOR=84
+LIBSVM_VER =${LIBSVM_VER_MAJOR}.${LIBSVM_VER_MINOR}
+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_MAJOR}\
+ -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 +44,61 @@ 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
+ mkdir -p ${LIB_INSTDIR}
+# install -m 755 libsvm.so.${LIBSVM_VER} ${LIB_INSTDIR}/libsvm
+ install -m 755 libsvm.so.${LIBSVM_VER} ${LIB_INSTDIR}
+# cd ${LIB_INSTDIR}/libsvm; ln -fs libsvm.so.${LIBSVM_VER_MAJOR} libsvm.so
+# cd ${LIB_INSTDIR}; ln -fs libsvm.so.${LIBSVM_VER} libsvm.so.${LIBSVM_VER_MAJOR} ;ln -fs libsvm.so.${LIBSVM_VER_MAJOR} libsvm.so
+ /sbin/ldconfig -n ${LIB_INSTDIR}
+ cd ${LIB_INSTDIR}; ln -fs libsvm.so.${LIBSVM_VER_MAJOR} 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 ./svm-toy/gtk/Makefile.orig ./svm-toy/gtk/Makefile
Index: libsvm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libsvm/F-8/libsvm.spec,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- libsvm.spec 14 Dec 2007 01:13:01 -0000 1.9
+++ libsvm.spec 3 Jan 2008 23:27:52 -0000 1.10
@@ -1,6 +1,6 @@
Name: libsvm
Version: 2.84
-Release: 8%{?dist}
+Release: 9%{?dist}
Summary: A Library for Support Vector Machines
Group: Development/Libraries
@@ -10,14 +10,14 @@
#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-8.patch
+Patch0: %{name}-%{version}.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires: glibc-devel
+#BuildRequires: glibc-devel
%define libsvm_ver_major 2
-%define temp_file /tmp/python.ver
-%define python_version %(python -V 2> %{temp_file} ; cat %{temp_file} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$2,$3)}'; rm -f %{temp_file})
-%define libsvm_python_dir %{_libdir}/python%{python_version}/site-packages/libsvm
+%{!?pyver: %define pyver %(python -c 'import sys; print(sys.version[0:3])')}%{!?pyver: %define pyver %(python -c 'import sys; print(sys.version[0:3])')}
+%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+%define libsvm_python_dir %{python_sitearch}/libsvm
%description
@@ -67,7 +67,7 @@
%build
-make all DESTDIR=%{_builddir} LIBDIR=%{_libdir}
+make all CFLAGS="$RPM_OPT_FLAGS" PYTHON_VERSION="%{pyver}"
%{__sed} -i 's/\r//' FAQ.html
mv python/README python/README-Python
mv tools/README tools/README-Tools
@@ -76,18 +76,13 @@
%install
rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir}
-#This is required for rpmbuild
-#/sbin/ldconfig -n %{_libdir}
-
-%post
-/sbin/ldconfig -n %{_libdir}
+make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} PYTHON_VERSION="%{pyver}"
+rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/src
+
+%post -p /sbin/ldconfig
-%postun
-if [ "$1" = "0" ]; then
- /sbin/ldconfig
-fi
+%postun -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
@@ -101,8 +96,6 @@
%{_bindir}/svm-train
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/examples
-#%dir %{_libdir}/%{name}
-#%{_libdir}/%{name}/%{name}.so.%{version}
%{_libdir}/%{name}.so.%{version}
%{_libdir}/%{name}.so.%{libsvm_ver_major}
@@ -111,9 +104,6 @@
%defattr(-,root,root,-)
%doc README
%{_includedir}/%{name}/
-#including source for developeer
-%{_datadir}/%{name}/src
-#%{_libdir}/%{name}/%{name}.so
%{_libdir}/%{name}.so
%files python
@@ -128,6 +118,10 @@
#%{_datadir}/javadoc/%{name}-%{version}
%changelog
+* Wed Dec 20 2007 Ding-Yi Chen <dchen at redhat.com> - 2.84-9
+- [Bug 254091] Comment 19
+- Fix python/Makefile
+
* Thu Dec 13 2007 Ding-Yi Chen <dchen at redhat.com> - 2.84-8
- Fix improper sed.
- Change ldconfig to /sbin/ldconfig
--- libsvm-2.84-8.patch DELETED ---
More information about the fedora-extras-commits
mailing list