> On Nov 14, 2016, at 10:32 AM, Alexander Kanavin > <[email protected]> wrote: > >> rpm-python was converted to python3 (and generally blue-printed against >> the rpm.org python module) at least 1 year ago afaik. >> >> Meanwhile, no one has tried to compile/use rpm-python with python3. >> There’s surely some bugs. >> >> hth >> >> 73 de Jeff > > I have tried this just now, and unfortunately I am getting compile errors > when trying to build against Python 3 (this is an excerpt, the whole thing is > longer): > > | ../../rpm-5.4.15/python/rpmfts-py.c: In function ‘rpmfts_debug’: > | ../../rpm-5.4.15/python/rpmfts-py.c:79:57: error: ‘rpmftsObject {aka struct > rpmftsObject_s}’ has no member named ‘ob_refcnt’ > | fprintf(stderr, " %u %d ftsp %p fts %p\n", (unsigned) s->ob_refcnt, > s->active, s->ftsp, s->fts); > | ^~ > | ../../rpm-5.4.15/python/rpmfts-py.c: At top level: > | ../../rpm-5.4.15/python/rpmfts-py.c:504:3: error: ‘cmpfunc’ undeclared here > (not in a function) > | (cmpfunc)0, /* tp_compare */ > | ^~~~~~~ > | ../../rpm-5.4.15/python/rpmfts-py.c:504:11: error: expected ‘}’ before > numeric constant > | (cmpfunc)0, /* tp_compare */ > | ^ > | ../../rpm-5.4.15/python/rpmdebug-py.c: In function ‘lbl’: > | ../../rpm-5.4.15/python/rpmdebug-py.c:38:24: error: ‘PyBuffer_Type’ > undeclared (first use in this function) > | if (o->ob_type == &PyBuffer_Type) return "Buffer"; > | ^~~~~~~~~~~~~ > | ../../rpm-5.4.15/python/rpmdebug-py.c:38:24: note: each undeclared > identifier is reported only once for each function it appears in > | ../../rpm-5.4.15/python/rpmdebug-py.c:40:24: error: ‘PyCObject_Type’ > undeclared (first use in this function) > | if (o->ob_type == &PyCObject_Type) return "CObject"; > | ^~~~~~~~~~~~~~ > | ../../rpm-5.4.15/python/rpmdebug-py.c:42:24: error: ‘PyClass_Type’ > undeclared (first use in this function) > | if (o->ob_type == &PyClass_Type) return "Class"; > | ^~~~~~~~~~~~ > | ../../rpm-5.4.15/python/rpmmodule.c:460:13: error: ‘PyTypeObject {aka > struct _typeobject}’ has no member named ‘ob_type’; did you mean ‘ob_base’? > | hdr_Type.ob_type = &PyType_Type; > | ^ >
You were warned: >> Meanwhile, no one has tried to compile/use rpm-python with python3. >> There’s surely some bugs. Meanwhile — in order to finish rpm-python3 — there needs to be some usage case. On a random Fedora 24 installation, I see the following packages using rpm-python3: $ rpm -q --whatrequires rpm-python3 rpmconf-1.0.16-2.fc24.noarch python3-dnf-1.1.10-1.fc24.noarch rpmlint-1.9-3.fc24.noarch setroubleshoot-server-3.3.11-1.fc24.x86_64 mock-1.2.21-1.fc24.noarch Which of those packages is of interest to you? Offhand, I don’t see any important applications there that MUST have rpm-python3. 73 de Jeff
