mirror of
https://github.com/ostreedev/ostree.git
synced 2025-02-21 05:57:45 +03:00
core: Ensure we chown created directories too
This commit is contained in:
parent
c32141c2bf
commit
a94e0b8bf8
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user