[ostree] Drop support for generating initramfs images client side using dracut



commit 16157c61af6069bc79d0731c3e458ebd17a3adeb
Author: Colin Walters <walters verbum org>
Date:   Fri May 31 13:09:27 2013 -0400

    Drop support for generating initramfs images client side using dracut
    
    This is the responsibility of whatever is generating filesystem trees.

 src/ostree/ot-admin-builtin-update-kernel.c |  111 ---------------------------
 1 files changed, 0 insertions(+), 111 deletions(-)
---
diff --git a/src/ostree/ot-admin-builtin-update-kernel.c b/src/ostree/ot-admin-builtin-update-kernel.c
index fe4de98..1437ba3 100644
--- a/src/ostree/ot-admin-builtin-update-kernel.c
+++ b/src/ostree/ot-admin-builtin-update-kernel.c
@@ -86,109 +86,6 @@ get_kernel_from_boot (GFile         *path,
   return ret;
 }
 
-/* generate_initramfs:
- *
- * If there isn't an initramfs in place where we expect one to be, run
- * dracut.  This is really legacy - we now expect trees to come with
- * pregenerated initramfs images.
- */ 
-static gboolean
-generate_initramfs (OtAdminUpdateKernel  *self,
-                    GFile               **out_initramfs_path,
-                    GCancellable         *cancellable,
-                    GError              **error)
-{
-  gboolean ret = FALSE;
-  gs_unref_ptrarray GPtrArray *mkinitramfs_args = NULL;
-  gs_unref_object GSSubprocess *proc = NULL;
-  gs_unref_object GFile *tmpdir = NULL;
-  gs_free char *initramfs_tmp_path = NULL;
-  gs_unref_object GFile *ostree_vardir = NULL;
-  gs_unref_object GFileInfo *initramfs_tmp_info = NULL;
-  gs_unref_object GFile *dracut_log_path = NULL;
-  gs_unref_object GOutputStream *tmp_log_out = NULL;
-  gs_unref_object GFile *initramfs_tmp_file = NULL;
-  gs_unref_object GFile *ret_initramfs_path = NULL;
-
-  ret_initramfs_path = g_file_get_child (self->boot_ostree_dir, "initramfs.tmp");
-  
-  if (!ostree_create_temp_dir (NULL, "ostree-initramfs", NULL, &tmpdir,
-                               cancellable, error))
-    goto out;
-
-      ostree_vardir = ot_gfile_get_child_build_path (self->ostree_dir, "deploy",
-                                                     self->osname, "var", NULL);
-
-      dracut_log_path = ot_gfile_get_child_build_path (ostree_vardir, "log", "dracut.log", NULL);
-      tmp_log_out = (GOutputStream*)g_file_replace (dracut_log_path, NULL, FALSE,
-                                                    G_FILE_CREATE_REPLACE_DESTINATION,
-                                                    cancellable, error);
-      if (!tmp_log_out)
-        goto out;
-      if (!g_output_stream_close (tmp_log_out, cancellable, error))
-        goto out;
-
-      mkinitramfs_args = g_ptr_array_new ();
-      /* Note: the hardcoded /tmp path below is not actually a
-       * security flaw, because we've bind-mounted dracut's view
-       * of /tmp to the securely-created tmpdir above.
-       */
-      ot_ptrarray_add_many (mkinitramfs_args,
-                            "linux-user-chroot",
-                            "--mount-readonly", "/",
-                            "--mount-proc", "/proc",
-                            "--mount-bind", "/dev", "/dev",
-                            "--mount-bind", gs_file_get_path_cached (ostree_vardir), "/var",
-                            "--mount-bind", gs_file_get_path_cached (tmpdir), "/tmp", NULL);
-      ot_ptrarray_add_many (mkinitramfs_args, gs_file_get_path_cached (self->deploy_path),
-                            "dracut", "--tmpdir=/tmp", "-f", "/tmp/initramfs-ostree.img", self->release,
-                            NULL);
-      g_ptr_array_add (mkinitramfs_args, NULL);
-      
-      g_print ("Generating initramfs using %s...\n", gs_file_get_path_cached (self->deploy_path));
-      proc = gs_subprocess_new_simple_argv ((gchar**)mkinitramfs_args->pdata,
-                                            GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
-                                            GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT,
-                                            cancellable, error);
-      if (!proc)
-        goto out;
-      if (!gs_subprocess_wait_sync_check (proc, cancellable, error))
-        goto out;
-          
-      initramfs_tmp_file = g_file_get_child (tmpdir, "initramfs-ostree.img");
-      initramfs_tmp_info = g_file_query_info (initramfs_tmp_file, OSTREE_GIO_FAST_QUERYINFO,
-                                              G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
-                                              cancellable, error);
-      if (!initramfs_tmp_info)
-        goto out;
-
-      if (g_file_info_get_size (initramfs_tmp_info) == 0)
-        {
-          g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-                       "Initramfs generation failed, check dracut.log");
-          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, ret_initramfs_path,
-                                       G_FILE_COPY_OVERWRITE,
-                                       cancellable, error))
-        goto out;
-      
-      if (!gs_shutil_rm_rf (tmpdir, cancellable, error))
-        goto out;
-
-  ret = TRUE;
-  ot_transfer_out_value (out_initramfs_path, &ret_initramfs_path);
- out:
-  return ret;
-}
-
 static gboolean
 grep_literal (GFile              *f,
               const char         *string,
@@ -364,14 +261,6 @@ ot_admin_builtin_update_kernel (int argc, char **argv, OtAdminBuiltinOpts *admin
 
   if (!g_file_query_exists (expected_initramfs_path, NULL))
     {
-      if (src_initramfs_path == NULL)
-        {
-          if (!generate_initramfs (self, &src_initramfs_path,
-                                   cancellable, error))
-            goto out;
-
-        }
-      
       if (!gs_file_linkcopy_sync_data (src_initramfs_path, expected_initramfs_path, G_FILE_COPY_OVERWRITE,
                                        cancellable, error))
         goto out;


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