unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#73982: GCC Dependency?
@ 2024-10-24  7:42 Jeffrey Walton
  2024-10-24  8:12 ` Eli Zaretskii
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Jeffrey Walton @ 2024-10-24  7:42 UTC (permalink / raw)
  To: 73982

Hi Everyone,

I wanted to install emacs-nw, a/k/a emacs-nox, on a production Fedora
server to edit configuration files. I had to install Zile instead
because of all of Emac's dependencies, which now seems to include
compilers. Also see Red Hat Bug #2316238,
<https://bugzilla.redhat.com/show_bug.cgi?id=2316238>.

I think the dev team made a bad architectural decision when it decided
to allow the cornucopia of dependencies to grow, which now appears to
include compilers. For my use case -- a production server facing the
internet -- I do not want extra packages, like compilers and linkers.
I am not trying to help an attacker produce executable code on my
machine.

I think it would be wise to remove the requirement of a compiler for a
simple text editor. The team needs to provide a simple text editor (in
addition to the other bloated offerings).

For completeness:

    $ dnf info emacs-nw
    Name         : emacs-nw
    Epoch        : 1
    Version      : 29.4
    Release      : 9.fc40
    Architecture : x86_64
    Size         : 31 M
    Source       : emacs-29.4-9.fc40.src.rpm
    Repository   : updates

Jeff





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
  2024-10-24  7:42 bug#73982: GCC Dependency? Jeffrey Walton
@ 2024-10-24  8:12 ` Eli Zaretskii
  2024-10-24  9:15   ` Vincenzo Pupillo
  2024-10-24 12:47   ` Peter Oliver
  2024-10-26 20:23 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found] ` <87cyjmtxzm.fsf@>
  2 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2024-10-24  8:12 UTC (permalink / raw)
  To: noloader; +Cc: 73982

tags 73982 notabug
thanks

> From: Jeffrey Walton <noloader@gmail.com>
> Date: Thu, 24 Oct 2024 03:42:01 -0400
> 
> I wanted to install emacs-nw, a/k/a emacs-nox, on a production Fedora
> server to edit configuration files. I had to install Zile instead
> because of all of Emac's dependencies, which now seems to include
> compilers. Also see Red Hat Bug #2316238,
> <https://bugzilla.redhat.com/show_bug.cgi?id=2316238>.

According to the above Red Hat bug report, this has nothing to do with
the upstream Emacs project (us).  It's how Red Hat decided to package
Emacs, evidently to avoid having too many different Emacs packages.

> I think the dev team made a bad architectural decision when it decided
> to allow the cornucopia of dependencies to grow, which now appears to
> include compilers.

That is incorrect.  The Emacs build procedure includes the options to
build Emacs without native-compilation (which is what requires
libgccjit and GCC).  Moreover, in Emacs 29 (which is what you seem to
have installed) native-compilation is by default _disabled_; we
decided to enable it by default only in Emacs 30 (which was not yet
released).  And even if it's turned on by default, one can disable
that when building Emacs.

I guess Red Hat decided not to provide a package without
native-compilation, for whatever reasons.  (They also seem to provide
Git, Perl, and Enchant, which are not Emacs dependencies at all.)  But
that's not our decision, it's theirs.

> I think it would be wise to remove the requirement of a compiler for a
> simple text editor. The team needs to provide a simple text editor (in
> addition to the other bloated offerings).

We do allow to configure Emacs without many optional features.  In
fact, almost _every_ dependency in Emacs can be disabled when Emacs is
configured for building.

So please take this back with the Red Hat packaging team: it's their
decision which Emacs configurations to provide for downloading.  Or
maybe just build your own Emacs, in which case you will be the one to
decide which options to include and which not to include.

I see no bug in Emacs here, as we allow to build Emacs with as many or
as few dependencies as the user wants, and we don't tell distros how
to package their binary distributions.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
  2024-10-24  8:12 ` Eli Zaretskii
@ 2024-10-24  9:15   ` Vincenzo Pupillo
  2024-10-24 12:47   ` Peter Oliver
  1 sibling, 0 replies; 9+ messages in thread
