diff --git a/src/libgsystem b/src/libgsystem index b4e8a2ae..fe898ee9 160000 --- a/src/libgsystem +++ b/src/libgsystem @@ -1 +1 @@ -Subproject commit b4e8a2ae8684fab55efe74a7fd4b872c934475fd +Subproject commit fe898ee93bdc8a625c460876c8b49428c8977219 diff --git a/src/ostree/ot-admin-builtin-update-kernel.c b/src/ostree/ot-admin-builtin-update-kernel.c index 8e577090..199110b3 100644 --- a/src/ostree/ot-admin-builtin-update-kernel.c +++ b/src/ostree/ot-admin-builtin-update-kernel.c @@ -256,8 +256,24 @@ update_initramfs (OtAdminUpdateKernel *self, goto out; } + if (!gs_file_chmod (initramfs_tmp_file, 0644, cancellable, error)) + { + g_prefix_error (error, "Failed to chmod initramfs: "); + goto out; + } + if (!gs_file_linkcopy_sync_data (initramfs_tmp_file, initramfs_file, cancellable, error)) goto out; + + /* In the fuse case, we need to chown after copying */ + if (getuid () != 0) + { + if (!gs_file_chown (initramfs_file, 0, 0, cancellable, error)) + { + g_prefix_error (error, "Failed to chown initramfs: "); + goto out; + } + } g_print ("Created: %s\n", gs_file_get_path_cached (initramfs_file));