* bug#71729: Emacs 29.4 emergency bugfix release @ 2024-06-23 0:52 Adam Porter 2024-06-23 8:39 ` Liliana Marie Prikler 0 siblings, 1 reply; 5+ messages in thread From: Adam Porter @ 2024-06-23 0:52 UTC (permalink / raw) To: 71729 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#71729: Emacs 29.4 emergency bugfix release 2024-06-23 0:52 bug#71729: Emacs 29.4 emergency bugfix release Adam Porter @ 2024-06-23 8:39 ` Liliana Marie Prikler 2024-06-26 14:20 ` Leo Famulari 2024-06-27 13:57 ` Adam Porter 0 siblings, 2 replies; 5+ messages in thread From: Liliana Marie Prikler @ 2024-06-23 8:39 UTC (permalink / raw) To: Adam Porter, 71729-done 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#71729: Emacs 29.4 emergency bugfix release 2024-06-23 8:39 ` Liliana Marie Prikler @ 2024-06-26 14:20 ` Leo Famulari 2024-06-27 13:57 ` Adam Porter 1 sibling, 0 replies; 5+ messages in thread From: Leo Famulari @ 2024-06-26 14:20 UTC (permalink / raw) To: 71729, liliana.prikler, adam 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. ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#71729: Emacs 29.4 emergency bugfix release 2024-06-23 8:39 ` Liliana Marie Prikler 2024-06-26 14:20 ` Leo Famulari @ 2024-06-27 13:57 ` Adam Porter 2024-06-27 19:27 ` Liliana Marie Prikler 1 sibling, 1 reply; 5+ messages in thread From: Adam Porter @ 2024-06-27 13:57 UTC (permalink / raw) To: Liliana Marie Prikler, 71729 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#71729: Emacs 29.4 emergency bugfix release 2024-06-27 13:57 ` Adam Porter @ 2024-06-27 19:27 ` Liliana Marie Prikler 0 siblings, 0 replies; 5+ messages in thread From: Liliana Marie Prikler @ 2024-06-27 19:27 UTC (permalink / raw) To: Adam Porter, 71729 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-06-27 20:32 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-06-23 0:52 bug#71729: Emacs 29.4 emergency bugfix release Adam Porter 2024-06-23 8:39 ` Liliana Marie Prikler 2024-06-26 14:20 ` Leo Famulari 2024-06-27 13:57 ` Adam Porter 2024-06-27 19:27 ` Liliana Marie Prikler
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.