public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/lttng-tools] rawhide: Replace removed Python 2 C API macros for SWIG 4.5.0 compatibility
@ 2026-08-06 14:40 Jitka Plesnikova
  0 siblings, 0 replies; only message in thread
From: Jitka Plesnikova @ 2026-08-06 14:40 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/lttng-tools
Branch : rawhide
Commit : 69206a4681862e276361cc273fdf51b201c6367f
Author : Jitka Plesnikova <jplesnik@redhat.com>
Date   : 2026-07-28T15:29:18+02:00
Stats  : +110/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/lttng-tools/c/69206a4681862e276361cc273fdf51b201c6367f?branch=rawhide

Log:
Replace removed Python 2 C API macros for SWIG 4.5.0 compatibility

---
diff --git a/lttng-tools-swig45.patch b/lttng-tools-swig45.patch
new file mode 100644
index 0000000..b483d8c
--- /dev/null
+++ b/lttng-tools-swig45.patch
@@ -0,0 +1,103 @@
+diff -up lttng-tools-2.15.1/extras/bindings/swig/python/lttng.i.in.swig45 lttng-tools-2.15.1/extras/bindings/swig/python/lttng.i.in
+--- lttng-tools-2.15.1/extras/bindings/swig/python/lttng.i.in.swig45	2026-07-28 09:46:54.910208990 +0200
++++ lttng-tools-2.15.1/extras/bindings/swig/python/lttng.i.in	2026-07-28 09:46:54.912209032 +0200
+@@ -241,9 +241,9 @@ enum lttng_event_context_type {
+ 		for(i=0; i<l; i++)
+ 		{
+ 			PyObject *tmp = PyTuple_New(4);
+-			PyObject *name = PyString_FromString((*$1)[i].name);
+-			PyObject *path = PyString_FromString((*$1)[i].path);
+-			PyObject *enabled = PyInt_FromSize_t((*$1)[i].enabled);
++			PyObject *name = PyUnicode_FromString((*$1)[i].name);
++			PyObject *path = PyUnicode_FromString((*$1)[i].path);
++			PyObject *enabled = PyLong_FromSize_t((*$1)[i].enabled);
+ 
+ 			PyTuple_SetItem(tmp, 0, name);
+ 			PyTuple_SetItem(tmp, 1, path);
+@@ -268,12 +268,12 @@ enum lttng_event_context_type {
+ 		for(i=0; i<l; i++)
+ 		{
+ 			PyObject *tmp = PyTuple_New(6);
+-			PyObject *type = PyInt_FromSize_t((*$1)[i].type);
+-			PyObject *buf_type = PyInt_FromSize_t((*$1)[i].buf_type);
+-			PyObject *execname = PyString_FromString((*$1)[i].attr.exec_name);
+-			PyObject *pid = PyInt_FromSize_t((*$1)[i].attr.pid);
+-			PyObject *padding = PyString_FromString((*$1)[i].padding);
+-			PyObject *attrpadding = PyString_FromString((*$1)[i].attr.padding);
++			PyObject *type = PyLong_FromSize_t((*$1)[i].type);
++			PyObject *buf_type = PyLong_FromSize_t((*$1)[i].buf_type);
++			PyObject *execname = PyUnicode_FromString((*$1)[i].attr.exec_name);
++			PyObject *pid = PyLong_FromSize_t((*$1)[i].attr.pid);
++			PyObject *padding = PyUnicode_FromString((*$1)[i].padding);
++			PyObject *attrpadding = PyUnicode_FromString((*$1)[i].attr.padding);
+ 
+ 			PyTuple_SetItem(tmp, 0, type);
+ 			PyTuple_SetItem(tmp, 1, buf_type);
+@@ -301,18 +301,18 @@ enum lttng_event_context_type {
+ 		for(i=0; i<l; i++)
+ 		{
+ 			PyObject *tmp = PyTuple_New(4);
+-			PyObject *name = PyString_FromString((*$1)[i].name);
+-			PyObject *enabled = PyInt_FromSize_t((*$1)[i].enabled);
+-			PyObject *padding = PyString_FromString((*$1)[i].padding);
++			PyObject *name = PyUnicode_FromString((*$1)[i].name);
++			PyObject *enabled = PyLong_FromSize_t((*$1)[i].enabled);
++			PyObject *padding = PyUnicode_FromString((*$1)[i].padding);
+ 
+ 			PyObject *attrtmp = PyTuple_New(7);
+-			PyObject *overwrite = PyInt_FromLong((*$1)[i].attr.overwrite);
+-			PyObject *subbuf = PyInt_FromSize_t((*$1)[i].attr.subbuf_size);
+-			PyObject *num = PyInt_FromSize_t((*$1)[i].attr.num_subbuf);
+-			PyObject *switchtimer = PyInt_FromSize_t((*$1)[i].attr.switch_timer_interval);
+-			PyObject *readtimer = PyInt_FromSize_t((*$1)[i].attr.read_timer_interval);
+-			PyObject *output = PyInt_FromSize_t((*$1)[i].attr.output);
+-			PyObject *attrpad = PyString_FromString((*$1)[i].attr.padding);
++			PyObject *overwrite = PyLong_FromLong((*$1)[i].attr.overwrite);
++			PyObject *subbuf = PyLong_FromSize_t((*$1)[i].attr.subbuf_size);
++			PyObject *num = PyLong_FromSize_t((*$1)[i].attr.num_subbuf);
++			PyObject *switchtimer = PyLong_FromSize_t((*$1)[i].attr.switch_timer_interval);
++			PyObject *readtimer = PyLong_FromSize_t((*$1)[i].attr.read_timer_interval);
++			PyObject *output = PyLong_FromSize_t((*$1)[i].attr.output);
++			PyObject *attrpad = PyUnicode_FromString((*$1)[i].attr.padding);
+ 
+ 			PyTuple_SetItem(attrtmp, 0, overwrite);
+ 			PyTuple_SetItem(attrtmp, 1, subbuf);
+@@ -346,24 +346,24 @@ enum lttng_event_context_type {
+ 		for(i=0; i<l; i++)
+ 		{
+ 			PyObject *tmp = PyTuple_New(10);
+-			PyObject *name = PyString_FromString((*$1)[i].name);
+-			PyObject *type = PyInt_FromSize_t((*$1)[i].type);
+-			PyObject *logleveltype = PyInt_FromSize_t((*$1)[i].loglevel_type);
+-			PyObject *loglevel = PyInt_FromLong((*$1)[i].loglevel);
+-			PyObject *enabled = PyInt_FromLong((*$1)[i].enabled);
+-			PyObject *pid = PyInt_FromSize_t((*$1)[i].pid);
+-			PyObject *padding = PyString_FromString((*$1)[i].padding);
+-			PyObject *attrpadding = PyString_FromString((*$1)[i].attr.padding);
++			PyObject *name = PyUnicode_FromString((*$1)[i].name);
++			PyObject *type = PyLong_FromSize_t((*$1)[i].type);
++			PyObject *logleveltype = PyLong_FromSize_t((*$1)[i].loglevel_type);
++			PyObject *loglevel = PyLong_FromLong((*$1)[i].loglevel);
++			PyObject *enabled = PyLong_FromLong((*$1)[i].enabled);
++			PyObject *pid = PyLong_FromSize_t((*$1)[i].pid);
++			PyObject *padding = PyUnicode_FromString((*$1)[i].padding);
++			PyObject *attrpadding = PyUnicode_FromString((*$1)[i].attr.padding);
+ 
+ 			PyObject *probe = PyTuple_New(4);
+-			PyObject *addr = PyInt_FromSize_t((*$1)[i].attr.probe.addr);
+-			PyObject *offset = PyInt_FromSize_t((*$1)[i].attr.probe.offset);
+-			PyObject *symbolname = PyString_FromString((*$1)[i].attr.probe.symbol_name);
+-			PyObject *probepad = PyString_FromString((*$1)[i].attr.probe.padding);
++			PyObject *addr = PyLong_FromSize_t((*$1)[i].attr.probe.addr);
++			PyObject *offset = PyLong_FromSize_t((*$1)[i].attr.probe.offset);
++			PyObject *symbolname = PyUnicode_FromString((*$1)[i].attr.probe.symbol_name);
++			PyObject *probepad = PyUnicode_FromString((*$1)[i].attr.probe.padding);
+ 
+ 			PyObject *function = PyTuple_New(2);
+-			PyObject *f_symbolname = PyString_FromString((*$1)[i].attr.ftrace.symbol_name);
+-			PyObject *f_pad = PyString_FromString((*$1)[i].attr.ftrace.padding);
++			PyObject *f_symbolname = PyUnicode_FromString((*$1)[i].attr.ftrace.symbol_name);
++			PyObject *f_pad = PyUnicode_FromString((*$1)[i].attr.ftrace.padding);
+ 
+ 			PyTuple_SetItem(function, 0, f_symbolname);
+ 			PyTuple_SetItem(function, 1, f_pad);

diff --git a/lttng-tools.spec b/lttng-tools.spec
index f277aaf..52bfd1c 100644
--- a/lttng-tools.spec
+++ b/lttng-tools.spec
@@ -9,7 +9,7 @@
 
 Name:           lttng-tools
 Version:        2.15.1
-Release:        3%{?dist}
+Release:        4%{?dist}
 License:        GPL-2.0-only AND LGPL-2.1-only
 URL:            http://lttng.org
 Summary:        LTTng control and utility programs
@@ -19,6 +19,9 @@ Source1:        http://lttng.org/files/lttng-tools/%{name}-%{version}.tar.bz2.as
 Source2:        gpgkey-7F49314A26E0DE78427680E05F1B2A0789F12B11.gpg
 Source3:        lttng-sessiond.service
 Source4:        lttng-tools.sysusers.conf
+# Replace removed Python 2 C API macros with Python 3 equivalents
+# for compatibility with SWIG 4.5.0
+Patch0:         lttng-tools-swig45.patch
 
 BuildRequires:  autoconf
 BuildRequires:  automake
@@ -195,6 +198,9 @@ install -m0644 -D %SOURCE4 %{buildroot}%{_sysusersdir}/lttng-tools.conf
 %endif
 
 %changelog
+* Tue Jul 28 2026 Jitka Plesnikova <jplesnik@redhat.com> - 2.15.1-4
+- Replace removed Python 2 C API macros for SWIG 4.5.0 compatibility
+
 * Wed Jul 22 2026 Python Maint <python-maint@redhat.com> - 2.15.1-3
 - Rebuilt for Python 3.15.0b4 ABI change
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-06 14:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-06 14:40 [rpms/lttng-tools] rawhide: Replace removed Python 2 C API macros for SWIG 4.5.0 compatibility Jitka Plesnikova

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox