This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc 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]

GNU C Library master sources branch master updated. glibc-2.28.9000-326-g530504e


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  530504e3a825a63ad4976f24cd50aa9b15d3b91e (commit)
      from  9a0b69703342090b1e3afdc731808e26d95d0c40 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=530504e3a825a63ad4976f24cd50aa9b15d3b91e

commit 530504e3a825a63ad4976f24cd50aa9b15d3b91e
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Nov 28 17:28:50 2018 +0000

    Do not copy glibc sources in build-many-glibcs.py.
    
    Now that build-many-glibcs.py touches at checkout time all files that
    might get rebuilt in the glibc source directory in a normal glibc
    build and test run, this patch stops the script from copying the glibc
    source directory, so that all builds use the original directory
    directly (and less disk space is used, less I/O is involved and cached
    copies of the sources in memory can be shared between all the builds -
    as well as avoiding spurious failures from copying while "git gc" is
    running).  This is similar to how all other components were already
    handled.  Any bugs involving writing into the source directory can be
    dealt with in future as normal bugs, just as such bugs already are
    handled.
    
    Tested with build-many-glibcs.py runs with a read-only glibc source
    directory, with all files not touched by the script having timestamps
    in forwards alphabetical order and separately with all files not
    touched by the script having timestamps in backwards alphabetical
    order.
    
    	* scripts/build-many-glibcs.py (Glibc.build_glibc): Use original
    	source directory instead of a copy.
    	(CommandList.create_copy_dir): Remove.

diff --git a/ChangeLog b/ChangeLog
index 485555f..28d7735 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-11-28  Joseph Myers  <joseph@codesourcery.com>
+
+	* scripts/build-many-glibcs.py (Glibc.build_glibc): Use original
+	source directory instead of a copy.
+	(CommandList.create_copy_dir): Remove.
+
 2018-11-28  Stefan Liebler  <stli@linux.ibm.com>
 
 	* sysdeps/s390/fpu/libm-test-ulps: Regenerated.
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index 376382d..98acabc 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -1440,25 +1440,14 @@ class Glibc(object):
                                                    self.compiler.name, 'glibc',
                                                    self.name)
             installdir = self.compiler.sysroot
-            srcdir_copy = self.ctx.component_builddir('compilers',
-                                                      self.compiler.name,
-                                                      'glibc-src',
-                                                      self.name)
         else:
             builddir = self.ctx.component_builddir('glibcs', self.name,
                                                    'glibc')
             installdir = self.ctx.glibc_installdir(self.name)
-            srcdir_copy = self.ctx.component_builddir('glibcs', self.name,
-                                                      'glibc-src')
         cmdlist.create_use_dir(builddir)
-        # glibc builds write into the source directory, and even if
-        # not intentionally there is a risk of bugs that involve
-        # writing into the working directory.  To avoid possible
-        # concurrency issues, copy the source directory.
-        cmdlist.create_copy_dir(srcdir, srcdir_copy)
         use_usr = self.os != 'gnu'
         prefix = '/usr' if use_usr else ''
-        cfg_cmd = [os.path.join(srcdir_copy, 'configure'),
+        cfg_cmd = [os.path.join(srcdir, 'configure'),
                    '--prefix=%s' % prefix,
                    '--enable-profile',
                    '--build=%s' % self.ctx.build_triplet,
@@ -1497,7 +1486,6 @@ class Glibc(object):
             cmdlist.add_command('check', ['make', 'check'])
             cmdlist.add_command('save-logs', [self.ctx.save_logs],
                                 always_run=True)
-        cmdlist.cleanup_dir('cleanup-src', srcdir_copy)
         cmdlist.cleanup_dir()
 
 
@@ -1582,14 +1570,6 @@ class CommandList(object):
         self.add_command_dir('mkdir', None, ['mkdir', '-p', dir])
         self.use_dir(dir)
 
-    def create_copy_dir(self, src, dest):
-        """Remove a directory and recreate it as a copy from the given
-        source."""
-        self.add_command_dir('copy-rm', None, ['rm', '-rf', dest])
-        parent = os.path.dirname(dest)
-        self.add_command_dir('copy-mkdir', None, ['mkdir', '-p', parent])
-        self.add_command_dir('copy', None, ['cp', '-a', src, dest])
-
     def add_command_dir(self, desc, dir, command, always_run=False):
         """Add a command to run in a given directory."""
         cmd = Command(self.desc_txt(desc), len(self.cmdlist), dir, self.path,

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                    |    6 ++++++
 scripts/build-many-glibcs.py |   22 +---------------------
 2 files changed, 7 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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