GNU bug report logs - #70071
[FR] Provide official install scripts without requiring root, e.g., by making a static build possible

Previous Next

Package: emacs;

Reported by: Rudi C <rudiwillalwaysloveyou <at> gmail.com>

Date: Fri, 29 Mar 2024 12:44:01 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.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: Rudi C <rudiwillalwaysloveyou <at> gmail.com>
Subject: bug#70071: closed (Re: bug#70071: [FR] Provide official install
 scripts without requiring root, e.g., by making a static build possible)
Date: Sun, 31 Mar 2024 09:32:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 70071 <at> debbugs.gnu.org.

-- 
70071: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70071
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Rudi C <rudiwillalwaysloveyou <at> gmail.com>
Cc: 70071-done <at> debbugs.gnu.org, michael.albinus <at> gmx.de
Subject: Re: bug#70071: [FR] Provide official install scripts without requiring
 root, e.g., by making a static build possible
Date: Sun, 31 Mar 2024 12:31:15 +0300
> Cc: 70071 <at> debbugs.gnu.org
> From: Rudi C <rudiwillalwaysloveyou <at> gmail.com>
> Date: Sun, 31 Mar 2024 12:36:16 +0330
> 
> I discovered a tool called junest (https://github.com/fsquillace/junest) that appears to work for installing Emacs
> without root access.

I'm glad you found a solution for you.

> Given that many users do not have root access, it is crucial to provide an official, well-documented method for
> installing Emacs in such environments. Addressing this issue should take precedence over introducing new
> features, as it will significantly improve the user experience and make Emacs more accessible to a wider
> audience.

As already mentioned, such a method exists and is well-documented: use
the --prefix option of the configure script to install Emacs in a
directory to which you have access.

This is not specific to Emacs, btw: every package that is built using
Autoconf-produced configure script and Makefiles accepts the --prefix
option to specify where to install it.

> In the current state, recommending Emacs to new users can be difficult, as the installation process requires a
> considerable amount of Linux knowledge. By streamlining the installation process for non-root users, Emacs
> will become more user-friendly and attractive to newcomers.

Users who are not knowledgeable enough to install Emacs on their own
should use a distro, or ask someone else to help them.

> As for what this officially endorsed (and tested) way of installing emacs without root should be, I don't have the
> expertise. But perhaps GNU Guix could officially support a non-root mode, as it seems technically possible.

Please suggest this to the Guix folks.  It is possible they will
provide such a feature, if it isn't already provided.  I don't know
enough about Guix to tell more, sorry.

> Alternatively, the Emacs installation documentation could include instructions on using a non-root package
> manager like junest, which should be tested to ensure compatibility with Emacs.

Sorry, we cannot possibly advertise other packages for these jobs: we
don't have the manpower for tracking them and studying them.

And with that, I'm closing this bug report, since I think we have
already covered everything that is relevant to this issue.

[Message part 3 (message/rfc822, inline)]
From: Rudi C <rudiwillalwaysloveyou <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: [FR] Provide official install scripts without requiring root, e.g.,
 by making a static build possible
Date: Fri, 29 Mar 2024 16:12:34 +0330
[Message part 4 (text/plain, inline)]
I've been struggling to install Emacs on university servers where I don't
have root access, and it's been a frustrating experience. It seems like
such a trivial issue to prevent people from using Emacs, especially when
Vim is usually pre-installed on most servers.

After searching the web, I've discovered that there are challenges in
building Emacs in a static way. (E.g.,
https://unix.stackexchange.com/questions/472989/how-to-build-instance-of-emacs-to-run-on-an-x86-64-system-different-from-the-one)
It would be fantastic if Emacs could be modified to allow for static,
portable builds for common Linux architectures. Imagine being able to
install Emacs using a simple command like `curl -sS
https://gnu.com/emacs-install-portable.sh | bash`, which would
automatically detect the correct build, download it, and install it. While
it might be possible to build Emacs without root access on each server from
scratch, it's a difficult and time-consuming process. Unfortunately, there
isn't a reliable official script like `gnu.com/emacs-install-no-root.sh` to
streamline this process. I've tried using Linuxbrew to build Emacs from
source without root, and while it sometimes (50%) works, it's very slow. As
brew is primarily developed for macOS, not Linux, the bugs are not fixed.
(See, e.g., https://github.com/d12frosted/homebrew-emacs-plus/issues/603)

To address these issues, I have three suggestions, listed in order of
preference:

1. Provide portable builds of Emacs, along with a script that automatically
installs the correct build without requiring root access.
2. Offer semi-portable builds of Emacs that only require building a handful
of libraries on the host. This should be handled by an official install
script, allowing users to simply run `curl ... | bash`.
3. Create an official install script that builds Emacs from source,
thoroughly tested on popular distributions like Ubuntu (including different
versions, not just the latest). This should still be as straightforward as
running `curl ... | bash`, even if it takes some time to complete.

I consider myself a persistent and patient person, and I've explored
various options, including `nix-env`, `guix`, and more. However, I've
reached my wit's end; installing Emacs is simply too complicated. While I
HAVE installed emacs on many servers and I use it remotely almost every
day, on servers that I use less often, I often resort to vim or editing
files locally and using Git to sync my changes back to the server. I'm
aware of Tramp, but it's buggy and slow on my setup, and I don't have the
time to debug it or fix the extensions that are causing issues. Similarly,
sshfs is unreliable on my unstable connections. All I want is a way to
easily install Emacs on a server without root access, without having to
manually inspect the installation process or engage in a debugging session.
Is a one-liner installer too much to ask for in 2024?!

PS: Please use reply-to-all.
[Message part 5 (text/html, inline)]

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

Previous Next


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