unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Rudi C <rudiwillalwaysloveyou@gmail.com>
Cc: 70071@debbugs.gnu.org
Subject: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible
Date: Fri, 29 Mar 2024 17:33:50 +0300	[thread overview]
Message-ID: <86plvdds4x.fsf@gnu.org> (raw)
In-Reply-To: <CAE9z9A0Ac815UYVuiL_YcWd9aHd7EDuzexyGyOxTNv7sBiiXVg@mail.gmail.com> (message from Rudi C on Fri, 29 Mar 2024 17:54:13 +0330)

> From: Rudi C <rudiwillalwaysloveyou@gmail.com>
> Date: Fri, 29 Mar 2024 17:54:13 +0330
> Cc: 70071@debbugs.gnu.org
> 
> My primary concern with your approach is that it requires numerous manual steps, each of which can
> introduce new points of failure.

Sorry, I don't understand: what numerous steps do you have in mind?

All that is needed is to specify an accessible directory via --prefix
option to the configure script.  Everything else happens automatically.

> Would it be possible for you to provide a single script that I can run on Ubuntu
> (even on older versions with an outdated gcc, etc.) that will build Emacs under my home directory (~/)?

The script already exists, it just needs an option to be specified.
Since only you, the user, can decide where to install Emacs ("~/" is
just one possibility, but some subdirectory of the home directory is
also possible), there's no way to know that in advance anyway.

> Linux packaging is designed for administrators with root access who don't require cutting-edge packages, and
> it simply doesn't allow me to install Emacs 29. While it's true that the distributions may be at fault, I am unable
> to persuade the server administrators to change the distribution. However, I can run a script from gnu.com. In
> 2024, most software is distributed with an installer script or a portable binary that can be easily downloaded
> using `wget` into `~/bin`. The philosophy of shifting blame and not ensuring that things "just work" is one of
> the main issues with Emacs. Although distributions and administrators have their own challenges, and the
> world can be difficult, Emacs has the ability to provide official workarounds that can address its own pain
> points, even if it cannot solve every problem.

I don't think it's practical, sorry.  For starters, we don't have the
expert knowledge on board about each and every target system to do
what you are asking, even if we decided it to be our job.

> > What is a "portable build," and how does it differ from a "normal" build? Also, what is a "static build"?
> 
> While I don't claim to have a deep understanding of these terms, my interpretation is that dynamic linking
> connects to the installed system libraries, making the binary heavily reliant on the specific conditions of its
> host operating system. In contrast, a statically linked binary includes all of its dependencies within itself,
> allowing a single binary for Linux x86 to function on most other similar systems. A "portable" binary is one that
> can be downloaded using wget and executed without relying on any dependencies from the host operating
> system. Of course, no binary can be completely portable, and portability exists on a spectrum. However, some
> binaries are quite portable, such as those found at https://github.com/Mozilla-Ocho/llamafile.

Unfortunately, Emacs cannot use such techniques.  Its portability is
on the source level, not on the binary level.





  reply	other threads:[~2024-03-29 14:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-29 12:42 bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible Rudi C
2024-03-29 13:27 ` Eli Zaretskii
2024-03-29 14:24   ` Rudi C
2024-03-29 14:33     ` Eli Zaretskii [this message]
2024-03-30  1:19     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-30 12:55       ` Rudi C
2024-03-30 13:28         ` Eli Zaretskii
2024-03-30 14:31           ` Rudi C
2024-03-31  0:37             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-31  6:02             ` Eli Zaretskii
2024-03-31  8:39 ` Michael Albinus via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-31  9:06   ` Rudi C
2024-03-31  9:31     ` Eli Zaretskii
2024-04-02 21:41       ` Richard Stallman
2024-04-06 10:31         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86plvdds4x.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=70071@debbugs.gnu.org \
    --cc=rudiwillalwaysloveyou@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).