]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] gh-154389: Do not use uuid_create() on OpenBSD (GH-154390) (GH-154392) 3.14
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 21 Jul 2026 18:27:58 +0000 (20:27 +0200)
committerGitHub <noreply@github.com>
Tue, 21 Jul 2026 18:27:58 +0000 (18:27 +0000)
Like NetBSD, OpenBSD generates version 4 UUIDs in uuid_create(), so it
cannot be used for uuid.uuid1().
(cherry picked from commit c76fb912070389e0fbad3bf4eab066cd5da931b9)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Misc/NEWS.d/next/Library/2026-07-21-20-34-05.gh-issue-154389.DlTiii.rst [new file with mode: 0644]
configure
configure.ac

diff --git a/Misc/NEWS.d/next/Library/2026-07-21-20-34-05.gh-issue-154389.DlTiii.rst b/Misc/NEWS.d/next/Library/2026-07-21-20-34-05.gh-issue-154389.DlTiii.rst
new file mode 100644 (file)
index 0000000..eb2e2ed
--- /dev/null
@@ -0,0 +1,3 @@
+Fix :func:`uuid.uuid1` on OpenBSD:
+it returned a version 4 UUID,
+because ``uuid_create()`` generates random UUIDs on this platform.
index 717a2079124129a4ba7c86346eb71c1f9f4e99fe..7be3c3ec7c94d9108fcb45cf65ed3a49a122c21b 100755 (executable)
--- a/configure
+++ b/configure
@@ -14668,9 +14668,10 @@ then :
 
 fi
 
-# gh-124228: While the libuuid library is available on NetBSD, it supports only UUID version 4.
+# gh-124228: While the libuuid library is available on NetBSD and OpenBSD,
+# it supports only UUID version 4.
 # This restriction inhibits the proper generation of time-based UUIDs.
-if test "$ac_sys_system" = "NetBSD"; then
+if test "$ac_sys_system" = "NetBSD" || test "$ac_sys_system" = "OpenBSD"; then
   have_uuid=missing
   printf "%s\n" "#define HAVE_UUID_H 0" >>confdefs.h
 
index cac2f931c91aa17460e1a6d9747d8d46c4a3990a..92b0a3c89625595e473acf6f0f72991d845d3f51 100644 (file)
@@ -3894,9 +3894,10 @@ AS_VAR_IF([ac_cv_have_uuid_generate_time_safe], [yes], [
   AC_DEFINE([HAVE_UUID_GENERATE_TIME_SAFE], [1])
 ])
 
-# gh-124228: While the libuuid library is available on NetBSD, it supports only UUID version 4.
+# gh-124228: While the libuuid library is available on NetBSD and OpenBSD,
+# it supports only UUID version 4.
 # This restriction inhibits the proper generation of time-based UUIDs.
-if test "$ac_sys_system" = "NetBSD"; then
+if test "$ac_sys_system" = "NetBSD" || test "$ac_sys_system" = "OpenBSD"; then
   have_uuid=missing
   AC_DEFINE([HAVE_UUID_H], [0])
 fi