[python] Install bindings to the appropriate packages directoy.
authorMatthias Bolte <matthias.bolte@googlemail.com>
Sat, 9 May 2009 17:31:35 +0000 (19:31 +0200)
committerMatthias Bolte <matthias.bolte@googlemail.com>
Sat, 9 May 2009 17:41:37 +0000 (19:41 +0200)
Signed-off-by: Matthias Bolte <matthias.bolte@googlemail.com>

config.mk
python/Makefile
python/libvscmgmt/__init__.py
python/module.c
tests/bindings_test.py [moved from python/test.py with 100% similarity]

index 8131ca8..017efc5 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -8,6 +8,14 @@
 CC               = gcc
 PREFIX           = /usr/local
 CLEAN_PATTERNS   = *.o *.a *.so *.gcda *.gcno
+PYTHON_VERSION   = $(shell python -c "import sys; print sys.version[0:3]")
+
+# FIXME: Add a more intelligent autodetection, because this is one Debian spcific
+ifeq ($(PYTHON_VERSION), 2.5)
+       PYTHON_PACKAGES = $(PREFIX)/lib/python$(PYTHON_VERSION)/site-packages
+else
+       PYTHON_PACKAGES = $(PREFIX)/lib/python$(PYTHON_VERSION)/dist-packages
+endif
 
 # Backend configuration
 DATA_BACKEND     = file
index 6ae9cd2..66f3e08 100644 (file)
@@ -8,7 +8,7 @@
 include ../config.mk
 
 OBJS     = module.o
-TARGET   = libvscmgmt_python.so
+TARGET   = libvscmgmtmodule.so
 
 #
 # Fancy gcc options
@@ -23,8 +23,8 @@ LDFLAGS += -lvscmisc
 LDFLAGS += $(LIBVSCMGMT_LDFLAGS)
 
 # python
-CFLAGS  += $(shell python2.5-config --cflags)
-LDFLAGS += $(shell python2.5-config --libs)
+CFLAGS  += $(shell python$(PYTHON_VERSION)-config --cflags)
+LDFLAGS += $(shell python$(PYTHON_VERSION)-config --libs)
 
 #
 # Rules
@@ -37,6 +37,11 @@ all: $(TARGET)
 clean:
        rm -rf -- $(TARGET) $(OBJS) $(CLEAN_PATTERNS)
 
-install: install-target-lib
+install:
+       mkdir -p $(PYTHON_PACKAGES)/libvscmgmt
+       @echo "> installing libvscmgmtmodule.so"
+       install -c -m 755 libvscmgmtmodule.so $(PYTHON_PACKAGES)/libvscmgmtmodule.so
+       @echo "> installing libvscmgmt/__init__.py"
+       install -c -m 644 libvscmgmt/__init__.py $(PYTHON_PACKAGES)/libvscmgmt/__init__.py
 
 include ../rules.mk
index 22b0f1e..cf1f6ed 100644 (file)
@@ -1,24 +1,22 @@
-"""
- * Python bindings for libvscmgmt
- *
- * Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
-"""
+# Python bindings for libvscmgmt
+#
+# Copyright (C) 2009 Matthias Bolte <matthias.bolte@googlemail.com>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
 
-from libvscmgmt_python import *
+from libvscmgmtmodule import *
 
 HOST_TYPE__UNDEFINED = 0
 HOST_TYPE__VIRTUAL = 1
index 1331d9d..fdab6e0 100644 (file)
@@ -248,7 +248,7 @@ static PyMethodDef _methods[] = {
 };
 
 PyMODINIT_FUNC
-initlibvscmgmt_python (void)
+initlibvscmgmtmodule (void)
 {
        PyObject *module;
        struct VscError error;
@@ -258,7 +258,7 @@ initlibvscmgmt_python (void)
                return;
        }
 
-       module = Py_InitModule ("libvscmgmt_python", _methods);
+       module = Py_InitModule ("libvscmgmtmodule", _methods);
 
        if (module == NULL) {
                return;
similarity index 100%
rename from python/test.py
rename to tests/bindings_test.py