From: Vincenzo Pupillo @ 2024-10-24  9:15 UTC (permalink / raw)
  To: noloader, 73982; +Cc: eliz

Hi, 

> tags 73982 notabug
> thanks
> 
> > From: Jeffrey Walton <noloader@gmail.com>
> > Date: Thu, 24 Oct 2024 03:42:01 -0400
> > 
> > I wanted to install emacs-nw, a/k/a emacs-nox, on a production Fedora
> > server to edit configuration files. I had to install Zile instead
> > because of all of Emac's dependencies, which now seems to include
> > compilers. Also see Red Hat Bug #2316238,
> > <https://bugzilla.redhat.com/show_bug.cgi?id=2316238>.

I would suggest you try the cosmopolitan build of emacs. 
It is a completely self-contained, single-file version of emacs-nox.

https://justine.lol/cosmo3/
https://cosmo.zip/pub/cosmos/bin/

Kind regards

Vincenzo







^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
  2024-10-24  8:12 ` Eli Zaretskii
  2024-10-24  9:15   ` Vincenzo Pupillo
@ 2024-10-24 12:47   ` Peter Oliver
  2024-10-24 13:07     ` Eli Zaretskii
  1 sibling, 1 reply; 9+ messages in thread
From: Peter Oliver @ 2024-10-24 12:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 73982

On Thu, 24 Oct 2024, Eli Zaretskii wrote:

> It's how Red Hat decided to package
> Emacs, evidently to avoid having too many different Emacs packages.

Although Red Hat sponsor the Fedora project, they do not make these kinds of decisions.  Those are made by Fedora contributors.

> (They also seem to provide
> Git, Perl, and Enchant, which are not Emacs dependencies at all.)

Emacs command treesit-install-language-grammar calls git, which is why Fedora recommends it as an optional dependency.  Similarly for ispell and enchant2.

-- 
Peter Oliver





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
  2024-10-24 12:47   ` Peter Oliver
@ 2024-10-24 13:07     ` Eli Zaretskii
  2024-10-25  1:34       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-26  7:15       ` Eli Zaretskii
  0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2024-10-24 13:07 UTC (permalink / raw)
  To: Peter Oliver; +Cc: 73982

> Date: Thu, 24 Oct 2024 13:47:32 +0100 (BST)
> From: Peter Oliver <p.d.oliver@mavit.org.uk>
> cc: 73982@debbugs.gnu.org
> 
> On Thu, 24 Oct 2024, Eli Zaretskii wrote:
> 
> > It's how Red Hat decided to package
> > Emacs, evidently to avoid having too many different Emacs packages.
> 
> Although Red Hat sponsor the Fedora project, they do not make these kinds of decisions.  Those are made by Fedora contributors.

Sorry, I don't know who exactly makes these decisions, and who just
sponsors that.  I just know it is not the Emacs project.

> > (They also seem to provide
> > Git, Perl, and Enchant, which are not Emacs dependencies at all.)
> 
> Emacs command treesit-install-language-grammar calls git, which is why Fedora recommends it as an optional dependency.  Similarly for ispell and enchant2.

There are many Emacs commands that call external programs, but that
doesn't yet mean the Emacs package for end users should include them
all.

Obviously, it isn't my place to decide how should Fedora package
Emacs, but if they prefer to err on the side of including all, they
should be prepared to deal with complaints such as this one, instead
of pointing the users who complain at the upstream project, which has
nothing to do with those decisions.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
  2024-10-24 13:07     ` Eli Zaretskii
@ 2024-10-25  1:34       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-10-26  7:15       ` Eli Zaretskii
  1 sibling, 0 replies; 9+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-25  1:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Peter Oliver, 73982

Eli Zaretskii <eliz@gnu.org> writes:

> Obviously, it isn't my place to decide how should Fedora package
> Emacs, but if they prefer to err on the side of including all, they
> should be prepared to deal with complaints such as this one, instead
> of pointing the users who complain at the upstream project, which has
> nothing to do with those decisions.

I should add that git, perl, and the like are weak dependencies of
Emacs's in Fedora, and any one can install Emacs without them by
providing one argument to `dnf install':

   dnf install emacs-nox --setopt=install_weak_deps=False





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
  2024-10-24 13:07     ` Eli Zaretskii
  2024-10-25  1:34       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-10-26  7:15       ` Eli Zaretskii
  1 sibling, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2024-10-26  7:15 UTC (permalink / raw)
  To: p.d.oliver, noloader; +Cc: 73982-done

> Cc: 73982@debbugs.gnu.org
> Date: Thu, 24 Oct 2024 16:07:49 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> 
> Obviously, it isn't my place to decide how should Fedora package
> Emacs, but if they prefer to err on the side of including all, they
> should be prepared to deal with complaints such as this one, instead
> of pointing the users who complain at the upstream project, which has
> nothing to do with those decisions.

Red Hat closed their ticket (without really explaining how they
resolve the issue raised by the OP's, but that's not my problem to
solve), so I'm now closing this non-bug.

The bottom line, from my POV, is that the Emacs project provides
configure-time options to build Emacs with or without any combination
of the optional dependencies, as well as the --without-all option to
build the minimal Emacs without any optional dependencies.  Users who
download Linux distros of Emacs should understand what they are
downloading, and should take any problems with these distros to the
respective downstream teams.  If the packages provided by the distros
do not satisfy the end-user requirements, our recommendation to the
users is to build their own Emacs from the source tarballs distributed
by us and available from the GNU FTP sites worldwide; then users could
control exactly what optional dependencies are compiled into Emacs.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
  2024-10-24  7:42 bug#73982: GCC Dependency? Jeffrey Walton
  2024-10-24  8:12 ` Eli Zaretskii
@ 2024-10-26 20:23 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
       [not found] ` <87cyjmtxzm.fsf@>
  2 siblings, 0 replies; 9+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-10-26 20:23 UTC (permalink / raw)
  To: Jeffrey Walton; +Cc: 73982


I'm not a Fedora user so I don't have an account in the Red Hat
bugtracker to comment there.

My comment on the Fedora packaging it is one thing to enable
native-compilation, it is the other that it requires gcc.

I can take the openSUSE emacs-nox package as an example which has the
feature enabled but doesn't pull in the whole GCC package, neither does
it pull guile and co.

Maybe their packaging around GCCJit is the issue?





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#73982: GCC Dependency?
       [not found] ` <87cyjmtxzm.fsf@>
@ 2024-10-27  5:56   ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2024-10-27  5:56 UTC (permalink / raw)
  To: Björn Bidar; +Cc: noloader, 73982

> Cc: 73982@debbugs.gnu.org
> Date: Sat, 26 Oct 2024 23:23:09 +0300
> From:  Björn Bidar via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> 
> I'm not a Fedora user so I don't have an account in the Red Hat
> bugtracker to comment there.

You can easily register an account on their Bugzilla; I did.

> My comment on the Fedora packaging it is one thing to enable
> native-compilation, it is the other that it requires gcc.
> 
> I can take the openSUSE emacs-nox package as an example which has the
> feature enabled but doesn't pull in the whole GCC package, neither does
> it pull guile and co.
> 
> Maybe their packaging around GCCJit is the issue?

These questions should be asked there, not here.  We provide and
support all the possible combinations; which ones are realized in
downstream packages is the decision and the responsibility of the
respective distros.

This issue should have never been reported to us.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-10-27  5:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-24  7:42 bug#73982: GCC Dependency? Jeffrey Walton
2024-10-24  8:12 ` Eli Zaretskii
2024-10-24  9:15   ` Vincenzo Pupillo
2024-10-24 12:47   ` Peter Oliver
2024-10-24 13:07     ` Eli Zaretskii
2024-10-25  1:34       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-10-26  7:15       ` Eli Zaretskii
2024-10-26 20:23 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found] ` <87cyjmtxzm.fsf@>
2024-10-27  5:56   ` Eli Zaretskii

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).