From: Josh Triplett <josh@joshtriplett.org>
To: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: linux-sparse@vger.kernel.org, "Uwe Kleine-König" <uwe@kleine-koenig.org>
Subject: Re: [PATCH 29/36] build: use git-clean
Date: Sun, 5 Nov 2017 12:38:45 -0800 [thread overview]
Message-ID: <20171105203845.inkp5mcrm634lmov@s> (raw)
In-Reply-To: <20171105201629.qwitgngzeb7jzr6n@ltop.local>
On Sun, Nov 05, 2017 at 09:16:31PM +0100, Luc Van Oostenryck wrote:
> On Sun, Nov 05, 2017 at 09:41:02AM -0800, Josh Triplett wrote:
> > On Sun, Nov 05, 2017 at 05:25:37PM +0100, Luc Van Oostenryck wrote:
> > > Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
> > > ---
> > > Makefile | 12 ++----------
> > > 1 file changed, 2 insertions(+), 10 deletions(-)
> > >
> > > diff --git a/Makefile b/Makefile
> > > index afc1efe98..f0f7a5b69 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -233,16 +233,8 @@ check: all
> > > $(Q)cd validation && ./test-suite
> > >
> > >
> > > -clean: clean-check
> > > - @rm -f *.[oa] .*.d $(PROGRAMS) version.h
> > > -clean-check:
> > > +clean: FORCE
> > > @echo ' CLEAN'
> > > - @find validation/ \( -name "*.c.output.expected" \
> > > - -o -name "*.c.output.got" \
> > > - -o -name "*.c.output.diff" \
> > > - -o -name "*.c.error.expected" \
> > > - -o -name "*.c.error.got" \
> > > - -o -name "*.c.error.diff" \
> > > - \) -exec rm {} \;
> > > + @git clean -q -d -x -e .sparse.mk -e '*.[ch]'
> >
> > No, you can't use git-clean here, for two reasons.
> >
> > First, it has to be possible to build, and clean, sparse from a
> > tarball release, not just a git repository.
> >
> > And second, even if not for that, this should *not* use -x or -d, *only*
> > -X. Otherwise, you might remove, say, a pile of carefully written
> > patches and cover letters sitting in the user's Sparse source directory.
>
> Hehe, I thought this would be somehow controversial ;)
>
> TBH, I'm far from conviced for the first point.
> There hasn't been any tarbal release since 2014 and, unless I'm
> mistaken, people can't anymore get a tarball from kernel.org's cgit.
As far as I can tell,
https://git.kernel.org/pub/scm/devel/sparse/sparse.git/snapshot/sparse-0.5.1.tar.gz
still works, for instance.
> The real question would be: "is there anybody, doing some kind of
> development on sparse and who won't use git?"
Sure: anyone doing packaging. If someone wants to package Sparse for a
distribution, they'll likely do so in a way that does not include .git
in the source package. And if that package wants to "make clean" for any
reason, or if someone grabs the source from that distribution for
development and happens to run "make clean", that would be *bad*.
Worse yet: I keep my home directory in git, and would very much not like
"git clean" run in *that* if .git doesn't exist in Sparse. I'd be
immediately filing a "critical" bug report about data loss against the
package, and trying to restore what data I can from backups.
> For the second point, well ... I purposely added '-e *.[ch]' to
> avoid some problems and if I call 'make clean' I expect that things
> like patches and cover letter are removed, but I agree that my
> expectations here most probably doesn't match other's.
I most assuredly would not expect "make clean" to do this. I regularly
"make clean" in repositories while having valuable files in the
directory: patches, cover-letters, lists of email addresess to CC
patches to, benchmark results, etc.
> I think I'll drop this patch and continue to directly use
> 'git clean -x' when I needed it.
Thank you.
next prev parent reply other threads:[~2017-11-05 20:38 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-05 16:24 [PATCH 00/36] Makefile reorganization Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 01/36] build: make PREFIX overwritable from the environment Luc Van Oostenryck
2017-11-05 17:44 ` Josh Triplett
2017-11-05 18:54 ` Uwe Kleine-König
2017-11-05 20:30 ` Josh Triplett
2017-11-05 16:25 ` [PATCH 02/36] build: put comment about local.mk to the place where it is included Luc Van Oostenryck
2017-11-05 17:44 ` Josh Triplett
2017-11-05 16:25 ` [PATCH 03/36] build: drop BASIC_CFLAGS and ALL_CFLAGS Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 04/36] build: drop -g from LDFLAGS Luc Van Oostenryck
2017-11-05 17:45 ` Josh Triplett
2017-11-05 16:25 ` [PATCH 05/36] build: pass CPPFLAGS to compiler Luc Van Oostenryck
2017-11-05 17:46 ` Josh Triplett
2017-11-05 16:25 ` [PATCH 06/36] build: fix effectiveness of generated dependencies Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 07/36] build: remove unused support for pkgconfig Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 08/36] build: use '_OBJS' instead of '_EXTRA_DEPS' Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 09/36] build: use '_LDLIBS' instead of '_EXTRA_OBJS' Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 10/36] build: allow target-specific CFLAGS, CPPFLAGS, LDFLAGS & LDLIBS Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 11/36] build: allow CFLAGS & friends from command line Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 12/36] build: avoid rule-specific CFLAGS Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 13/36] build: use $LIBS directly in the dependency list Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 14/36] build: no need to use wildcards for generated dependencies Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 15/36] build: reuse rule for ALL_OBJS Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 16/36] build: CHECKER_FLAGS=-Wno-vla for all targets Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 17/36] build: move tests near their use Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 18/36] build: only generate version.h when needed Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 19/36] build: add note about overwritable vars Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 20/36] build: remove references to unexisting pre-process.h Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 21/36] build: no need to clean *.so and SLIB_FILE Luc Van Oostenryck
2017-11-05 17:48 ` Josh Triplett
2017-11-05 20:06 ` Luc Van Oostenryck
2017-11-05 20:30 ` Josh Triplett
2017-11-05 16:25 ` [PATCH 22/36] build: move clean & clean-check together Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 23/36] build: make clean targets quieter Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 24/36] build: remove rule for shared lib, it's unused Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 25/36] build: normalize rules Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 26/36] build: remove the dist rule since unused Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 27/36] build: use one line per item Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 28/36] build: use a dot file name instead of local.mk: .sparse.mk Luc Van Oostenryck
2017-11-06 8:57 ` Uwe Kleine-König
2017-11-06 15:43 ` Luc Van Oostenryck
2017-11-09 19:06 ` Uwe Kleine-König
2017-11-09 20:48 ` Luc Van Oostenryck
2017-11-09 19:29 ` Christopher Li
2017-11-05 16:25 ` [PATCH 29/36] build: use git-clean Luc Van Oostenryck
2017-11-05 17:41 ` Josh Triplett
2017-11-05 20:16 ` Luc Van Oostenryck
2017-11-05 20:38 ` Josh Triplett [this message]
2017-11-05 20:50 ` Uwe Kleine-König
2017-11-05 20:58 ` Luc Van Oostenryck
2017-11-05 20:56 ` Luc Van Oostenryck
2017-11-05 23:09 ` Christopher Li
2017-11-08 11:42 ` Jeff Layton
2017-11-08 12:01 ` Uwe Kleine-König
2017-11-08 19:55 ` Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 30/36] build: use standard rules for install Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 31/36] build: remove unused QUIET_INST_SH Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 32/36] build: let quiet commands use less indentation Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 33/36] build: simpler logic for quiet commands Luc Van Oostenryck
2017-11-06 8:15 ` Uwe Kleine-König
2017-11-06 8:28 ` Luc Van Oostenryck
2017-11-06 8:44 ` Uwe Kleine-König
2017-11-06 8:55 ` Luc Van Oostenryck
2017-11-06 19:40 ` Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 34/36] build: avoid foreach Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 35/36] build: reorg & add comment Luc Van Oostenryck
2017-11-05 16:25 ` [PATCH 36/36] build: use a single space before assignments Luc Van Oostenryck
2017-11-06 5:50 ` [PATCH 00/36] Makefile reorganization Luc Van Oostenryck
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171105203845.inkp5mcrm634lmov@s \
--to=josh@joshtriplett.org \
--cc=linux-sparse@vger.kernel.org \
--cc=luc.vanoostenryck@gmail.com \
--cc=uwe@kleine-koenig.org \
/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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox