[libvirt] [PATCH glib] Delete the manually written python binding
Christophe Fergeau
cfergeau at redhat.com
Tue Aug 2 13:52:30 UTC 2016
Acked-by: Christophe Fergeau <cfergeau at redhat.com>
On Tue, Aug 02, 2016 at 02:34:33PM +0100, Daniel P. Berrange wrote:
> The python binding only supports python2, only supports
> 1 single API in libvirt-glib and has not even been enabled
> in RPM builds since Fedora 15. Any distro these days should
> have gobject introspection and pygobject available, so
> there's no compelling reason to continue to have the python
> binding exist.
>
> Signed-off-by: Daniel P. Berrange <berrange at redhat.com>
> ---
> Makefile.am | 2 +-
> autobuild.sh | 6 ++--
> cfg.mk | 3 --
> configure.ac | 87 ----------------------------------------------
> libvirt-glib.spec.in | 35 +------------------
> mingw-libvirt-glib.spec.in | 3 +-
> python/Makefile.am | 34 ------------------
> python/libvirt-glib.c | 59 -------------------------------
> python/libvirtglib.py | 10 ------
> 9 files changed, 5 insertions(+), 234 deletions(-)
> delete mode 100644 python/Makefile.am
> delete mode 100644 python/libvirt-glib.c
> delete mode 100644 python/libvirtglib.py
>
> diff --git a/Makefile.am b/Makefile.am
> index ae8b06d..459d544 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1,5 +1,5 @@
>
> -SUBDIRS = libvirt-glib libvirt-gconfig libvirt-gobject python vapi examples docs po tests
> +SUBDIRS = libvirt-glib libvirt-gconfig libvirt-gobject vapi examples docs po tests
>
> ACLOCAL_AMFLAGS = -I m4
>
> diff --git a/autobuild.sh b/autobuild.sh
> index 053dc1f..9935de1 100755
> --- a/autobuild.sh
> +++ b/autobuild.sh
> @@ -56,8 +56,7 @@ if test -x /usr/bin/i686-w64-mingw32-gcc ; then
> --host=i686-w64-mingw32 \
> --prefix="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
> --enable-werror \
> - --enable-introspection=no \
> - --without-python
> + --enable-introspection=no
>
> make
> make install
> @@ -75,8 +74,7 @@ if test -x /usr/bin/x86_64-w64-mingw32-gcc ; then
> --host=x86_64-w64-mingw32 \
> --prefix="$AUTOBUILD_INSTALL_ROOT/i686-w64-mingw32/sys-root/mingw" \
> --enable-werror \
> - --enable-introspection=no \
> - --without-python
> + --enable-introspection=no
>
> make
> make install
> diff --git a/cfg.mk b/cfg.mk
> index b322393..6dd34cf 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -115,9 +115,6 @@ exclude_file_name_regexp--sc_preprocessor_indentation = ^*/*.[ch]
>
> exclude_file_name_regexp--sc_prohibit_strcmp = ^*/*.[ch]
>
> -exclude_file_name_regexp--sc_require_config_h = python/libvirt-glib.c
> -exclude_file_name_regexp--sc_require_config_h_first = python/libvirt-glib.c
> -
> # XXX we shouldn't really ignore this, but the horrible enum rules...
> exclude_file_name_regexp--sc_makefile_at_at_check = libvirt-gobject/Makefile.am
>
> diff --git a/configure.ac b/configure.ac
> index 8edde74..cc9b2aa 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -135,15 +135,11 @@ dnl Copied from libxml2 configure.in, but I removed mingw changes
> dnl for now since I'm not supporting mingw at present. - RWMJ
> CYGWIN_EXTRA_LDFLAGS=
> CYGWIN_EXTRA_LIBADD=
> -CYGWIN_EXTRA_PYTHON_LIBADD=
> MINGW_EXTRA_LDFLAGS=
> case "$host" in
> *-*-cygwin*)
> CYGWIN_EXTRA_LDFLAGS="-no-undefined"
> CYGWIN_EXTRA_LIBADD="${INTLLIBS}"
> - if test "x$PYTHON_VERSION" != "x"; then
> - CYGWIN_EXTRA_PYTHON_LIBADD="-L/usr/lib/python${PYTHON_VERSION}/config -lpython${PYTHON_VERSION}"
> - fi
> ;;
> *-*-mingw*)
> MINGW_EXTRA_LDFLAGS="-no-undefined"
> @@ -151,7 +147,6 @@ case "$host" in
> esac
> AC_SUBST([CYGWIN_EXTRA_LDFLAGS])
> AC_SUBST([CYGWIN_EXTRA_LIBADD])
> -AC_SUBST([CYGWIN_EXTRA_PYTHON_LIBADD])
> AC_SUBST([MINGW_EXTRA_LDFLAGS])
>
>
> @@ -172,87 +167,6 @@ if test "${enable_coverage}" = yes; then
> COV_FLAGS=
> fi
>
> -dnl
> -dnl check for python
> -dnl
> -AC_ARG_WITH([python],
> - AC_HELP_STRING([--with-python], [Build python bindings @<:@default=yes@:>@]),[],[with_python=yes])
> -
> -PYTHON_VERSION=
> -PYTHON_INCLUDES=
> -PYTHON_SITE_PACKAGES=
> -PYTHON_TESTS=
> -pythondir=
> -if test "$with_python" != "no" ; then
> - if test "$with_python" = "yes" ; then
> - with_python=""
> - fi
> - if test -x "$with_python/bin/python"
> - then
> - echo Found python in $with_python/bin/python
> - PYTHON="$with_python/bin/python"
> - else
> - if test -x "$with_python"
> - then
> - echo Found python in $with_python
> - PYTHON="$with_python"
> - else
> - if test -x "$PYTHON"
> - then
> - echo Found python in environment PYTHON=$PYTHON
> - with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
> - else
> - AC_PATH_PROG([PYTHON], [python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5])
> - fi
> - fi
> - fi
> - if test "$PYTHON" != ""
> - then
> - PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
> - echo Found Python version $PYTHON_VERSION
> - fi
> - if test "$PYTHON_VERSION" != ""
> - then
> - if test -r $with_python/include/python$PYTHON_VERSION/Python.h && \
> - test -d $with_python/lib/python$PYTHON_VERSION/site-packages
> - then
> - PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
> - PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
> - else
> - if test -r $prefix/include/python$PYTHON_VERSION/Python.h
> - then
> - PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
> - PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
> - else
> - if test -r /usr/include/python$PYTHON_VERSION/Python.h
> - then
> - PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
> - PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
> - else
> - echo could not find python$PYTHON_VERSION/Python.h
> - fi
> - fi
> - if test ! -d "$PYTHON_SITE_PACKAGES"
> - then
> - PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
> - fi
> - fi
> - fi
> - if test "$with_python" != ""
> - then
> - pythondir='$(PYTHON_SITE_PACKAGES)'
> - else
> - pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
> - fi
> -else
> - PYTHON=
> -fi
> -AM_CONDITIONAL([WITH_PYTHON], test "$PYTHON_INCLUDES" != "")
> -AC_SUBST([pythondir])
> -AC_SUBST([PYTHON_VERSION])
> -AC_SUBST([PYTHON_INCLUDES])
> -AC_SUBST([PYTHON_SITE_PACKAGES])
> -
> GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_REQUIRED])
>
> with_linux=no
> @@ -302,7 +216,6 @@ AC_OUTPUT(Makefile
> libvirt-gconfig/tests/Makefile
> libvirt-gobject/Makefile
> examples/Makefile
> - python/Makefile
> vapi/Makefile
> docs/Makefile
> docs/libvirt-glib/Makefile
> diff --git a/libvirt-glib.spec.in b/libvirt-glib.spec.in
> index 32ce4f0..2ec8337 100644
> --- a/libvirt-glib.spec.in
> +++ b/libvirt-glib.spec.in
> @@ -1,21 +1,14 @@
> # -*- rpm-spec -*-
>
> %define with_introspection 0
> -%define with_python 0
> %define with_vala 0
>
> %if 0%{?fedora} >= 15
> %define with_introspection 1
> %endif
> -%if 0%{?fedora} && 0%{?fedora} < 15
> -%define with_python 1
> -%endif
> %if 0%{?rhel} > 6
> %define with_introspection 1
> %endif
> -%if 0%{?rhel} && 0%{?rhel} < 7
> -%define with_python 1
> -%endif
> %define with_vala %{with_introspection}
>
> %define libvirt_version @LIBVIRT_REQUIRED@
> @@ -32,7 +25,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
>
> BuildRequires: glib2-devel >= @GLIB2_REQUIRED@
> BuildRequires: libvirt-devel >= %{libvirt_version}
> -BuildRequires: python-devel
> %if %{with_introspection}
> BuildRequires: gobject-introspection-devel
> %if 0%{?fedora} == 12
> @@ -72,12 +64,6 @@ Requires: libvirt-gconfig-devel = %{version}-%{release}
> Requires: libvirt-gobject = %{version}-%{release}
> Requires: libvirt-devel >= %{libvirt_version}
>
> -%if %{with_python}
> -%package python
> -Group: Development/Libraries
> -Summary: libvirt glib integration for events python binding
> -%endif
> -
> %description
> This package provides integration between libvirt and the glib
> event loop.
> @@ -102,12 +88,6 @@ objects
> This package provides development header files and libraries for
> managing virtualization host objects
>
> -%if %{with_python}
> -%description python
> -This package provides a python module for integration between
> -libvirt and the glib event loop
> -%endif
> -
> %prep
> %setup -q
>
> @@ -118,13 +98,8 @@ libvirt and the glib event loop
> %else
> %define introspection_arg --disable-introspection
> %endif
> -%if %{with_python}
> -%define python_arg --with-python
> -%else
> -%define python_arg --without-python
> -%endif
>
> -%configure %{introspection_arg} %{python_arg}
> +%configure %{introspection_arg}
> %__make %{?_smp_mflags}
>
>
> @@ -227,12 +202,4 @@ rm -rf $RPM_BUILD_ROOT
> %{_datadir}/vala/vapi/libvirt-gobject-1.0.vapi
> %endif
>
> -%if %{with_python}
> -%files python
> -%defattr(-,root,root,-)
> -%doc examples/event-test.py
> -%{_libdir}/python*/site-packages/libvirtglib.py*
> -%{_libdir}/python*/site-packages/libvirtglibmod*
> -%endif
> -
> %changelog
> diff --git a/mingw-libvirt-glib.spec.in b/mingw-libvirt-glib.spec.in
> index 0c71628..ab31a0d 100644
> --- a/mingw-libvirt-glib.spec.in
> +++ b/mingw-libvirt-glib.spec.in
> @@ -87,8 +87,7 @@ MinGW Windows libvirt-gobject virtualization library.
>
> %build
> %mingw_configure \
> - --enable-introspection=no \
> - --without-python
> + --enable-introspection=no
>
> %mingw_make %{?_smp_mflags}
>
> diff --git a/python/Makefile.am b/python/Makefile.am
> deleted file mode 100644
> index 1471dce..0000000
> --- a/python/Makefile.am
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -# Makefile for libvirt python library
> -
> -AM_CPPFLAGS = \
> - $(WARN_CFLAGS) \
> - -I$(PYTHON_INCLUDES) \
> - -I$(top_srcdir) \
> - $(GLIB2_CFLAGS)
> -
> -EXTRA_DIST = libvirtglib.py
> -
> -if WITH_PYTHON
> -python_LTLIBRARIES = libvirtglibmod.la
> -
> -libvirtglibmod_la_SOURCES = libvirt-glib.c
> -# Python header files contain a redundant decl, hence:
> -libvirtglibmod_la_CFLAGS = -Wno-redundant-decls
> -
> -libvirtglibmod_la_LDFLAGS = -module -avoid-version \
> - $(CYGWIN_EXTRA_LDFLAGS)
> -libvirtglibmod_la_LIBADD = ../libvirt-glib/libvirt-glib-1.0.la
> - $(CYGWIN_EXTRA_LIBADD) $(CYGWIN_EXTRA_PYTHON_LIBADD)
> -
> -
> -install-data-local:
> - $(mkinstalldirs) $(DESTDIR)$(pythondir)
> - $(INSTALL) -m 0644 $(srcdir)/libvirtglib.py $(DESTDIR)$(pythondir)
> -
> -uninstall-local:
> - rm -f $(DESTDIR)$(pythondir)/libvirtglib.py
> -
> -
> -else
> -all:
> -endif
> diff --git a/python/libvirt-glib.c b/python/libvirt-glib.c
> deleted file mode 100644
> index 1daca36..0000000
> --- a/python/libvirt-glib.c
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -/*
> - * libvirt-glib.c: Binding the glib event loop integration to python
> - *
> - * Copyright (C) 2008 Red Hat, Inc., Inc.
> - *
> - * Daniel Berrange <berrange at redhat.com>
> - */
> -
> -//#include <config.h>
> -
> -/* Horrible kludge to work around even more horrible name-space pollution
> - via Python.h. That file includes /usr/include/python2.5/pyconfig*.h,
> - which has over 180 autoconf-style HAVE_* definitions. Shame on them. */
> -#undef HAVE_PTHREAD_H
> -
> -#include <Python.h>
> -#include <glib.h>
> -#include "libvirt-glib/libvirt-glib.h"
> -
> -#ifndef __CYGWIN__
> -extern void initlibvirtglibmod(void);
> -#else
> -extern void initcygvirtglibmod(void);
> -#endif
> -
> -#define VIR_PY_NONE (Py_INCREF (Py_None), Py_None)
> -
> -static PyObject *
> -libvirt_gvir_event_register(PyObject *self G_GNUC_UNUSED, PyObject *args G_GNUC_UNUSED) {
> - gvir_event_register();
> -
> - return VIR_PY_NONE;
> -}
> -
> -
> -static PyMethodDef libvirtGLibMethods[] = {
> - {(char *) "event_register", libvirt_gvir_event_register, METH_VARARGS, NULL},
> - {NULL, NULL, 0, NULL}
> -};
> -
> -void
> -#ifndef __CYGWIN__
> -initlibvirtglibmod
> -#else
> -initcygvirtglibmod
> -#endif
> - (void)
> -{
> - gvir_init(NULL, NULL);
> - /* initialize the python extension module */
> - Py_InitModule((char *)
> -#ifndef __CYGWIN__
> - "libvirtglibmod"
> -#else
> - "cygvirtglibmod"
> -#endif
> - , libvirtGLibMethods);
> -
> -}
> diff --git a/python/libvirtglib.py b/python/libvirtglib.py
> deleted file mode 100644
> index 3a74c3d..0000000
> --- a/python/libvirtglib.py
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -
> -# On cygwin, the DLL is called cygvirtmod.dll
> -try:
> - import libvirtglibmod
> -except:
> - import cygvirtglibmod as libvirtglibmod
> -
> -
> -def event_register():
> - libvirtglibmod.event_register()
> --
> 2.7.4
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160802/1813a947/attachment-0001.sig>
More information about the libvir-list
mailing list