GNU bug report logs - #69260
[PATCH 0/3] Fix python-mysqlclient segfault

Previous Next

Package: guix-patches;

Reported by: rimarko <at> libero.it

Date: Sun, 18 Feb 2024 22:11:01 UTC

Severity: normal

Tags: patch

Done: Hilton Chain <hako <at> ultrarare.space>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 69260 in the body.
You can then email your comments to 69260 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#69260; Package guix-patches. (Sun, 18 Feb 2024 22:11:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to rimarko <at> libero.it:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 18 Feb 2024 22:11:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: rimarko <at> libero.it
To: guix-patches <at> gnu.org
Cc: Marco Rimoldi <rimarko <at> libero.it>
Subject: [PATCH 0/3] Fix python-mysqlclient segfault
Date: Sun, 18 Feb 2024 22:54:35 +0100
From: Marco Rimoldi <rimarko <at> libero.it>

This patch is divided in three steps:

1. enable tests for python-mysqlclient (sigh!); check phase now fails (see https://issues.guix.gnu.org/69064)
2. work around the bug by changing input library
3. update the package to the latest version available

Cheers,
Marco

Marco Rimoldi (3):
  gnu: python-mysqlclient: Enable selected tests.
  gnu: python-mysqlclient: A test highlights segfault bug in mariadb:
    apply workaround.
  gnu: python-mysqlclient: Update to version 2.2.4.

 gnu/packages/databases.scm | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)


base-commit: fdbf4192f5eaa7fdb5e6e2e98ada0726c8104824
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#69260; Package guix-patches. (Sun, 18 Feb 2024 22:13:02 GMT) Full text and rfc822 format available.

Message #8 received at 69260 <at> debbugs.gnu.org (full text, mbox):

From: rimarko <at> libero.it
To: 69260 <at> debbugs.gnu.org
Cc: Marco Rimoldi <rimarko <at> libero.it>
Subject: [PATCH 1/3] gnu: python-mysqlclient: Enable selected tests.
Date: Sun, 18 Feb 2024 23:12:05 +0100
From: Marco Rimoldi <rimarko <at> libero.it>

* gnu/packages/databases.scm (python-mysqlclient)
[build-system]: Change to pyproject-build-system.
[arguments]
<#:phases>: Add 'fix-test phase.
<#:test-flags>: Specify tests to run.
[native-inputs]: Add python-pytest.
[homepage]: Updated.

Change-Id: I5ae0873155f9a7cc90a318762b77864665fadc01
---
 gnu/packages/databases.scm | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 5169795404..4bb992c97c 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4155,15 +4155,24 @@ (define-public python-mysqlclient
        (method url-fetch)
        (uri (pypi-uri "mysqlclient" version))
        (sha256
-        (base32
-         "1rf5l8hazs3v18hmcrm90z3hi9wxv553ipwd5l6kj8j7l6p7abzv"))))
-    (build-system python-build-system)
-    (arguments '(#:tests? #f))          ;XXX: requires a live database
-    (inputs
-     `(("mysql-dev" ,mariadb "dev")))
-    (home-page "https://github.com/PyMySQL/mysqlclient-python")
-    (synopsis "MySQLdb is an interface to the popular MySQL database server for Python")
-    (description "MySQLdb is an interface to the popular MySQL database server
+        (base32 "1rf5l8hazs3v18hmcrm90z3hi9wxv553ipwd5l6kj8j7l6p7abzv"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'check 'fix-test
+                    (lambda _
+                      (substitute* "tests/test_MySQLdb_times.py"
+                        (("^import mock")
+                         "from unittest import mock")))))
+       #:test-flags '("tests/test__mysql.py" ;tests not needing a live db
+                      "tests/test_MySQLdb_times.py")))
+    (native-inputs (list python-pytest))
+    (inputs `(("mysql-dev" ,mariadb "dev")))
+    (home-page "https://github.com/PyMySQL/mysqlclient")
+    (synopsis
+     "MySQLdb is an interface to the popular MySQL database server for Python")
+    (description
+     "MySQLdb is an interface to the popular MySQL database server
 for Python.  The design goals are:
 @enumerate
 @item Compliance with Python database API version 2.0 [PEP-0249],
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#69260; Package guix-patches. (Sun, 18 Feb 2024 22:13:02 GMT) Full text and rfc822 format available.

Message #11 received at 69260 <at> debbugs.gnu.org (full text, mbox):

From: rimarko <at> libero.it
To: 69260 <at> debbugs.gnu.org
Cc: Marco Rimoldi <rimarko <at> libero.it>
Subject: [PATCH 2/3] gnu: python-mysqlclient: A test highlights segfault bug
 in mariadb: apply workaround.
Date: Sun, 18 Feb 2024 23:12:06 +0100
From: Marco Rimoldi <rimarko <at> libero.it>

* gnu/packages/databases.scm (python-mysqlclient):
[inputs]: Change mariadb:dev to mariadb-connector-c, which also provides libmariadb.so.3.

Change-Id: I8adf277c2c9aae637aef8994b149b3b696bfe790
---
 gnu/packages/databases.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 4bb992c97c..c252738533 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4167,7 +4167,7 @@ (define-public python-mysqlclient
        #:test-flags '("tests/test__mysql.py" ;tests not needing a live db
                       "tests/test_MySQLdb_times.py")))
     (native-inputs (list python-pytest))
-    (inputs `(("mysql-dev" ,mariadb "dev")))
+    (inputs (list mariadb-connector-c))
     (home-page "https://github.com/PyMySQL/mysqlclient")
     (synopsis
      "MySQLdb is an interface to the popular MySQL database server for Python")
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#69260; Package guix-patches. (Sun, 18 Feb 2024 22:13:03 GMT) Full text and rfc822 format available.

Message #14 received at 69260 <at> debbugs.gnu.org (full text, mbox):

From: rimarko <at> libero.it
To: 69260 <at> debbugs.gnu.org
Cc: Marco Rimoldi <rimarko <at> libero.it>
Subject: [PATCH 3/3] gnu: python-mysqlclient: Update to version 2.2.4.
Date: Sun, 18 Feb 2024 23:12:07 +0100
From: Marco Rimoldi <rimarko <at> libero.it>

* gnu/packages/databases.scm (python-mysqlclient)
[version]: 2.0.1 -> 2.2.4.
[arguments] <#:phases> Remove 'fix-test phase (fixed upstream).
[native-inputs]: Add pkg-config.

Change-Id: I57a0b84eb0d56f9cea619b226090cc1ccd84812b
---
 gnu/packages/databases.scm | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index c252738533..c035a05e74 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4149,24 +4149,18 @@ (define-public yoyo-migrations
 (define-public python-mysqlclient
   (package
     (name "python-mysqlclient")
-    (version "2.0.1")
+    (version "2.2.4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "mysqlclient" version))
        (sha256
-        (base32 "1rf5l8hazs3v18hmcrm90z3hi9wxv553ipwd5l6kj8j7l6p7abzv"))))
+        (base32 "0hdznfz9095d2qhl7awbp39s7wpqbxn37xzan487qzaf8srrzg1k"))))
     (build-system pyproject-build-system)
     (arguments
-     '(#:phases (modify-phases %standard-phases
-                  (add-before 'check 'fix-test
-                    (lambda _
-                      (substitute* "tests/test_MySQLdb_times.py"
-                        (("^import mock")
-                         "from unittest import mock")))))
-       #:test-flags '("tests/test__mysql.py" ;tests not needing a live db
+     '(#:test-flags '("tests/test__mysql.py" ;tests not needing a live db
                       "tests/test_MySQLdb_times.py")))
-    (native-inputs (list python-pytest))
+    (native-inputs (list pkg-config python-pytest))
     (inputs (list mariadb-connector-c))
     (home-page "https://github.com/PyMySQL/mysqlclient")
     (synopsis
-- 
2.41.0





Reply sent to Hilton Chain <hako <at> ultrarare.space>:
You have taken responsibility. (Wed, 27 Mar 2024 15:23:02 GMT) Full text and rfc822 format available.

Notification sent to rimarko <at> libero.it:
bug acknowledged by developer. (Wed, 27 Mar 2024 15:23:03 GMT) Full text and rfc822 format available.

Message #19 received at 69260-done <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: Marco Rimoldi <rimarko <at> libero.it>
Cc: 69260-done <at> debbugs.gnu.org
Subject: Re: [bug#69260] [PATCH 0/3] Fix python-mysqlclient segfault
Date: Wed, 27 Mar 2024 23:21:55 +0800
Hi Marco,

On Mon, 19 Feb 2024 05:54:35 +0800,
Marco Rimoldi via Guix-patches via wrote:
>
> From: Marco Rimoldi <rimarko <at> libero.it>
>
> This patch is divided in three steps:
>
> 1. enable tests for python-mysqlclient (sigh!); check phase now fails (see https://issues.guix.gnu.org/69064)
> 2. work around the bug by changing input library
> 3. update the package to the latest version available
>
> Cheers,
> Marco
>
> Marco Rimoldi (3):
>   gnu: python-mysqlclient: Enable selected tests.
>   gnu: python-mysqlclient: A test highlights segfault bug in mariadb:
>     apply workaround.
>   gnu: python-mysqlclient: Update to version 2.2.4.
>
>  gnu/packages/databases.scm | 23 +++++++++++++----------
>  1 file changed, 13 insertions(+), 10 deletions(-)
>
>
> base-commit: fdbf4192f5eaa7fdb5e6e2e98ada0726c8104824
> --
> 2.41.0

I have merged patch 01 and 02 into one commit, used gexps for arguments,
adjusted commit messages, and applied the series as 5a41d4a56d0d...517c13624a96.

Thanks!




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Apr 2024 11:25:52 GMT) Full text and rfc822 format available.

This bug report was last modified 9 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.