From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs 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 Message-ID: <86plvdds4x.fsf@gnu.org> References: <86r0ftdv6p.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7194"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 70071@debbugs.gnu.org To: Rudi C Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 29 15:35:42 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rqDKY-0001fK-7k for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 29 Mar 2024 15:35:42 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rqDJy-0002Zz-Vp; Fri, 29 Mar 2024 10:35:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqDJu-0002ZR-5E for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2024 10:35:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rqDJt-0005X3-Ae for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2024 10:35:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rqDJu-0004yl-3P for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2024 10:35:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Mar 2024 14:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70071 X-GNU-PR-Package: emacs Original-Received: via spool by 70071-submit@debbugs.gnu.org id=B70071.171172284518969 (code B ref 70071); Fri, 29 Mar 2024 14:35:02 +0000 Original-Received: (at 70071) by debbugs.gnu.org; 29 Mar 2024 14:34:05 +0000 Original-Received: from localhost ([127.0.0.1]:43114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqDIx-0004vr-Pl for submit@debbugs.gnu.org; Fri, 29 Mar 2024 10:34:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56740) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqDIu-0004v6-Vg for 70071@debbugs.gnu.org; Fri, 29 Mar 2024 10:34:02 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqDIo-0005Fy-47; Fri, 29 Mar 2024 10:33:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=PTnS7Gd6fOOEEQo2ul5QHkxNHCyGz3gxFztafPQ/14k=; b=gFEG3ervVMZ1 o7QjwB85TA6BQUodswzbYrUpED6mW5kbnKnC39GQbHMTLtSlxTwAQOuX1oZgdgjlEXclSbKZ0SxWL fSVt78AbFfBNNi2mvcXHcl5VXXquGs5bQbWNmJ9kVDAr7r9+qpMgp5JuejThNk1KXJaj+TiUFOFYU NoZI75SNy+GEWtN3zZnulrfLRh0erI2xOB6wVYjOC+tKDuZH/HyDhWYg1veY777i5P2Hc1rNeeofg 6SDwXX9NG5VRdLl/ZX9MbfJt2AI9H6lzXGghvEX0tkzwqpv0yhDyUldWndXRgWUwVtyRK8FEV3xqi CTJCge8+dLnlfQZxw57jzg==; In-Reply-To: (message from Rudi C on Fri, 29 Mar 2024 17:54:13 +0330) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:282296 Archived-At: > From: Rudi C > 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.