GNU bug report logs - #71729
Emacs 29.4 emergency bugfix release

Previous Next

Package: guix;

Reported by: Adam Porter <adam <at> alphapapa.net>

Date: Sun, 23 Jun 2024 00:55:01 UTC

Severity: normal

Done: Liliana Marie Prikler <liliana.prikler <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 71729 in the body.
You can then email your comments to 71729 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#71729; Package guix. (Sun, 23 Jun 2024 00:55:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Adam Porter <adam <at> alphapapa.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 23 Jun 2024 00:55:02 GMT) Full text and rfc822 format available.

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

From: Adam Porter <adam <at> alphapapa.net>
To: bug-guix <at> gnu.org
Subject: Emacs 29.4 emergency bugfix release
Date: Sat, 22 Jun 2024 19:52:16 -0500
Hello,

Today an emergency bugfix release was made of Emacs v29.4.  It fixes an 
important security vulnerability.

FWIW, I had hoped that I could install it by running:

  guix install --with-version=emacs=29.4 emacs

But that fails the validate-comp-integrity phase, showing that all of 
its tests fail, with every function being loaded in byte-compiled form 
instead of native-compiled.

And despite my best efforts at comparing the emacs.git tags for 29.3 and 
29.4 to look for any relevant changes, and digging through the relevant 
source code, and scanning through the build logs, I can't find a cause 
for this problem.

Is this failure expected?  If so, is it something unique to the Emacs 
packaging, and could it be fixed?  (Before Emacs 28 was released, I was 
able to use a similar "--with-commit" option to build and install what 
was then the emacs-next package to get native-compilation support, 
keeping it updated with Emacs's master branch at the time.  It would be 
helpful if that could still be used by users rather than having to wait 
for an update to the package definition, especially in a case like this.)

Thanks for your work on Emacs in Guix.

--Adam




Reply sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
You have taken responsibility. (Sun, 23 Jun 2024 08:41:02 GMT) Full text and rfc822 format available.

Notification sent to Adam Porter <adam <at> alphapapa.net>:
bug acknowledged by developer. (Sun, 23 Jun 2024 08:41:02 GMT) Full text and rfc822 format available.

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

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Adam Porter <adam <at> alphapapa.net>, 71729-done <at> debbugs.gnu.org
Subject: Re: Emacs 29.4 emergency bugfix release
Date: Sun, 23 Jun 2024 10:39:18 +0200
Am Samstag, dem 22.06.2024 um 19:52 -0500 schrieb Adam Porter:
> Hello,
> 
> Today an emergency bugfix release was made of Emacs v29.4.  It fixes
> an important security vulnerability.
Note: Security bugs should go to guix-security instead.  But thanks for
pointing out the new Emacs release, I've pushed an update. (Thus
marking this done)

> FWIW, I had hoped that I could install it by running:
> 
>    guix install --with-version=emacs=29.4 emacs
> 
> But that fails the validate-comp-integrity phase, showing that all of
> its tests fail, with every function being loaded in byte-compiled
> form instead of native-compiled.
Ah, yes, that is not something you can do with --with-version, as it
disregards our patches and everything.

> And despite my best efforts at comparing the emacs.git tags for 29.3
> and 29.4 to look for any relevant changes, and digging through the
> relevant source code, and scanning through the build logs, I can't
> find a cause for this problem.
> 
> Is this failure expected?  If so, is it something unique to the Emacs
> packaging, and could it be fixed?  (Before Emacs 28 was released, I
> was able to use a similar "--with-commit" option to build and install
> what was then the emacs-next package to get native-compilation
> support, keeping it updated with Emacs's master branch at the time. 
> It would be helpful if that could still be used by users rather than
> having to wait for an update to the package definition, especially in
> a case like this.)
I understand your pain, but I doubt there is a reasonable fix to this.
Perhaps the check should honour tests?, but then you'd disable all the
other tests as well as part of the build.  Maybe a --without-phase
option to the Guix CLI would be better?

As for how to work around this, you can do a more elaborate package
definition:

  (package
    (inherit emacs)
    (version NEW_VERSION)
    (source (origin (inherit (package-source emacs))
                    (uri NEW_URI))))

