[ostree] core: Ensure we chown created directories too
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] core: Ensure we chown created directories too
- Date: Wed, 7 Dec 2011 02:39:47 +0000 (UTC)
commit a94e0b8bf84c7a0bf1cb6e6cb6a7d548901d48ad
Author: Colin Walters <walters verbum org>
Date: Tue Dec 6 20:16:03 2011 -0500
core: Ensure we chown created directories too
src/libostree/ostree-core.c | 11 ++++++++++-
src/libostree/ostree-repo.c | 16 +++++++---------
2 files changed, 17 insertions(+), 10 deletions(-)
---
diff --git a/src/libostree/ostree-core.c b/src/libostree/ostree-core.c
index e4fc1f0..8bd0648 100644
--- a/src/libostree/ostree-core.c
+++ b/src/libostree/ostree-core.c
@@ -884,7 +884,16 @@ ostree_create_file_from_input (GFile *dest_file,
}
dest_path = ot_gfile_get_path_cached (dest_file);
- if (S_ISREG (mode))
+ if (S_ISDIR (mode))
+ {
+ if (mkdir (ot_gfile_get_path_cached (dest_file),
+ g_file_info_get_attribute_uint32 (finfo, "unix::mode")) < 0)
+ {
+ ot_util_set_error_from_errno (error, errno);
+ goto out;
+ }
+ }
+ else if (S_ISREG (mode))
{
out = g_file_create (dest_file, 0, cancellable, error);
if (!out)
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index 2b896a0..7c9ef11 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -1995,16 +1995,14 @@ checkout_one_directory (OstreeRepo *self,
if (!_ostree_repo_file_get_xattrs (dir, &xattr_variant, NULL, error))
goto out;
- if (mkdir (dest_path, (mode_t)g_file_info_get_attribute_uint32 (dir_info, "unix::mode")) < 0)
- {
- ot_util_set_error_from_errno (error, errno);
- g_prefix_error (error, "Failed to create directory '%s': ", dest_path);
- goto out;
- }
-
- if (!ostree_set_xattrs (dest_file, xattr_variant, cancellable, error))
+ if (!ostree_create_file_from_input (dest_file, dir_info,
+ xattr_variant,
+ NULL,
+ OSTREE_OBJECT_TYPE_FILE,
+ NULL,
+ cancellable, error))
goto out;
-
+
if (!checkout_tree (self, dir, dest_path, cancellable, error))
goto out;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]