This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Fix gdb snapshots


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]