From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id yAbiIUadcWUcEgEA9RJhRA:P1 (envelope-from ) for ; Thu, 07 Dec 2023 11:24:06 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id yAbiIUadcWUcEgEA9RJhRA (envelope-from ) for ; Thu, 07 Dec 2023 11:24:06 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 3F45663E3A for ; Thu, 7 Dec 2023 11:24:06 +0100 (CET) Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gnu.org header.s=fencepost-gnu-org header.b=EfTW9SFl; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1701944646; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=mlx7HjiTeNWgbwOvZch9QsB5bTKEoyqINnLzyoItWJg=; b=DA//5eJH5AXDOTKrmBH5KN4HAZBndznAQZn/Ukby3xcBHlzans84noXhajHfndHsk98aaG UVCwWirIU03rhCKsJp4UxvjB0La2Nlc6OHdl0EI6IBnJzeE9NF6dMAtmbE0QXE9CBaOHnA 2hPErtQDKOZ7YRQjnM2ORK7uTwLPhxk+iXlfNjfVq6iJzXm+N2m/hRdruuroslYY+2zK/l 5Wr8sVZVvffCjiwqbYXXoD1SjOoEfBnRYxKB+KRJBf13PrAr7Rki/sMVmqXOs5CdrqsvYw tEGp+pPlKoJK8I0/vKY7RLNt73A6xIkqhTn6BitUY7HNxZluNgbaa8qyphzenw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gnu.org header.s=fencepost-gnu-org header.b=EfTW9SFl; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Seal: i=1; s=key1; d=yhetil.org; t=1701944646; a=rsa-sha256; cv=none; b=WqWqWe0Zmi31HN3S2PCvFA1PCLVqkwGAs72NcjySyY779Xg2bLdeCufOzMqz1ScuhLMlRE USBygt06iCYULLwiG3z86jIHwl2t/ZE27yOTEPWUc688nwn0dVn9ZdyahYcNfE8PNeY1Iz ruwZMFcaGl/aIMKedmUvptNQgSplfVKr8CAWTMH2e4CqWU77jyWkHTxefjkjnmUviuUkh+ WS0cEE0bYbYxCZ/lp73M5MkfjfYGIdGASQ96yPA/TW1RqjXBFMPWyj0N8C3zblyL3x1Mls /doRcrPvz8K+PlQuHtlk7D5q1gHCRwgHS/mzHb6O8vmFP3OtxXQaG48yXNdTHA== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rBBXs-0003JF-90; Thu, 07 Dec 2023 05:23:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rBBXr-0003If-1v for guix-patches@gnu.org; Thu, 07 Dec 2023 05:23:51 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rBBXq-0000qk-Nk for guix-patches@gnu.org; Thu, 07 Dec 2023 05:23:50 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rBBY2-0005XI-Vf for guix-patches@gnu.org; Thu, 07 Dec 2023 05:24:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#67686] [PATCH core-updates 3/5] DRAFT gnu: glibc: Update to 2.38. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 07 Dec 2023 10:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67686 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67686@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 67686-submit@debbugs.gnu.org id=B67686.170194460721201 (code B ref 67686); Thu, 07 Dec 2023 10:24:02 +0000 Received: (at 67686) by debbugs.gnu.org; 7 Dec 2023 10:23:27 +0000 Received: from localhost ([127.0.0.1]:41140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBBXS-0005Vr-Ou for submit@debbugs.gnu.org; Thu, 07 Dec 2023 05:23:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:50344) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rBBXP-0005V1-IL for 67686@debbugs.gnu.org; Thu, 07 Dec 2023 05:23:24 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rBBX8-0000jd-0W; Thu, 07 Dec 2023 05:23:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=vFUd7SUJugLvTfqfcu8BjJb0fOyZyRT/vW5y8U8tcWI=; b=EfTW9SFlTGVi01/NH5pt s4LNLXJ3EOQE/b5/iLCdm8349+p8Blc8FF9AhU+ZOpyPQElf0BM41IHcjg2hbkGkZxcbQgVmGFMSz xAk0oPnvCMN1GhtVfwiOzqMAs4n7jVa9jwzX3gbLoxcoArv44u5LcxdfkYyO9kNCYNO1K4bT+ZP62 4a0jmxoWSIoycMgAmnzWIwGW4Y0/c4NJAJSA95DWlRlFu+xy3kCYQHN1bYAhkzfe4fe8G2T0htJMF 1gT88zIWu9eXRkf94MT8c1Geq4i4dh/9KbM4cgzd1H7G61w/EwIuvTmzq8wD/zCLJsuT5NVLdaL5N 62cbkGBsKYgVbg==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Thu, 7 Dec 2023 11:22:46 +0100 Message-ID: <591e6131c16d1d54dfa23291b35bffca81551956.1701943221.git.ludo@gnu.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Queue-Id: 3F45663E3A X-Spam-Score: -5.85 X-Migadu-Scanner: mx10.migadu.com X-Migadu-Spam-Score: -5.85 X-TUID: s24m9PHbBKtM DRAFT: Two questions: 1. Can we abandon ‘glibc-allow-kernel-2.6.32’ (CentOS 6)? 2. Check cross-compilation. * gnu/packages/patches/glibc-2.38-ldd-x86_64.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc): Update to 2.38. [source]: Adjust list of patches. [arguments]: Add ‘--enable-crypt’. (glibc-2.35): New variable. Change-Id: I040b724c47d2ee5f90f2deb03a4828e79d1bfc4e --- gnu/local.mk | 1 + gnu/packages/base.scm | 47 +++++++++++++++---- .../glibc-2.37-versioned-locpath.patch | 35 +++----------- .../patches/glibc-2.38-ldd-x86_64.patch | 8 ++++ 4 files changed, 52 insertions(+), 39 deletions(-) create mode 100644 gnu/packages/patches/glibc-2.38-ldd-x86_64.patch diff --git a/gnu/local.mk b/gnu/local.mk index f1839319c8..7ecc828003 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1304,6 +1304,7 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch \ %D%/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch \ %D%/packages/patches/glibc-2.37-versioned-locpath.patch \ + %D%/packages/patches/glibc-2.38-ldd-x86_64.patch \ %D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \ %D%/packages/patches/glibc-hurd-getauxval.patch \ %D%/packages/patches/glibc-hurd-gettyent.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index f95ae1b679..c5eac8a2da 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -795,26 +795,25 @@ (define-public glibc ;; version 2.28, GNU/Hurd used a different glibc branch. (package (name "glibc") - (version "2.35") + (version "2.38") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 - "0bpm1kfi09dxl4c6aanc5c9951fmf6ckkzay60cx7k37dcpp68si")) + "1lizxxqbfma5zgmcj0gk5iyk171f2nfvdhbv8rjrkcmjk24rk0pv")) (patches (search-patches "glibc-ldd-powerpc.patch" - "glibc-ldd-x86_64.patch" + "glibc-2.38-ldd-x86_64.patch" "glibc-dl-cache.patch" - "glibc-versioned-locpath.patch" - "glibc-allow-kernel-2.6.32.patch" + "glibc-2.37-versioned-locpath.patch" + ;; "glibc-allow-kernel-2.6.32.patch" "glibc-reinstate-prlimit64-fallback.patch" "glibc-supported-locales.patch" - "glibc-cross-objdump.patch" - "glibc-cross-objcopy.patch" ;must come 2nd - "glibc-hurd-clock_t_centiseconds.patch" - "glibc-hurd-clock_gettime_monotonic.patch" + "glibc-2.37-hurd-clock_t_centiseconds.patch" + "glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch" "glibc-hurd-mach-print.patch" - "glibc-hurd-gettyent.patch")))) + "glibc-hurd-gettyent.patch" + "glibc-hurd-getauxval.patch")))) (build-system gnu-build-system) ;; Glibc's refers to , for instance, so glibc @@ -876,6 +875,10 @@ (define-public glibc "kernel-headers") "/include") + ;; Libcrypt and are deprecated in glibc 2.38 and not + ;; built by default. Build it to reduce application breakage. + "--enable-crypt" + ;; This is the default for most architectures as of GNU libc 2.26, ;; but we specify it explicitly for clarity and consistency. See ;; "kernel-features.h" in the GNU libc for details. @@ -1083,6 +1086,30 @@ (define-public glibc-for-fhs ;; Below are old libc versions, which we use mostly to build locale data in ;; the old format (which the new libc cannot cope with.) +(define-public glibc-2.35 + (package + (inherit glibc) + (version "2.35") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "0bpm1kfi09dxl4c6aanc5c9951fmf6ckkzay60cx7k37dcpp68si")) + (patches (search-patches "glibc-ldd-powerpc.patch" + "glibc-ldd-x86_64.patch" + "glibc-dl-cache.patch" + "glibc-versioned-locpath.patch" + "glibc-allow-kernel-2.6.32.patch" + "glibc-reinstate-prlimit64-fallback.patch" + "glibc-supported-locales.patch" + "glibc-cross-objdump.patch" + "glibc-cross-objcopy.patch" ;must come 2nd + "glibc-hurd-clock_t_centiseconds.patch" + "glibc-hurd-clock_gettime_monotonic.patch" + "glibc-hurd-mach-print.patch" + "glibc-hurd-gettyent.patch")))))) + (define-public glibc-2.33 (package (inherit glibc) diff --git a/gnu/packages/patches/glibc-2.37-versioned-locpath.patch b/gnu/packages/patches/glibc-2.37-versioned-locpath.patch index 0acaeb1e46..8685f2c3b7 100644 --- a/gnu/packages/patches/glibc-2.37-versioned-locpath.patch +++ b/gnu/packages/patches/glibc-2.37-versioned-locpath.patch @@ -1,11 +1,3 @@ -From d73ba2caa10b8e9f51ff4239cc32eeb4e0de4279 Mon Sep 17 00:00:00 2001 -Message-Id: -From: Josselin Poiret -Date: Sat, 13 May 2023 14:10:43 +0200 -Subject: [PATCH] Add versioned locpath - -From: Josselin Poiret - The format of locale data can be incompatible between libc versions, and loading incompatible data can lead to 'setlocale' returning EINVAL at best or triggering an assertion failure at worst. See @@ -20,20 +12,8 @@ that variable. So, if GUIX_LOCPATH=/foo:/bar, locale data is searched for in That way, a single 'GUIX_LOCPATH' setting can work even if different libc versions coexist on the system. - -This patch is adapted from the 2.35 patch. - ---- - locale/newlocale.c | 15 ++-------- - locale/setlocale.c | 68 +++++++++++++++++++++++++++++++++++++------- - string/Makefile | 1 + - string/argz-suffix.c | 56 ++++++++++++++++++++++++++++++++++++ - string/argz.h | 10 +++++++ - 5 files changed, 127 insertions(+), 23 deletions(-) - create mode 100644 string/argz-suffix.c - diff --git a/locale/newlocale.c b/locale/newlocale.c -index 108d2428bf..6218e0fa77 100644 +index 108d2428..6218e0fa 100644 --- a/locale/newlocale.c +++ b/locale/newlocale.c @@ -29,6 +29,7 @@ @@ -73,7 +53,7 @@ index 108d2428bf..6218e0fa77 100644 /* Get the names for the locales we are interested in. We either allow a composite name or a single name. */ diff --git a/locale/setlocale.c b/locale/setlocale.c -index dd73fa4248..d8eb799384 100644 +index 6a902faa..2d07a644 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -213,12 +213,65 @@ setdata (int category, struct __locale_data *data) @@ -143,7 +123,7 @@ index dd73fa4248..d8eb799384 100644 char *composite; /* Sanity check for CATEGORY argument. */ -@@ -249,17 +302,10 @@ setlocale (int category, const char *locale) +@@ -249,17 +308,10 @@ setlocale (int category, const char *locale) locale_path = NULL; locale_path_len = 0; @@ -165,7 +145,7 @@ index dd73fa4248..d8eb799384 100644 if (category == LC_ALL) diff --git a/string/Makefile b/string/Makefile -index 3eced0d027..a7e68729ad 100644 +index 8cdfd5b0..6b0d606d 100644 --- a/string/Makefile +++ b/string/Makefile @@ -51,6 +51,7 @@ routines := \ @@ -178,7 +158,7 @@ index 3eced0d027..a7e68729ad 100644 bzero \ diff --git a/string/argz-suffix.c b/string/argz-suffix.c new file mode 100644 -index 0000000000..505b0f248c +index 00000000..505b0f24 --- /dev/null +++ b/string/argz-suffix.c @@ -0,0 +1,56 @@ @@ -239,7 +219,7 @@ index 0000000000..505b0f248c +} +weak_alias (__argz_suffix_entries, argz_suffix_entries) diff --git a/string/argz.h b/string/argz.h -index cbc588a8e6..bc6e484c9d 100644 +index cbc588a8..bc6e484c 100644 --- a/string/argz.h +++ b/string/argz.h @@ -108,6 +108,16 @@ extern error_t argz_replace (char **__restrict __argz, @@ -259,6 +239,3 @@ index cbc588a8e6..bc6e484c9d 100644 /* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there are no more. If entry is NULL, then the first entry is returned. This --- -2.40.1 - diff --git a/gnu/packages/patches/glibc-2.38-ldd-x86_64.patch b/gnu/packages/patches/glibc-2.38-ldd-x86_64.patch new file mode 100644 index 0000000000..9db412b5f2 --- /dev/null +++ b/gnu/packages/patches/glibc-2.38-ldd-x86_64.patch @@ -0,0 +1,8 @@ +By default, 'RTDLLIST' in 'ldd' refers to 'lib64/ld-linux-x86-64.so', whereas +it's in 'lib/' for us. This patch fixes that. + +--- glibc-2.38/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed ++++ glibc-2.38/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed +@@ -1 +1 @@ +-s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_ ++s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \2\4-x86-64\6 \2x32\4-x32\6"_ -- 2.41.0