GNU bug report logs - #49516
[core-updates] glibc-2.31 patches fail to apply

Previous Next

Package: guix;

Reported by: Chris Marusich <cmmarusich <at> gmail.com>

Date: Sun, 11 Jul 2021 00:30:02 UTC

Severity: normal

Done: Chris Marusich <cmmarusich <at> gmail.com>

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 49516 in the body.
You can then email your comments to 49516 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 bug-guix <at> gnu.org:
bug#49516; Package guix. (Sun, 11 Jul 2021 00:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Chris Marusich <cmmarusich <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 11 Jul 2021 00:30:02 GMT) Full text and rfc822 format available.

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

From: Chris Marusich <cmmarusich <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: [core-updates] glibc-2.31 patches fail to apply
Date: Sat, 10 Jul 2021 17:29:19 -0700
[Message part 1 (text/plain, inline)]
Hi,

On core-updates, the glibc-2.31 patch no longer apply cleanly.  This
causes glibc-2.31 to fail to build.  This causes downstream problems;
for example, building a Guix System from bare-bones.tmpl fails because
%default-locale-libcs still contains glibc-2.31.

Example:

--8<---------------cut here---------------start------------->8---
source is at 'glibc-2.31'
applying '/gnu/store/5icxvnlbac76mm49g6sq7vzznjxmn2s6-glibc-ldd-powerpc.patch'...
applying '/gnu/store/v1h2i4i5xmrs9d4c44w5wshv5zyszb8k-glibc-ldd-x86_64.patch'...
applying '/gnu/store/bpds9cz27ghqf64y8xz4vs35p7275d6n-glibc-dl-cache.patch'...
applying '/gnu/store/lgrlsr3qnxxvic3y472qwybv5wbyabm6-glibc-hidden-visibility-ldconfig.patch'...
applying '/gnu/store/mvq0q2f211bxb4syfxvng9kgdxzkr5f3-glibc-versioned-locpath.patch'...
applying '/gnu/store/sz5nmndsway8bq7283ihdgvmm3xb14l8-glibc-allow-kernel-2.6.32.patch'...
applying '/gnu/store/vh29xqy3daavjpi0ikpmqzfczzpbscix-glibc-reinstate-prlimit64-fallback.patch'...
applying '/gnu/store/rnqkir22908x6z3i1mk4phyvskz15qc4-glibc-supported-locales.patch'...
applying '/gnu/store/svva3cym2n04d2x3bpi4rs6qpnw0m162-glibc-hurd-clock_t_centiseconds.patch'...
applying '/gnu/store/45ra3k89b3kisarlgvmijy507k6m12ll-glibc-hurd-clock_gettime_monotonic.patch'...
Backtrace:
           5 (primitive-load "/gnu/store/bablv90wm5xkd0vinal0gsifm0l…")
