about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-01-29 13:59:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-01-29 13:59:33 +0000
commite3aa6999d7f59324dfca6131268825bc73ee0375 (patch)
tree944f7ef3cd49717c7a7a8c85cc49d2435f6678f4
parent088de7d0091bdfac4b702ab2060289affc85d6a4 (diff)
downloadglibc-e3aa6999d7f59324dfca6131268825bc73ee0375.tar.gz
glibc-e3aa6999d7f59324dfca6131268825bc73ee0375.tar.xz
glibc-e3aa6999d7f59324dfca6131268825bc73ee0375.zip
Make build-many-glibcs.py clean git source directories.
With the git checkouts of Hurd components in build-many-glibcs.py
involving running autoreconf, there's a risk that generated files
could be left behind by an old autoreconf run (if an old version of
the sources generates those files in the source directory but a new
version does not).

This patch avoids that by using git clean -dxfq when updating git
checkouts.  In this patch, that's conditional on --replace-sources, to
avoid removing any local not-checked-in files someone may have in
their checkout unless the option has been specifically passed that
says it's OK to blow old checkouts away, complete with any local
changes to them.

	* scripts/build-many-glibcs.py (Context.git_checkout): Use git
	clean -dxfq for git updates when replacing sources.
-rw-r--r--ChangeLog3
-rwxr-xr-xscripts/build-many-glibcs.py3
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 14e71d525a..5a930a9a76 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-01-29  Joseph Myers  <joseph@codesourcery.com>
 
+	* scripts/build-many-glibcs.py (Context.git_checkout): Use git
+	clean -dxfq for git updates when replacing sources.
+
 	* scripts/build-many-glibcs.py (Config.build_gcc): Use
 	--disable-libcilkrts unconditionally, not just for the final GCC
 	build for Hurd.
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 0c2ea85b5f..baa6704958 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -816,6 +816,9 @@ class Context(object):
         if update:
             subprocess.run(['git', 'remote', 'prune', 'origin'],
                            cwd=self.component_srcdir(component), check=True)
+            if self.replace_sources:
+                subprocess.run(['git', 'clean', '-dxfq'],
+                               cwd=self.component_srcdir(component), check=True)
             subprocess.run(['git', 'pull', '-q'],
                            cwd=self.component_srcdir(component), check=True)
         else: