[ostree] core: Further fix fallout from archive mode files



commit 5329f1706b2b816f656e5ad4c7661b6fd81f734c
Author: Colin Walters <walters verbum org>
Date:   Fri Feb 24 17:50:44 2012 -0500

    core: Further fix fallout from archive mode files
    
    Continuing from 16c0cfe9b59e2c619d4c57be9c995849af9f659f, we now have
    the problem that we're removing the executable bit, which obviously
    breaks things when we chroot in for a build.  Fix this by masking over
    our bits.

 src/libostree/ostree-core.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c
index 30bda71..929d834 100644
--- a/src/libostree/ostree-core.c
+++ b/src/libostree/ostree-core.c
@@ -687,9 +687,12 @@ ostree_create_file_from_input (GFile            *dest_file,
   if (finfo != NULL)
     {
       mode = g_file_info_get_attribute_uint32 (finfo, "unix::mode");
-      /* Archived content files should always be 0644 */
+      /* Archived content files should always be readable by all and
+       * read/write by owner.  If the base file is executable then
+       * we're also executable.
+       */
       if (is_archived_content)
-        mode = (mode & S_IFMT) | 0644;
+        mode |= 0644;
     }
   else
     {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]