public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Thomas Moschny <thm@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/python3-lxc] rawhide: Update to 7.0.0.
Date: Sun, 27 Sep 2026 15:38:17 GMT	[thread overview]
Message-ID: <179052349719.1.7527032411814895850.rpms-python3-lxc-1e126888e4e5@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/python3-lxc
Branch : rawhide
Commit : 1e126888e4e5227b14a2c6f68d15a19a9ae47d9c
Author : Thomas Moschny <thm@fedoraproject.org>
Date   : 2026-09-27T17:30:17+02:00
Stats  : +7/-121 in 4 file(s)
URL    : https://src.fedoraproject.org/rpms/python3-lxc/c/1e126888e4e5227b14a2c6f68d15a19a9ae47d9c?branch=rawhide

Log:
Update to 7.0.0.

---
diff --git a/lxc-5.0.0_fix_personality_corruption.patch b/lxc-5.0.0_fix_personality_corruption.patch
deleted file mode 100644
index 74644e2..0000000
--- a/lxc-5.0.0_fix_personality_corruption.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From f8d5ddc6892db7c1c7007c09c67b2230887163f4 Mon Sep 17 00:00:00 2001
-From: Thomas Jarosch <thomas.jarosch@intra2net.com>
-Date: Mon, 16 Jun 2025 20:22:47 +0200
-Subject: [PATCH] Fix random "personality" corruption when linking against lxc
- 6
-
-When using python3-lxc with liblxc from lxc 6.0.x, we could observe
-random systemd startup failures on containers.
-
-systemd will report this on startup when the corruption hit:
-"Warning! Reported kernel version 2.6.74-300.fc42.x86_64 is older than systemd's required baseline kernel version 4.15. Your mileage may vary."
-
-Some systemd services fail to start properly, including systemd-journald.
-
-The root problem is that other lxc library code unexpectedly calls into
-lxc_config_parse_arch() from python3-lxc instead of the function from liblxc.
-
-The function signature of lxc_config_parse_arch() changed throughout the years
-and the second "persona" pointer argument was added. The older python3-lxc copy
-of the function would not initialize the provided memory location of "persona".
-It will therefore contain a random value.
-
-Additionally the symbol visibility of liblxc's lxc_config_parse_arch()
-changed with this commit in lxc 6.0:
-
-******************************************
-commit 42eeffcb05c468fd7b3a90eeda4a3abe9f26844b
-AuthorDate: Sun Feb 18 15:43:20 2024 +0100
-
-    confile: unhide lxc_config_parse_arch() helper
-
-    Looks safe enough to be available for liblxc users.
-******************************************
-
-This results in two symbols with the same name and
-the python3-lxc symbol takes precedence.
-
-Fix the issue by making the function static in python3-lxc,
-so python3-lxc stays compatible with lxc 5.x and 6.x.
-
-A future python3-lxc version might remove the local function
-and use lxc_config_parse_arch() from liblxc 6.0 and later.
-
-Side quest: Even though lxc 5.0 already has the "persona" function argument in
-lxc_config_parse_arch() since 7c43fa56e70c65607f63dec8ff5a9682a3091ab2 (from 2021),
-it is not affected since the symbol visibility is still hidden.
-
-Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
----
- lxc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lxc.c b/lxc.c
-index 3039cfc..bc31eb1 100644
---- a/lxc.c
-+++ b/lxc.c
-@@ -81,7 +81,7 @@ static int lxc_wait_for_pid_status(pid_t pid)
- }
- 
- /* Copied from lxc/confile.c, with HAVE_SYS_PERSONALITY_H check removed */
--signed long lxc_config_parse_arch(const char *arch)
-+static signed long lxc_config_parse_arch(const char *arch)
- {
-     struct per_name {
-         char *name;

diff --git a/lxc-5.0.0_py3.13.patch b/lxc-5.0.0_py3.13.patch
deleted file mode 100644
index 998305c..0000000
--- a/lxc-5.0.0_py3.13.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 5c603a76658d7d278086682ad4481d4c792224f4 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20V=C3=B6gele?= <andreas@andreasvoegele.com>
-Date: Tue, 13 May 2025 12:07:36 +0200
-Subject: [PATCH] Replace the deprecated PyOS_AfterFork() function
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Container_attach_and_possibly_wait() fails in Python 3.13 with
-"PyMutex_Unlock: unlocking mutex that is not locked" if PyOS_AfterFork()
-is used.
-
-Signed-off-by: Andreas Vögele <andreas@andreasvoegele.com>
----
- lxc.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/lxc.c b/lxc.c
-index b515acd..3039cfc 100644
---- a/lxc.c
-+++ b/lxc.c
-@@ -198,7 +198,11 @@ static int lxc_attach_python_exec(void* _payload)
-      * container. As lxc_attach() calls fork() PyOS_AfterFork should be called
-      * in the new process if the Python interpreter will continue to be used.
-      */
-+#if PY_VERSION_HEX >= 0x030700F0
-+    PyOS_AfterFork_Child();
-+#else
-     PyOS_AfterFork();
-+#endif
- 
-     struct lxc_attach_python_payload *payload =
-         (struct lxc_attach_python_payload *)_payload;
-@@ -748,8 +752,14 @@ Container_attach_and_possibly_wait(Container *self, PyObject *args,
-     if (!options)
-         return NULL;
- 
-+#if PY_VERSION_HEX >= 0x030700F0
-+    PyOS_BeforeFork();
-+#endif
-     ret = self->container->attach(self->container, lxc_attach_python_exec,
-                                   &payload, options, &pid);
-+#if PY_VERSION_HEX >= 0x030700F0
-+    PyOS_AfterFork_Parent();
-+#endif
-     if (ret < 0)
-         goto out;
- 

diff --git a/python3-lxc.spec b/python3-lxc.spec
index 5b13012..61f8fd1 100644
--- a/python3-lxc.spec
+++ b/python3-lxc.spec
@@ -1,15 +1,11 @@
 Name:           python3-lxc
-Version:        5.0.0
-Release:        20%{?dist}
+Version:        7.0.0
+Release:        1%{?dist}
 Summary:        Python binding for LXC
 # Automatically converted from old format: LGPLv2+ - review is highly recommended.
 License:        LicenseRef-Callaway-LGPLv2+
 URL:            https://linuxcontainers.org/lxc
 Source0:        https://linuxcontainers.org/downloads/lxc/%{name}-%{version}.tar.gz
-# see https://github.com/lxc/python3-lxc/issues/35
-Patch:          lxc-5.0.0_py3.13.patch
-# see https://github.com/lxc/python3-lxc/pull/38
-Patch:          lxc-5.0.0_fix_personality_corruption.patch
 BuildRequires:  python%{python3_pkgversion}-devel
 BuildRequires:  lxc-devel >= 3.0.0
 BuildRequires:  pkgconfig
@@ -39,7 +35,7 @@ Summary: Python binding for LXC
 
 
 %prep
-%autosetup
+%autosetup -n python3_lxc-%{version}
 
 
 %generate_buildrequires
@@ -69,6 +65,9 @@ sed -i -e '1 s@^#!.*@#!%{__python3}@' examples/*.py
 
 
 %changelog
+* Sun Sep 27 2026 Thomas Moschny <thomas.moschny@gmx.de> - 7.0.0-1
+- Update to 7.0.0.
+
 * Sun Sep 27 2026 Thomas Moschny <thomas.moschny@gmx.de> - 5.0.0-20
 - Add upstream patch to fix "random" personality corruption.
 

diff --git a/sources b/sources
index 1d74845..c8905aa 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (python3-lxc-5.0.0.tar.gz) = 4a1c9af0c322fbfe13ab0778e438ad4bc4ffde153e7fb55b594b6381c6875a93b7d0476bd1d7bcd7344a2d6de81ce6f5fd96519926a32b4acea27acf1bcd2011
+SHA512 (python3-lxc-7.0.0.tar.gz) = b04e750c04edca626c00f44e96062fee943a487a47c5caaed3844cbdf72ce838c0dd66151b074d73b5edfdf2db1e060235cd068273885df1a9f678c21617e39f

                 reply	other threads:[~2026-09-27 15:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=179052349719.1.7527032411814895850.rpms-python3-lxc-1e126888e4e5@fedoraproject.org \
    --to=thm@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox