Make python module name configurable
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Fri, 18 May 2012 15:04:11 +0000 (18:04 +0300)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Mon, 9 Jun 2014 09:26:41 +0000 (12:26 +0300)
18 files changed:
configure.ac
python/Makefile.am
python/header-py.c
python/rpm/__init__.py.in
python/rpm/transaction.py.in
python/rpmds-py.c
python/rpmfd-py.c
python/rpmfi-py.c
python/rpmii-py.c
python/rpmkeyring-py.c
python/rpmmi-py.c
python/rpmps-py.c
python/rpmsystem-py.h
python/rpmtd-py.c
python/rpmte-py.c
python/rpmts-py.c
python/setup.py.in
python/spec-py.c

index 644683a..536a115 100644 (file)
@@ -896,6 +896,14 @@ AM_CONDITIONAL([WITH_INTERNAL_DB],[test "$with_external_db" = no])
 AM_CONDITIONAL([DOXYGEN],[test "$DOXYGEN" != no])
 AM_CONDITIONAL([HACKINGDOCS],[test "$with_hackingdocs" = yes])
 
+AC_ARG_VAR([PYTHON_MODULENAME], [Name of the rpm python module. Defaults to 'rpm'])
+if test X"$PYTHON_MODULENAME" = X ; then
+    PYTHON_MODULENAME="$PACKAGE"
+fi
+AC_DEFINE_UNQUOTED(PYTHON_MODULENAME, ["$PYTHON_MODULENAME"],[python module name])
+AC_SUBST(PYTHON_MODULENAME)
+
+
 AC_PATH_PROG(AUTOM4TE,autom4te,:)
 
 AC_SUBST([dirstamp],[\${am__leading_dot}dirstamp])
index fff51ae..914bf3d 100644 (file)
@@ -5,9 +5,11 @@ EXTRA_DIST = rpm/__init__.py rpm/transaction.py
 AM_CPPFLAGS = -I$(top_builddir)/include/
 AM_CPPFLAGS += -I$(top_srcdir)/python
 AM_CPPFLAGS += -I@WITH_PYTHON_INCLUDE@
+AM_CPPFLAGS += -I$(top_srcdir)
 
-pkgpyexec_LTLIBRARIES = _rpmmodule.la _rpmbmodule.la _rpmsmodule.la
-pkgpyexec_DATA = rpm/__init__.py rpm/transaction.py
+rpmpyexec_LTLIBRARIES = _rpmmodule.la _rpmbmodule.la _rpmsmodule.la
+rpmpyexec_DATA = rpm/__init__.py rpm/transaction.py
+rpmpyexecdir = @pyexecdir@/@PYTHON_MODULENAME@
 
 _rpmmodule_la_LDFLAGS = -module -avoid-version -shared
 _rpmmodule_la_LIBADD = \
index d194fdc..ff581f1 100644 (file)
@@ -393,7 +393,7 @@ static PyObject *hdr_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
     if (obj == NULL) {
        h = headerNew();
     } else if (CAPSULE_CHECK(obj)) {
-       h = CAPSULE_EXTRACT(obj, "rpm._C_Header");
+       h = CAPSULE_EXTRACT(obj, PYTHON_MODULENAME"._C_Header");
     } else if (hdrObject_Check(obj)) {
        h = headerCopy(((hdrObject*) obj)->h);
     } else if (PyBytes_Check(obj)) {
@@ -404,7 +404,7 @@ static PyObject *hdr_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
        Py_END_ALLOW_THREADS;
        Py_XDECREF(fdo);
     } else {
-       PyErr_SetString(PyExc_TypeError, "header, blob or file expected");
+       PyErr_SetString(PyExc_TypeError, "header, blob or file expected!!");
        return NULL;
     }
 
@@ -684,7 +684,7 @@ static char hdr_doc[] =
 
 PyTypeObject hdr_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.hdr",                      /* tp_name */
+       PYTHON_MODULENAME".hdr",        /* tp_name */
        sizeof(hdrObject),              /* tp_size */
        0,                              /* tp_itemsize */
        (destructor) hdr_dealloc,       /* tp_dealloc */
index d868d19..df1e3a2 100644 (file)
@@ -6,9 +6,9 @@ This module enables you to manipulate rpms and the rpm database.
 
 import warnings
 import os
-from rpm._rpm import *
-from rpm.transaction import *
-import rpm._rpm as _rpm
+from @PYTHON_MODULENAME@._rpm import *
+from @PYTHON_MODULENAME@.transaction import *
+import @PYTHON_MODULENAME@._rpm as _rpm
 _RPMVSF_NODIGESTS = _rpm._RPMVSF_NODIGESTS
 _RPMVSF_NOHEADER = _rpm._RPMVSF_NOHEADER
 _RPMVSF_NOPAYLOAD = _rpm._RPMVSF_NOPAYLOAD
@@ -19,13 +19,13 @@ __version_info__ = tuple(__version__.split('.'))
 
 # try to import build bits but dont require it
 try:
-    from rpm._rpmb import *
+    from @PYTHON_MODULENAME@._rpmb import *
 except ImportError:
     pass
 
 # try to import signing bits but dont require it
 try:
-    from rpm._rpms import *
+    from @PYTHON_MODULENAME@._rpms import *
 except ImportError:
     pass
 
index 73e4b3c..e730759 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 
-import rpm
-from rpm._rpm import ts as TransactionSetCore
+import @PYTHON_MODULENAME@ as rpm
+from @PYTHON_MODULENAME@._rpm import ts as TransactionSetCore
 
 # TODO: migrate relevant documentation from C-side
 class TransactionSet(TransactionSetCore):
index 30fb908..4b44220 100644 (file)
@@ -341,7 +341,7 @@ static char rpmds_doc[] =
 
 PyTypeObject rpmds_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.ds",                       /* tp_name */
+       PYTHON_MODULENAME".ds",         /* tp_name */
        sizeof(rpmdsObject),            /* tp_basicsize */
        0,                              /* tp_itemsize */
        /* methods */
