[RFA] Fix gdb snapshots

Simon Marchi simon.marchi@polymtl.ca
Wed Nov 29 16:42:00 GMT 2017


On 2017-11-29 11:31, Tom Tromey wrote:
> Joel pointed out that gdb snapshots were broken by my Makefile patch
> series.  The bug is that rmdir in distclean was failing, because the
> directories in question did not exist.  The simplest fix was to just 
> use
> "rm -rf", which won't fail if the directory is missing.
> 
> Tested using "src-release.sh gdb".
> 
> 2017-11-29  Tom Tromey  <tom@tromey.com>
> 
> 	* Makefile.in (distclean): Use "rm -rf", not "rmdir".
> ---
>  gdb/ChangeLog   | 4 ++++
>  gdb/Makefile.in | 4 +++-
>  2 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index ebb969998c..7532016499 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,3 +1,7 @@
> +2017-11-29  Tom Tromey  <tom@tromey.com>
> +
> +	* Makefile.in (distclean): Use "rm -rf", not "rmdir".
> +
>  2017-11-27  Tom Tromey  <tom@tromey.com>
> 
>  	* Makefile.in (REMOTE_OBS): Remove.
> diff --git a/gdb/Makefile.in b/gdb/Makefile.in
> index 6e16bc6682..39f90bad9f 100644
> --- a/gdb/Makefile.in
> +++ b/gdb/Makefile.in
> @@ -1995,7 +1995,9 @@ distclean: clean
>  	rm -f Makefile
>  	rm -rf $(DEPDIR)
>  	for i in $(CONFIG_SRC_SUBDIR); do \
> -		rmdir $$i/$(DEPDIR); \
> +		# Use rm -rf, not rmdir, to avoid errors when the \
> +		# directory does not exist. \
> +		rm -rf $$i/$(DEPDIR); \
>  	done
> 
>  maintainer-clean: local-maintainer-clean do-maintainer-clean distclean

As always, I am really not comfortable with using rm -rf in scripts.

Ref: https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/123

Since we know that the .deps directories will only contain files, can we 
do something like this instead (not tested)?

rm -f $$i/$(DEPDIR)/*
rmdir $$i/$(DEPDIR)

Simon



More information about the Gdb-patches mailing list