This should automatically apply our patches.  Or, you can locally run
`guix refresh -u emacs'.

Cheers




Information forwarded to bug-guix <at> gnu.org:
bug#71729; Package guix. (Wed, 26 Jun 2024 14:22:02 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: 71729 <at> debbugs.gnu.org, liliana.prikler <at> gmail.com, adam <at> alphapapa.net
Subject: Re: bug#71729: Emacs 29.4 emergency bugfix release
Date: Wed, 26 Jun 2024 10:20:51 -0400
On Sun, Jun 23, 2024 at 10:39:18AM +0200, Liliana Marie Prikler wrote:
> Note: Security bugs should go to guix-security instead.  But thanks for
> pointing out the new Emacs release, I've pushed an update. (Thus
> marking this done)

I think that only secret security bugs should go to guix-security,
unless the policy has changed. Public issues should go to bug-guix.




Information forwarded to bug-guix <at> gnu.org:
bug#71729; Package guix. (Thu, 27 Jun 2024 13:58:02 GMT) Full text and rfc822 format available.

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

From: Adam Porter <adam <at> alphapapa.net>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>, 71729 <at> debbugs.gnu.org
Subject: Re: Emacs 29.4 emergency bugfix release
Date: Thu, 27 Jun 2024 08:57:20 -0500
Hi Liliana,

On 6/23/24 03:39, Liliana Marie Prikler wrote:
> Am Samstag, dem 22.06.2024 um 19:52 -0500 schrieb Adam Porter:
>> Hello,
>>
>> Today an emergency bugfix release was made of Emacs v29.4.  It fixes
>> an important security vulnerability.
> Note: Security bugs should go to guix-security instead.  But thanks for
> pointing out the new Emacs release, I've pushed an update. (Thus
> marking this done)

Thanks.

If I may ask here, as it seems relevant and might help other users in 
the future:

A few minutes ago I ran "guix pull", but after it finished, "guix show 
emacs" still shows:

  name: emacs
  version: 29.3

Am I missing something?  e.g. the equivalents in Debian, like "apt show 
emacs" or "apt policy emacs", show both installed and available versions.

So as a user, how am I to know whether I'm using the latest version of a 
package?  I also tried "guix upgrade -n" (which updates substitute lists 
from the network, which can significantly delay its finishing for a 
simple check like this), and it shows:

  The following packages would be upgraded:
   emacs             (dependencies or package changed)

But maybe that's affected by the workaround I'm using (see below).

>> FWIW, I had hoped that I could install it by running:
>>
>>     guix install --with-version=emacs=29.4 emacs
>>
>> But that fails the validate-comp-integrity phase, showing that all of
>> its tests fail, with every function being loaded in byte-compiled
>> form instead of native-compiled.

> Ah, yes, that is not something you can do with --with-version, as it
> disregards our patches and everything.

Ah, I wish I had known that.  FWIW, looking at 
<https://guix.gnu.org/manual/en/html_node/Package-Transformation-Options.html>, 
I can't even find "--with-version" documented at all.  But besides that, 
none of them seem to explain that such options may discard parts of the 
package definition, such as patches (if any of those other options 
do--is it only "--with-version" that does?).  Does a documentation bug 
need to be filed about this?

> As for how to work around this, you can do a more elaborate package
> definition:
> 
>    (package
>      (inherit emacs)
>      (version NEW_VERSION)
>      (source (origin (inherit (package-source emacs))
>                      (uri NEW_URI))))
> 
> This should automatically apply our patches.  Or, you can locally run
> `guix refresh -u emacs'.

Thanks for the pointer.  I defined a package called "emacs-jit" (and a 
corresponding "emacs-minimal-jit") that comments out the JIT-disabling 
patches, so that I can still JIT-compile packages installed through 
Emacs, and it seems to be working fine.

Would you be willing to accept some kind of package definition like that 
being added to Guix, as an alternative to the main "emacs" package?  (I 
won't quibble over the name.)  I think that there are a significant 
number of users who would like to use Guix to keep Emacs up-to-date 
without sacrificing the ability to native-compile packages installed 
from within Emacs.  It would be nice to have this in Guix so that I 
wouldn't have to manually update the package definition according to 
upstream changes.

Thanks,
Adam




Information forwarded to bug-guix <at> gnu.org:
bug#71729; Package guix. (Thu, 27 Jun 2024 20:32:02 GMT) Full text and rfc822 format available.

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

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Adam Porter <adam <at> alphapapa.net>, 71729 <at> debbugs.gnu.org
Subject: Re: Emacs 29.4 emergency bugfix release
Date: Thu, 27 Jun 2024 21:27:23 +0200
Hi Adam,

Am Donnerstag, dem 27.06.2024 um 08:57 -0500 schrieb Adam Porter:
> Thanks.
> 
> If I may ask here, as it seems relevant and might help other users in
> the future:
> 
> A few minutes ago I ran "guix pull", but after it finished, "guix
> show emacs" still shows:
> 
>    name: emacs
>    version: 29.3
> 
> Am I missing something?  e.g. the equivalents in Debian, like "apt
> show emacs" or "apt policy emacs", show both installed and available
> versions.
You're missing the graft, which apparently does not show up in "guix
show".  

> So as a user, how am I to know whether I'm using the latest version
> of a package?  I also tried "guix upgrade -n" (which updates
> substitute lists from the network, which can significantly delay its
> finishing for a simple check like this), and it shows:
> 
>    The following packages would be upgraded:
>     emacs             (dependencies or package changed)
> 
> But maybe that's affected by the workaround I'm using (see below).
FWIW, with emacs you can check (emacs-version).  More generally, this
is a bug – replacements ought to be announced somehow.

> > > FWIW, I had hoped that I could install it by running:
> > > 
> > >     guix install --with-version=emacs=29.4 emacs
> > > 
> > > But that fails the validate-comp-integrity phase, showing that
> > > all of
> > > its tests fail, with every function being loaded in byte-compiled
> > > form instead of native-compiled.
> 
> > Ah, yes, that is not something you can do with --with-version, as
> > it
> > disregards our patches and everything.
> 
> Ah, I wish I had known that.  FWIW, looking at 
> <
> https://guix.gnu.org/manual/en/html_node/Package-Transformation-Option
> s.html>, I can't even find "--with-version" documented at all.  But
> besides that, none of them seem to explain that such options may
> discard parts of the package definition, such as patches (if any of
> those other options do--is it only "--with-version" that does?). 
> Does a documentation bug need to be filed about this?
The info manual (which you can read locally) has both, as well as the
warning you seek.

> > As for how to work around this, you can do a more elaborate package
> > definition:
> > 
> >    (package
> >      (inherit emacs)
> >      (version NEW_VERSION)
> >      (source (origin (inherit (package-source emacs))
> >                      (uri NEW_URI))))
> > 
> > This should automatically apply our patches.  Or, you can locally
> > run `guix refresh -u emacs'.
> 
> Thanks for the pointer.  I defined a package called "emacs-jit" (and
> a corresponding "emacs-minimal-jit") that comments out the
> JIT-disabling patches, so that I can still JIT-compile packages
> installed through Emacs, and it seems to be working fine.
> 
> Would you be willing to accept some kind of package definition like
> that being added to Guix, as an alternative to the main "emacs"
> package? (I won't quibble over the name.)  I think that there are a
> significant number of users who would like to use Guix to keep Emacs
> up-to-date without sacrificing the ability to native-compile packages
> installed from within Emacs.  It would be nice to have this in Guix
> so that I wouldn't have to manually update the package definition
> according to upstream changes.
But then you'd be shifting the maintenance burden to us Guix.  We
already have enough Emacs variants to keep track of as-is, and adding
yet another orthogonal angle is not going to scale well.  Plus, for
this variant you'd lose all the benefits that Guix provides – I don't
see this as a reasonable thing to ship, to be honest.

Cheers




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 26 Jul 2024 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 56 days ago.

Previous Next


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