index a266ad6..79eb5b6 100644 (file)
@@ -310,7 +310,7 @@ static PyGetSetDef rpmfd_getseters[] = {
 
 PyTypeObject rpmfd_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.fd",                       /* tp_name */
+       PYTHON_MODULENAME".fd",         /* tp_name */
        sizeof(rpmfdObject),            /* tp_size */
        0,                              /* tp_itemsize */
        /* methods */
index 458e721..14e89df 100644 (file)
@@ -320,7 +320,7 @@ static char rpmfi_doc[] =
 
 PyTypeObject rpmfi_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.fi",                       /* tp_name */
+       PYTHON_MODULENAME".fi",         /* tp_name */
        sizeof(rpmfiObject),            /* tp_basicsize */
        0,                              /* tp_itemsize */
        /* methods */
index d7713af..17fe79e 100644 (file)
@@ -103,7 +103,7 @@ static char rpmii_doc[] =
 
 PyTypeObject rpmii_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.ii",                       /* tp_name */
+       PYTHON_MODULENAME".ii",         /* tp_name */
        sizeof(rpmiiObject),            /* tp_size */
        0,                              /* tp_itemsize */
        (destructor) rpmii_dealloc,     /* tp_dealloc */
index d5f131e..7df847d 100644 (file)
@@ -52,7 +52,7 @@ static char rpmPubkey_doc[] = "";
 
 PyTypeObject rpmPubkey_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.pubkey",                   /* tp_name */
+       PYTHON_MODULENAME".pubkey",     /* tp_name */
        sizeof(rpmPubkeyObject),        /* tp_size */
        0,                              /* tp_itemsize */
        (destructor) rpmPubkey_dealloc,/* tp_dealloc */
@@ -133,7 +133,7 @@ static char rpmKeyring_doc[] =
 
 PyTypeObject rpmKeyring_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.keyring",                  /* tp_name */
+       PYTHON_MODULENAME".keyring",    /* tp_name */
        sizeof(rpmKeyringObject),       /* tp_size */
        0,                              /* tp_itemsize */
        (destructor) rpmKeyring_dealloc,/* tp_dealloc */
index 8e670ce..6c34c98 100644 (file)
@@ -164,7 +164,7 @@ static char rpmmi_doc[] =
 
 PyTypeObject rpmmi_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.mi",                       /* tp_name */
+       PYTHON_MODULENAME".mi",         /* tp_name */
        sizeof(rpmmiObject),            /* tp_size */
        0,                              /* tp_itemsize */
        (destructor) rpmmi_dealloc,     /* tp_dealloc */
index bdc899a..3ee9d4a 100644 (file)
@@ -72,7 +72,7 @@ static void rpmprob_dealloc(rpmProblemObject *s)
 
 PyTypeObject rpmProblem_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.prob",                     /* tp_name */
+       PYTHON_MODULENAME".prob",               /* tp_name */
        sizeof(rpmProblemObject),               /* tp_basicsize */
        0,                              /* tp_itemsize */
        /* methods */
index 58ac1ba..c7286a2 100644 (file)
@@ -8,6 +8,8 @@
 #include <Python.h>
 #include <structmember.h>
 
+#include "config.h"
+
 #if ((PY_MAJOR_VERSION << 8) | (PY_MINOR_VERSION << 0)) < 0x0205
 typedef ssize_t Py_ssize_t;
 typedef Py_ssize_t (*lenfunc)(PyObject *);
index 7655755..ed3a145 100644 (file)
@@ -167,7 +167,7 @@ static PyGetSetDef rpmtd_getseters[] = {
 
 PyTypeObject rpmtd_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.td",                       /* tp_name */
+       PYTHON_MODULENAME".td",         /* tp_name */
        sizeof(rpmtdObject),            /* tp_size */
        0,                              /* tp_itemsize */
        (destructor) rpmtd_dealloc,     /* tp_dealloc */
@@ -214,7 +214,7 @@ int rpmtdFromPyObject(PyObject *obj, rpmtd *td)
        *td = &(((rpmtdObject *)obj)->td);
        return 1;
     } else {
-       PyErr_SetString(PyExc_TypeError, "rpm.td type expected");
+       PyErr_SetString(PyExc_TypeError, PYTHON_MODULENAME".td type expected");
        return 0;
     }
 }
index 2204a52..6b33826 100644 (file)
@@ -192,7 +192,7 @@ rpmte_FI(rpmteObject * s, PyObject * args, PyObject * kwds)
 static struct PyMethodDef rpmte_methods[] = {
     {"Type",   (PyCFunction)rpmte_TEType,      METH_NOARGS,
 "te.Type() -> Type\n\
-- Return element type (rpm.TR_ADDED | rpm.TR_REMOVED).\n" },
+- Return element type ("PYTHON_MODULENAME".TR_ADDED | "PYTHON_MODULENAME".TR_REMOVED).\n" },
     {"N",      (PyCFunction)rpmte_N,           METH_NOARGS,
 "te.N() -> N\n\
 - Return element name.\n" },
@@ -250,7 +250,7 @@ static char rpmte_doc[] =
 
 PyTypeObject rpmte_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.te",                       /* tp_name */
+       PYTHON_MODULENAME".te",         /* tp_name */
        sizeof(rpmteObject),            /* tp_size */
        0,                              /* tp_itemsize */
        (destructor)0,                  /* tp_dealloc */
index 5c6e9ba..1072f35 100644 (file)
@@ -440,7 +440,7 @@ static PyObject *rpmts_setKeyring(rpmtsObject *s, PyObject *arg)
     if (arg == Py_None || rpmKeyringFromPyObject(arg, &keyring)) {
        return PyBool_FromLong(rpmtsSetKeyring(s->ts, keyring) == 0);
     } else {
-       PyErr_SetString(PyExc_TypeError, "rpm.keyring or None expected");
+       PyErr_SetString(PyExc_TypeError, PYTHON_MODULENAME".keyring or None expected");
        return NULL;
     }
 }
@@ -872,7 +872,7 @@ static PyGetSetDef rpmts_getseters[] = {
 
 PyTypeObject rpmts_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.ts",                       /* tp_name */
+       PYTHON_MODULENAME".ts",         /* tp_name */
        sizeof(rpmtsObject),            /* tp_size */
        0,                              /* tp_itemsize */
        (destructor) rpmts_dealloc,     /* tp_dealloc */
index 619b0ac..14be973 100644 (file)
@@ -20,7 +20,7 @@ def mksources(names):
 
 cflags = ['-std=c99']
 
-rpmmod = Extension('rpm._rpm',
+rpmmod = Extension('@PYTHON_MODULENAME@._rpm',
                    sources = mksources([
                                 'header', 'rpmds', 'rpmfd', 'rpmfi', 'rpmii',
                                 'rpmkeyring', 'rpmmacro', 'rpmmi', 'rpmps',
@@ -31,21 +31,21 @@ rpmmod = Extension('rpm._rpm',
                    extra_compile_args = cflags
                   )
 
-rpmbuild_mod = Extension('rpm._rpmb',
+rpmbuild_mod = Extension('@PYTHON_MODULENAME@._rpmb',
                    sources = mksources(['rpmbmodule', 'spec']),
                    include_dirs = pkgconfig('--cflags'),
                    libraries = pkgconfig('--libs') + ['rpmbuild'],
                    extra_compile_args = cflags
                   )
 
-rpmsign_mod = Extension('rpm._rpms',
+rpmsign_mod = Extension('@PYTHON_MODULENAME@._rpms',
                    sources = mksources(['rpmbmodule']),
                    include_dirs = pkgconfig('--cflags'),
                    libraries = pkgconfig('--libs') + ['rpmsign'],
                    extra_compile_args = cflags
                   )
 
-setup(name='@PACKAGE_NAME@-python',
+setup(name='@PACKAGE_NAME@',
       version='@VERSION@',
       description='Python bindings for @PACKAGE_NAME@',
       maintainer_email='@PACKAGE_BUGREPORT@',
index 1850a50..8224520 100644 (file)
 /* Header objects are in another module, some hoop jumping required... */
 static PyObject *makeHeader(Header h)
 {
-    PyObject *rpmmod = PyImport_ImportModuleNoBlock("rpm");
+    PyObject *rpmmod = PyImport_ImportModuleNoBlock(PYTHON_MODULENAME);
     if (rpmmod == NULL) return NULL;
 
-    PyObject *ptr = CAPSULE_BUILD(h, "rpm._C_Header");
+    PyObject *ptr = CAPSULE_BUILD(h, PYTHON_MODULENAME"._C_Header");
     PyObject *hdr = PyObject_CallMethod(rpmmod, "hdr", "(O)", ptr);
     Py_XDECREF(ptr);
     Py_XDECREF(rpmmod);
@@ -62,7 +62,7 @@ static PyGetSetDef specpkg_getseters[] = {
 
 PyTypeObject specPkg_Type = {
        PyVarObject_HEAD_INIT(&PyType_Type, 0)
-       "rpm.specpkg",                  /* tp_name */
+       PYTHON_MODULENAME".specpkg",    /* tp_name */
        sizeof(specPkgObject),          /* tp_size */
        0,                              /* tp_itemsize */
        0,                              /* tp_dealloc */
@@ -263,7 +263,7 @@ static struct PyMethodDef spec_methods[] = {
 
 PyTypeObject spec_Type = {
     PyVarObject_HEAD_INIT(&PyType_Type, 0)
-    "rpm.spec",               /*tp_name*/
+    PYTHON_MODULENAME".spec",  /*tp_name*/
     sizeof(specObject),        /*tp_basicsize*/
     0,                         /*tp_itemsize*/
     (destructor) spec_dealloc, /*tp_dealloc*/