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])
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 = \
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)) {
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;
}
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 */
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
# 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
#!/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):
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 */
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 */
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 */
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 */
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 */
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 */
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 */
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 */
#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 *);
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 */
*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;
}
}
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" },
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 */
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;
}
}
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 */
cflags = ['-std=c99']
-rpmmod = Extension('rpm._rpm',
+rpmmod = Extension('@PYTHON_MODULENAME@._rpm',
sources = mksources([
'header', 'rpmds', 'rpmfd', 'rpmfi', 'rpmii',
'rpmkeyring', 'rpmmacro', 'rpmmi', 'rpmps',
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@',
/* 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);
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 */
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*/