GNU C Library master sources branch, master, updated. glibc-2.11-325-g4bc2bcb

drepper@sourceware.org drepper@sourceware.org
Mon Apr 5 18:27:00 GMT 2010


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  4bc2bcba67e870778fb9397f29435ee1b66bebf3 (commit)
      from  247fdc8ee68cf49cd808becce56b2e923b4f776b (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4bc2bcba67e870778fb9397f29435ee1b66bebf3

commit 4bc2bcba67e870778fb9397f29435ee1b66bebf3
Author: Ulrich Drepper <drepper@redhat.com>
Date:   Mon Apr 5 11:26:43 2010 -0700

    Fix aux cache handling in ldconfig with chroot.

diff --git a/ChangeLog b/ChangeLog
index 26b95e3..866ec65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-04-05  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #11149]
+	* elf/ldconfig.c (main): Respect chroot setting when looking for
+	the aux cache.
+
 2010-04-04  Ulrich Drepper  <drepper@redhat.com>
 
 	[BZ #11043]
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index efa6725..b9f1cc2 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -1305,11 +1305,9 @@ main (int argc, char **argv)
 				  p ? (*p = '\0', cache_file) : "/");
 
       if (canon == NULL)
-	{
-	  error (EXIT_FAILURE, errno,
-		 _("Can't open cache file directory %s\n"),
-		 p ? cache_file : "/");
-	}
+	error (EXIT_FAILURE, errno,
+	       _("Can't open cache file directory %s\n"),
+	       p ? cache_file : "/");
 
       if (p)
 	++p;
@@ -1346,8 +1344,17 @@ main (int argc, char **argv)
 	add_system_dir (LIBDIR);
     }
 
+  char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
+  if (opt_chroot)
+    {
+      aux_cache_file = chroot_canon (opt_chroot, aux_cache_file);
+      if (aux_cache_file == NULL)
+	error (EXIT_FAILURE, errno, _("Can't open cache file %s\n"),
+	       _PATH_LDCONFIG_AUX_CACHE);
+    }
+
   if (! opt_ignore_aux_cache)
-    load_aux_cache (_PATH_LDCONFIG_AUX_CACHE);
+    load_aux_cache (aux_cache_file);
   else
     init_aux_cache ();
 
@@ -1356,7 +1363,7 @@ main (int argc, char **argv)
   if (opt_build_cache)
     {
       save_cache (cache_file);
-      save_aux_cache (_PATH_LDCONFIG_AUX_CACHE);
+      save_aux_cache (aux_cache_file);
     }
 
   return 0;

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

Summary of changes:
 ChangeLog      |    6 ++++++
 elf/ldconfig.c |   21 ++++++++++++++-------
 2 files changed, 20 insertions(+), 7 deletions(-)


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



More information about the Glibc-cvs mailing list