[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "make distclean" does not bring back build tree to previous state
From: |
Eli Zaretskii |
Subject: |
Re: "make distclean" does not bring back build tree to previous state |
Date: |
Wed, 13 Dec 2023 13:41:01 +0200 |
> From: Gavin Smith <gavinsmith0123@gmail.com>
> Date: Tue, 12 Dec 2023 20:21:28 +0000
> Cc: bug-texinfo@gnu.org
>
> On Sun, Dec 10, 2023 at 04:00:56PM +0100, Preuße, Hilmar wrote:
> > Hello,
> >
> > I got a report telling that "make distclean" does not bring back the build
> > tree into the original state. After running a build (configure line below)
> > and calling "make distclean", we have a few differences. Some files were
> > deleted, some files were re-generated and hence show a different time stamp
> > inside the file:
>
> We'll probably have to investigate each of these changes separately to
> see where they occur. I am probably not going to fix them all in one
> go.
>
> First, could you confirm which version of Texinfo you got these results
> with.
>
> I tested with Texinfo 7.1, ran configure with the same configure line
> as you, then ran "make distclean".
Let me point out that "make distclean" is NOT supposed to revert the
tree to a clean state as far as Git is concerned. "make distclean" is
supposed to remove any files built or modified as part of building a
release tarball, and release tarballs can legitimately include files
that are not versioned, and therefore are not managed by Git. So
looking at the results of "git status" is not the correct way of
finding files that "make distclean" is supposed to remove. Instead,
one should:
. create a release tarball
. unpack and build the release tarball in a separate directory
. run "make distclean" in the directory where the tarball was built
. unpack the release tarball in another directory, and then compare
that other directory with the one where you run "make distclean"
If a Makefile target is required that should remove all non-versioned
files, that should be a separate target, likely "maintainer-clean" or
somesuch.