unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gerd.moellmann@gmail.com, acm@muc.de, 74382@debbugs.gnu.org
Subject: bug#74382: `compile-first` Make rule is no longer using `load-prefer-newer`
Date: Sun, 17 Nov 2024 20:24:08 +0300	[thread overview]
Message-ID: <7e381be45c124103de80aa70ce21726706788988.camel@yandex.ru> (raw)
In-Reply-To: <86serpvlba.fsf@gnu.org>

On Sun, 2024-11-17 at 19:09 +0200, Eli Zaretskii wrote:
> > From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
> > Cc: gerd.moellmann@gmail.com, acm@muc.de, 74382@debbugs.gnu.org
> > Date: Sun, 17 Nov 2024 19:46:25 +0300
> > 
> > On Sun, 2024-11-17 at 18:29 +0200, Eli Zaretskii wrote:
> > > We already have a special target for that: maintainer-clean. 
> > > There's
> > > no need to make such confusing differences between what "make
> > > clean"
> > > does in a tarball and in Git.  That's a standard GNU target, so
> > > it
> > > should do what the GNU Coding Standards say, and do it
> > > consistently.
> > 
> > GNU Coding Standard section for `make clean` says, quoting:
> > 
> > > Delete all files […] that are normally created by building the
> > program. However, don’t delete the files that record the
> > configuration.
> > Also preserve files that could be made by building, but normally
> > aren’t
> > because the distribution comes with them.
> > 
> > The "git distribution" doesn't come with .elc files, hence .elc
> > files
> > should be removed by `make clean` if run in the git repository.
> > That's
> > what the standard says.
> 
> There's no "Git distribution", so this doesn't apply.

The Cambridge Dictionary defines word "distribution" as¹:

> the process of giving things out to several people, or spreading or
supplying something

Git repo provides people with Emacs sources, so that does apply.

> Once again, it is more important to me that "make clean" does the
> same
> in every case than anything else.
> 
> > This "don't clean elc files during `make clean`" hurts Emacs devs
> > and
> > contributors, while gaining nothing in return.
> 
> I disagree.

Well, since we ruled out the distro packagers as the auditory for the
`make clean`, who else do you see would benefit from it?

> > > You will have to get used to this curiosity of the Emacs build
> > > system,
> > > sorry.  The main audience of the build stuff in Git is Emacs
> > > developers, so everyone else have to adapt.
> > 
> > I don't think Emacs developers are using release tarballs, so this
> > "curiosity" isn't helping them.
> 
> The curiosity is for those who build from tarballs, whoever they are.

Here's the thing, the `foo clean` target in any build system in 95% of
cases in my experience is only used to work around the bugs in how the
project set up the build system, more specifically when compilation
command doesn't rebuild project properly. In Emacs we already know that
the bug is only with those COMPILE_FIRST files. A release tarball user
is very unlikely to modify exactly those files and exactly in a way to
would lead to the problem. Hence the user is very unlikely to use `make
clean` whatsoever. And then, even if they do catch the bug, they again
*do* want to get rid of the offending files.

So overall, I just don't see who would ever want `make clean` not to
remove `.elc` files, even among tarball users.





  reply	other threads:[~2024-11-17 17:24 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-16 15:11 bug#74382: `compile-first` Make rule is no longer using `load-prefer-newer` Konstantin Kharlamov
2024-11-16 16:27 ` Eli Zaretskii
2024-11-16 16:53 ` Alan Mackenzie
2024-11-16 17:45   ` Konstantin Kharlamov
2024-11-16 18:38     ` Eli Zaretskii
2024-11-16 18:43       ` Konstantin Kharlamov
2024-11-16 20:00         ` Eli Zaretskii
2024-11-16 22:54           ` Konstantin Kharlamov
2024-11-17  6:44             ` Eli Zaretskii
2024-11-17 15:31               ` Konstantin Kharlamov
2024-11-17  7:25     ` Gerd Möllmann
2024-11-17 15:21       ` Konstantin Kharlamov
2024-11-17 15:37         ` Eli Zaretskii
2024-11-17 15:43           ` Konstantin Kharlamov
2024-11-17 15:53             ` Eli Zaretskii
2024-11-17 16:04               ` Konstantin Kharlamov
2024-11-17 16:29                 ` Eli Zaretskii
2024-11-17 16:46                   ` Konstantin Kharlamov
2024-11-17 17:09                     ` Eli Zaretskii
2024-11-17 17:24                       ` Konstantin Kharlamov [this message]
2024-11-18  4:06                 ` Gerd Möllmann
2024-11-18  6:19                   ` Konstantin Kharlamov
2024-11-18 10:05                   ` Konstantin Kharlamov
2024-11-18 12:59                     ` Eli Zaretskii
2024-11-18 13:12                       ` Konstantin Kharlamov
2024-11-18 13:38                         ` Eli Zaretskii
2024-11-17 15:43         ` Gerd Möllmann

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=7e381be45c124103de80aa70ce21726706788988.camel@yandex.ru \
    --to=hi-angel@yandex.ru \
    --cc=74382@debbugs.gnu.org \
    --cc=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=gerd.moellmann@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).