GNU bug report logs - #49270
28.0.50: native-comp: macOS self-contained .app does not use bundled *.eln files

Previous Next

Package: emacs;

Reported by: Jim Myhrberg <contact <at> jimeh.me>

Date: Tue, 29 Jun 2021 11:53:01 UTC

Severity: normal

Found in version 28.0.50

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Alan Third <alan <at> idiocy.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#49270: closed (28.0.50: native-comp: macOS self-contained
 .app does not use bundled *.eln files)
Date: Thu, 01 Jul 2021 21:18:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 1 Jul 2021 22:16:56 +0100
with message-id <YN4wyCO7Y8+5IRaU <at> breton.holly.idiocy.org>
and subject line Re: bug#49270: 28.0.50: native-comp: macOS self-contained .app does not use bundled *.eln files
has caused the debbugs.gnu.org bug report #49270,
regarding 28.0.50: native-comp: macOS self-contained .app does not use bundled *.eln files
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
49270: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49270
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Jim Myhrberg <contact <at> jimeh.me>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.50: native-comp: macOS self-contained .app does not use bundled
 *.eln files
Date: Tue, 29 Jun 2021 12:51:48 +0100
When performing a self-contained Emacs.app build, *.eln files for
Emacs' built-in lisp files stored within the Emacs.app bundle are not
used.

I believe commit 5dd2d50 which moved *.eln files and various paths
around a bit for macOS builds, has re-introduced an old bug from last
year. Basically the checksums that makes up part of the *.eln file
names uses the absolute path of the .el file in question, but for self
contained .app builds it needs to just use the relative path to the
app itself.

In short, any *.el files which contain ".app/Contents/" within their
absolute file path, need to have anything before ".app/Contents/"
removed before the *.eln filename checksum is calculated. Potentially
some extra logic might be needed for build-time native-comp, as the
checksums in the *.eln files bundled into the app right now are not
based on the final location of lisp files within the .app bundle.

In my testing, of the two checksums which are part of all *.eln
filenames, the first checksum is different in the newly async
generated *.eln files compared to those within the application bundle.
The second checksum is identical. Also moving Emacs.app to different
locations on the file system will cause it to re-compile *.eln files
again, with the first checksum changing again.

For the sake of any doubt, this issue occurs both with and without
NATIVE_FULL_AOT=1.

I've seen this behavior with all builds from the master branch that
I've done since the 27th of June.

Hopefully I've provided enough information here, please don't hesitate
to ask if anything more is needed.

P.S. I'm pretty new to emacs bug reporting, so apologies if I'm doing
something wrong, and please let me know if so, and what I should be
doing instead :)


[Message part 3 (message/rfc822, inline)]
From: Alan Third <alan <at> idiocy.org>
To: Jim Myhrberg <contact <at> jimeh.me>
Cc: 49270-done <at> debbugs.gnu.org
Subject: Re: bug#49270: 28.0.50: native-comp: macOS self-contained .app does
 not use bundled *.eln files
Date: Thu, 1 Jul 2021 22:16:56 +0100
On Wed, Jun 30, 2021 at 10:32:09AM +0100, Jim Myhrberg wrote:
> On Tue, Jun 29, 2021 at 10:06 PM Alan Third <alan <at> idiocy.org> wrote:
> > Please try the attached patch, it fixes it here.
> 
> Awesome, thanks. I've just tested the patch and can confirm it fixes
> the issue on my end too. All *.eln files in the .app bundle are now
> located correctly, even when moving the app around the filesystem :)

Pushed to master.
-- 
Alan Third


This bug report was last modified 3 years and 326 days ago.

Previous Next


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