In ice-9/eval.scm:
    619:8  4 (_ #(#(#<directory (guile-user) 7ffff6f53c80> "gli…") #))
In ice-9/boot-9.scm:
    142:2  3 (dynamic-wind #<procedure 7ffff6f16b00 at ice-9/eval.s…> …)
In ice-9/eval.scm:
    619:8  2 (_ #(#(#<directory (guile-user) 7ffff6f53c80>)))
In srfi/srfi-1.scm:
    634:9  1 (for-each #<procedure apply-patch (a)> _)
In guix/build/utils.scm:
    721:6  0 (invoke "/gnu/store/i5md0v46jp7ahap0vbj4hwyh6lxsny3g-p…" …)

guix/build/utils.scm:721:6: In procedure invoke:
ERROR:
  1. &invoke-error:
      program: "/gnu/store/i5md0v46jp7ahap0vbj4hwyh6lxsny3g-patch-2.7.6/bin/patch"
      arguments: ("--force" "--no-backup-if-mismatch" "-p1" "--input" "/gnu/store/45ra3k89b3kisarlgvmijy507k6m12ll-glibc-hurd-clock_gettime_monotonic.patch")
      exit-status: 1
      term-signal: #f
      stop-signal: #f
builder for `/gnu/store/jlpanpgns01sv3jr63c13fn133pj7ik5-glibc-2.31.tar.xz.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

Judging by the git log for gnu/system/locale.scm, it seems that we
sometimes keep old versions of glibc in %default-locale-libs, in order
to make it easier for people to upgrade across glibc version changes.
Therefore, we probably can't just drop glibc-2.31.

The commit which introduced the failure is
87961fc965b96ac0c7a5909ac2faab2d023b5339.  The problem does not occur on
the prior commit.  For glibc-2.31, commit
87961fc965b96ac0c7a5909ac2faab2d023b5339 effectively removed the
glibc-hurd-signal-sa-siginfo.patch and modified
libc-hurd-clock_gettime_monotonic.patch.  We should probably retain
2.31-specific versions of these patches so that users can continue to
build glibc-2.31 until we decide to remove it entirely.

I have attached a patch which accomplishes this.

-- 
Chris
[0001-gnu-glibc-2.31-Restore-patches.patch (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#49516; Package guix. (Sun, 11 Jul 2021 02:35:02 GMT) Full text and rfc822 format available.

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

From: Chris Marusich <cmmarusich <at> gmail.com>
To: 49516 <at> debbugs.gnu.org
Subject: Re: bug#49516: [core-updates] glibc-2.31 patches fail to apply
Date: Sat, 10 Jul 2021 19:33:50 -0700
[Message part 1 (text/plain, inline)]
Chris Marusich <cmmarusich <at> gmail.com> writes:

> On core-updates, the glibc-2.31 patch no longer apply cleanly.

Looks like the other old glibc versions explicitly declare their
patches, like this:


--8<---------------cut here---------------start------------->8---
(define-public glibc-2.30
  (package
    (inherit glibc)
    (version "2.30")
    (source (origin
              (inherit (package-source glibc))
              (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
              (sha256
               (base32
                "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72"))
              (patches (search-patches "glibc-ldd-x86_64.patch"
                                       "glibc-CVE-2019-19126.patch"
                                       "glibc-hidden-visibility-ldconfig.patch"
                                       "glibc-versioned-locpath.patch"
                                       "glibc-allow-kernel-2.6.32.patch"
                                       "glibc-reinstate-prlimit64-fallback.patch"
                                       "glibc-2.29-supported-locales.patch"))))))
--8<---------------cut here---------------end--------------->8---

I've updated my patch to do the same thing; see attached.

As an aside, when do we remove old versions of glibc?

-- 
Chris
[0001-gnu-glibc-2.31-Restore-patches.patch (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#49516; Package guix. (Sun, 18 Jul 2021 20:09:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Chris Marusich <cmmarusich <at> gmail.com>
Cc: 49516 <at> debbugs.gnu.org
Subject: Re: bug#49516: [core-updates] glibc-2.31 patches fail to apply
Date: Sun, 18 Jul 2021 22:08:40 +0200
Hi!

Chris Marusich <cmmarusich <at> gmail.com> skribis:

> As an aside, when do we remove old versions of glibc?

Good question.  I’d say it’s enough to keep 3 versions in total.
Currently the main (only?) use case for these is when computing locale
data via the ‘locale-libcs’ field of operating system definitions.

Thoughts?

> From ef169adea6f9ca971e22845b839511b015cbc76c Mon Sep 17 00:00:00 2001
> From: Chris Marusich <cmmarusich <at> gmail.com>
> Date: Sat, 10 Jul 2021 16:49:49 -0700
> Subject: [PATCH] gnu: glibc-2.31: Restore patches.
>
> Commit 87961fc965b96ac0c7a5909ac2faab2d023b5339 inadvertently modified the
> patch set for glibc-2.31.  This change restores the original patch set.
>
> Fixes: <https://bugs.gnu.org/49516>.
>
> * gnu/packages/base.scm (glibc-2.31) [source]: Use the same patches as glibc,
> but replace glibc-hurd-clock_gettime_monotonic.patch with
> glibc-2.31-hurd-clock_gettime_monotonic.patch, and add
> glibc-hurd-signal-sa-siginfo.patch.
> * gnu/packages/patches/glibc-2.31-hurd-clock_gettime_monotonic.patch: Add it.
> * gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch: Add it.
> * gnu/local.mk (dist_patch_DATA): Adjust accordingly.

LGTM, thanks!

Ludo’.




Reply sent to Chris Marusich <cmmarusich <at> gmail.com>:
You have taken responsibility. (Wed, 21 Jul 2021 23:05:02 GMT) Full text and rfc822 format available.

Notification sent to Chris Marusich <cmmarusich <at> gmail.com>:
bug acknowledged by developer. (Wed, 21 Jul 2021 23:05:02 GMT) Full text and rfc822 format available.

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

From: Chris Marusich <cmmarusich <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 49516-done <at> debbugs.gnu.org
Subject: Re: bug#49516: [core-updates] glibc-2.31 patches fail to apply
Date: Wed, 21 Jul 2021 16:04:40 -0700
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:

> Hi!
>
> Chris Marusich <cmmarusich <at> gmail.com> skribis:
>
>> As an aside, when do we remove old versions of glibc?
>
> Good question.  I’d say it’s enough to keep 3 versions in total.
> Currently the main (only?) use case for these is when computing locale
> data via the ‘locale-libcs’ field of operating system definitions.
>
> Thoughts?

3 seems fine to me.  I suppose if they are particularly important for
some reason, an old version could be moved to the Guix-Past channel, but
I guess in most cases we would just remove them and move forward.

>> From ef169adea6f9ca971e22845b839511b015cbc76c Mon Sep 17 00:00:00 2001
>> From: Chris Marusich <cmmarusich <at> gmail.com>
>> Date: Sat, 10 Jul 2021 16:49:49 -0700
>> Subject: [PATCH] gnu: glibc-2.31: Restore patches.
>>
>> Commit 87961fc965b96ac0c7a5909ac2faab2d023b5339 inadvertently modified the
>> patch set for glibc-2.31.  This change restores the original patch set.
>>
>> Fixes: <https://bugs.gnu.org/49516>.
>>
>> * gnu/packages/base.scm (glibc-2.31) [source]: Use the same patches as glibc,
>> but replace glibc-hurd-clock_gettime_monotonic.patch with
>> glibc-2.31-hurd-clock_gettime_monotonic.patch, and add
>> glibc-hurd-signal-sa-siginfo.patch.
>> * gnu/packages/patches/glibc-2.31-hurd-clock_gettime_monotonic.patch: Add it.
>> * gnu/packages/patches/glibc-hurd-signal-sa-siginfo.patch: Add it.
>> * gnu/local.mk (dist_patch_DATA): Adjust accordingly.
>
> LGTM, thanks!
>
> Ludo’.

Thank you for taking a look!  I've committed this in
93a5e89008af440655527d03d62d4726683a89ac.  I'll close this report now.


-- 
Chris
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 19 Aug 2021 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 222 days ago.

Previous Next


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